Commit Graph

276 Commits

Author SHA1 Message Date
Tanushree Podder
5e1ad5b932 Bug 1458711 - Allow pinch-zooming to be triggered by Mac trackpad gestures (behind a pref); r=botond,mstange
Previously, a feature was added to trigger pinch-zooming on desktops using the
mousewheel and a modifier key of the user's choosing (behind a pref).

To make testing easier on Macs, we wanted to trigger pinch-zooming
through Mac trackpad gestures. This patch enables pinch zooming through
trackpad gestures when the prefs apz.allow-zooming and
dom.meta-viewport.enabled are set to true. Currently, tests for this feature
were performed manually.

We will be using this feature only for internal testing. Later on when zooming
on desktops is more well-behaved, we will create automated tests and ship it.

MozReview-Commit-ID: HQ9OsPA1HPM
2018-05-15 16:03:24 -04:00
Markus Stange
68cd40fe92 Bug 1444373 - Update mBounds on mPopupContentView every time mBounds on the containing window changes. r=spohl
MozReview-Commit-ID: GpwXVOQNgIj
2018-04-09 17:31:49 -04:00
Chris Peterson
6758bf6a84 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D
2018-02-05 22:46:57 -08:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Kartikaya Gupta
004487f0d1 Bug 1410777 - Remove unnecessary code. r=nical
As per the TODO, a size change on an image is supported now, so there should be
no need to delete and re-create the image key when the window overlay image
changes size. And since the cleanup function is not invoked from anywhere else
it can also be removed.

MozReview-Commit-ID: JSmK5YmXjlX
2017-10-26 14:17:19 -04:00
Stephen A Pohl
43f0aa2bb7 Bug 1404664: Restore pinch zoom gesture support on macOS. r=mstange 2017-09-30 23:30:01 -04:00
Stephen A Pohl
3cb03c92a0 Bug 1399086 - Refactor comments and remove gesture support code for macOS 10.7. r=mstange 2017-09-27 15:21:42 -04:00
Jonathan Watt
524fe7da72 Bug 1374110 - Remove magnifyWithEvent and related code. r=mstange
MozReview-Commit-ID: 2FjZ5vo6KyB
2017-09-07 16:00:33 +01:00
Sebastian Hengst
1c36da9196 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4dRrVdftJVy
2017-09-15 11:05:11 +02:00
Markus Stange
35882b6218 Bug 1387594 - Stop getting the font smoothing background color from the theme. r=mattwoodrow
MozReview-Commit-ID: 2r1B8SvEkEl
2017-09-14 23:09:47 +02:00
Josh Aas
295e0369c9 Bug 1394654 - Remove OS X opengl workaround from Mozilla bug 603134. r=mstange 2017-09-02 14:24:00 -04:00
Nicolas Silva
7100d343f6 Bug 1393031 - Use shared memory to pass resource update data. r=jrmuizel 2017-09-14 18:48:55 +02:00
Josh Aas
f1c04a76e1 Bug 1394646 - Cocoa nsChildView: replace string with constant and remove unused code. r=mstange 2017-09-02 13:57:00 -04:00
Makoto Kato
1033d5b085 Bug 1277095 - Look up dictionary by force touch. r=mstange
From 10.10.3, macOS supprts looking up dictionary by force touch.  So we should support it because this is supported by Chrome and Safari.

MozReview-Commit-ID: AcAhieMXOwe
2016-11-16 12:50:37 +09:00
Mason Chang
3f4a3d9c23 Bug 1372602 Make child widgets not visible if the window around it isn't visible on OS X. r=mstange 2017-08-10 21:43:26 -07:00
Mats Palmgren
2ad475275e Bug 1377591 - Make nsCocoaWindow and nsChildView 'final' to devirtualize some calls. r=mstange
MozReview-Commit-ID: 4sXYV9sVEZl
2017-07-05 02:01:45 +02:00
sotaro
6f8f40bd80 Bug 1377314 - Replace ImageKey when image size is changed r=kats 2017-07-04 11:56:04 +09:00
Markus Stange
90ca674902 Bug 1368846 - Display the window buttons when webrender is used. r=kats,mattwoodrow
MozReview-Commit-ID: Ki4ONGxtzyO
2017-06-21 18:58:41 -04:00
Masayuki Nakano
8a4fe66f6a Bug 1339543 part 4 Change nsIWidget::ExecuteNativeKeyBinding() to nsIWidget::GetEditCommands() which just retrieves edit commands for the type r=smaug
Now, nsIWidget::ExecuteNativeKeyBinding() isn't used by anybody for executing
edit commands.  Instead, they need array of edit commands for the key
combination.  So, the method should be renamed to GetEditCommands() and just
return edit commands as an array.

MozReview-Commit-ID: 4G0B1lJ8Lbe
2017-05-19 17:49:41 +09:00
Stephen A Pohl
3c73138c89 Bug 429824: Properly forward native OSX events to the native menu bar if they haven't been handled by the child process in e10s. r=mstange,masayuki 2017-05-15 22:59:35 -04:00
Markus Stange
0d32225513 Bug 1313977 - Don't round fractional mouse coordinates up, because doing so might push them outside the window. r=kats
On my machine, if I have my mouse cursor positioned flush against the right
edge of my screen (which is 1440x900@2x), locationInWindow has an x coordinate
of 1439.99609375. This value was rounded up to an integer screen coordinate of
2880, and for that coordinate we don't find a target APZC, and consequently
refuse to scroll.

MozReview-Commit-ID: CJic4g3Y6Ag
2017-04-15 11:02:09 -04:00
Jim Chen
0911a44f43 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
David Major
cdc5f282eb Bug 1338925: Declare viewDidChangeBackingProperties on NSView. r=mstange
MozReview-Commit-ID: BbIuzPTP3Y8
2017-02-14 10:28:28 +13:00
Nicholas Nethercote
dea84b8d8b Bug 1325234 (part 10) - Final nsIWidget deCOMtamination clean-ups. r=mstange.
This patch converts some NS_IMETHOD and NS_IMETHODIMP occurrences that I missed
in previous bugs.

The patch also removes the Android
nsWindow::{Get,Set}HasTransparentBackground() functions because they're unused.
2016-12-21 15:58:09 +11:00
Nicholas Nethercote
0aafa0e5ec Bug 1325234 (part 9) - Remove remaining NS_IMETHOD_ occurrences from nsIWidget. r=mstange.
|virtual T| is clearer than |NS_IMETHOD_(T)|.
2016-12-21 15:27:20 +11:00
Nicholas Nethercote
bc88544c2d Bug 1325234 (part 8) - Streamline nsIWidget::DispatchEvent. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some
callsites are checked and some aren't.
2016-12-21 11:18:40 +11:00
Nicholas Nethercote
1d43e85bf7 Bug 1325234 (part 7) - Streamline nsIWidget::GetSelectionAsPlaintext. r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
bbbd1bf919 Bug 1325234 (part 6) - Streamline nsIWidget::SetTitle. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult| because some call
sites are checked and others aren't.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
56412157dc Bug 1325234 (part 5) - Streamline nsIWidget::SetCursor (both versions). r=jimm.
This patch changes one from |NS_IMETHOD| to |virtual nsresult| and the other to
|virtual void|.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
343e7a7830 Bug 1325234 (part 4) - Streamline nsIWidget::{SetFocus,SetNonClientMargins}(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual nsresult|.
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
d3809ce662 Bug 1325234 (part 3) - Streamline nsIWidget::Show(). r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion and one other place where the check had
no useful effect (in nsCocoaWindow::HideWindowChrome()).
2016-12-21 11:12:54 +11:00
Nicholas Nethercote
dc2aa85dd7 Bug 1325234 (part 2) - Streamline nsIWidget::Invalidate(). r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual void|. The return value was
only checked in one low-value assertion so I decided it wasn't needed.
2016-12-20 09:55:32 +11:00
Stephen A Pohl
840b5c4e88 Bug 1235162: Replace deprecated drag API on OSX. r=mstange 2016-12-20 14:33:08 -05:00
Nicholas Nethercote
ba591e22dd Bug 1299335 (part 8) - Streamline nsIWidget::Enable. r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.
2016-12-19 20:54:16 +11:00
Nicholas Nethercote
aaca44be3c Bug 1299335 (part 7) - Streamline nsIWidget::{Move,Resize}. r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because every
implementation of these functions always returns |NS_OK|.
2016-12-19 20:54:03 +11:00
Nicholas Nethercote
09f07e09c7 Bug 1299335 (part 5) - Streamline nsIWidget::StartPluginIME. r=mstange.
This patch changes it from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|.
2016-12-16 10:55:18 +11:00
Nicholas Nethercote
545f84822e Bug 1299335 (part 3) - Streamline nsIWidget::SetParent. r=mstange.
This patch removes its return value, because none of the call sites check it
except for one non-vital assertion.
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
30a28fa991 Bug 1299335 (part 1) - Change some nsIWidget function return values from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|. r=jimm.
Specifically: OnDefaultButtonLoaded, AttachNativeKeyEvent, BeginMoveDrag,
BeginResizeDrag, GetAttention. These are all fallible functions whose result is
always checked.

The patch also moves some trivial function definitions from nsBaseWidget.cpp to
nsBaseWidget.h, and removes the android BeginResizeDrag() because it can
use the nsBaseWidget one.
2016-12-16 10:54:02 +11:00
Kartikaya Gupta
0c8045c0a3 Bug 1315706 - Pass a wrapper struct to various CompositorWidget functions. r=dvander
This is the first step in using these functions without having a
LayerManagerComposite at all.

MozReview-Commit-ID: 2zkuB7Ox4Ut
2016-11-07 21:16:52 -05:00
Nicolas Silva
a6c01acd99 Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-07 11:08:32 +02:00
Carsten "Tomcat" Book
35357358a6 Backed out changeset 9fbc16390ef7 (bug 1299860) for bustage on a CLOSED TREE 2016-10-06 17:04:40 +02:00
Nicolas Silva
d416426d9d Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-06 16:39:56 +02:00
Matt Woodrow
c017fba81b Bug 1297879 - Don't allow the cocoa GL context to be opaque if we vibrant regions within the window. r=mstange 2016-09-07 15:35:03 +12:00
Nicholas Nethercote
c52f258188 Bug 1296993 (part 7) - Streamline nsIWidget::CaptureRollupEvents. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
d28f792e7a Bug 1296993 (part 6) - Streamline nsIWidget::SetPluginFocused. r=mstange.
This patch removes the return value, because none of the call sites check it.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
4ddf0a183d Bug 1296993 (part 3) - Streamline nsIWidget::ConstrainPosition. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
5909b3a033 Bug 1296993 (part 1) - Streamline nsIWidget::ReparentNativeWidget. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Puts an empty implementation into nsBaseWidget.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
2016-08-25 13:43:26 +10:00
Nicholas Nethercote
ab7ae3b80d Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt. 2016-08-10 10:04:11 +10:00
Nicholas Nethercote
52a89402d9 Bug 1293596 (part 4) - Tweak nsIWidget::Create. r=mstange.
They don't need to be NS_IMETHOD, but they should be MOZ_MUST_USE. Adding the
latter catches a few missing checks, which the patch adds.

The patch also gives PuppetWidget an InfallibleCreate() function, which makes
the infallibility of PuppetWidget creation clear.
2016-08-19 09:03:17 +10:00
Nicholas Nethercote
8b8bd02a31 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00