Commit Graph

385 Commits

Author SHA1 Message Date
Nicholas Nethercote
2b2601e107 Bug 1402743 - Remove nsIDOMWindowUtils::getCursorType(). r=bkelly.
It has no users in mozilla-central or comm-central. This also lets us remove
nsBaseWidget::GetCursor().
2017-09-25 11:46:07 +10:00
Nicholas Nethercote
721eb311ac Bug 1400148 - Don't use -1 to represent an unset nsCursor. r=karlt.
Because UBSan complains about casting -1:

> runtime error: load of value 4294967295, which is not a valid value for type 'nsCursor'
2017-09-15 14:34:37 +10:00
Nicolas Silva
7100d343f6 Bug 1393031 - Use shared memory to pass resource update data. r=jrmuizel 2017-09-14 18:48:55 +02:00
Kirk Steuber
1a30465ba0 Bug 1362382 - Move RegisterDragDrop to be called during idle time, if possible r=jimm
Additionally, do not call RegisterDragDrop for hidden windows.

MozReview-Commit-ID: Fv8j9FntGGT
2017-08-30 11:18:25 -07:00
Botond Ballo
601cc1a4e1 Bug 1105109 - Have the parent process notify APZ of the start and stop of autoscrolling. r=kats
The messages are routed through nsITabParent, nsIWidget, and IAPZCTreeManager
(the latter possibly remoted via PAPZCTreeManager if out-of-process compositing
is used).

MozReview-Commit-ID: 1zXzLa1fqpG
2017-07-26 19:33:02 -04:00
Beekill95
d6972c29f0 Bug 1331932 - Suppress window animations while we're restoring window dimension. r=mikedeboer,jimm,mstange 2017-06-22 14:27:05 +07:00
Kartikaya Gupta
43b4241f6f Bug 1379252 - Remove unused argument. r=rbarker
MozReview-Commit-ID: 7G8i0G9LyvZ
2017-07-07 14:56:10 -04: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
Edgar Chen
9ecece4cc2 Bug 1236512 - Part 1: Send "occlusionstatechange" custom event when occlusion state in Mac is changed; f=spohl; r=mstange
MozReview-Commit-ID: GTBeH4UwZiU
2017-05-26 18:09:34 +08:00
Carsten "Tomcat" Book
38d49a9419 Backed out changeset 844d46609652 (bug 1236512) for test failures in own test 2017-06-20 14:30:54 +02:00
Edgar Chen
cde6168a4b Bug 1236512 - Part 1: Send "occlusionstatechange" custom event when occlusion state in Mac is changed; f=spohl; r=mstange
MozReview-Commit-ID: GTBeH4UwZiU
2017-05-26 18:09:34 +08:00
Markus Stange
734baab7b8 Bug 1370034 - Add nsIWidget::SetWindowTransform and implement it on Mac. r=spohl
MozReview-Commit-ID: 6tghHjKe6pb
2017-06-14 19:15:10 -04:00
Markus Stange
a7259754a4 Bug 1370034 - Add nsIWidget::SetWindowOpacity and implement it on Mac. r=spohl
MozReview-Commit-ID: ILqHQuQ4whl
2017-06-14 19:14:02 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
3091bfd014 Bug 1370034 - Add nsIWidget::SetWindowTransform and implement it on Mac. r=spohl
MozReview-Commit-ID: 6tghHjKe6pb
2017-06-14 19:15:10 -04:00
Markus Stange
8c6c962925 Bug 1370034 - Add nsIWidget::SetWindowOpacity and implement it on Mac. r=spohl
MozReview-Commit-ID: ILqHQuQ4whl
2017-06-14 19:14:02 -04:00
Manish Goregaokar
c74f06b517 Bug 1367275 - Part 2: stylo: Support -moz-window-shadow; r=xidorn
MozReview-Commit-ID: LiYlfmaCfHH
2017-05-27 13:21:44 -07:00
Masayuki Nakano
c6e34e8c96 Bug 1339543 part 6 PBrowser::RequestNativeKeyBindings() should retrieves edit commands only for specified type r=smaug
PBrowser::RequestNativeKeyBindings() is used only when somebody tries to
execute native key bindings for synthesized keyboard events.  Therefore, it
doesn't need to retrieve edit commands for all editor types.  Instead, it
should take the editor type and just return the edit commands for it.

MozReview-Commit-ID: HF4Gz99SBQP
2017-05-19 18:46:02 +09: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
David Anderson
5f20982464 Don't synchronously composite when resizing widgets on Windows. (bug 1361257, r=bas) 2017-05-05 01:10:48 -07:00
Carsten "Tomcat" Book
63fbb13aec merge mozilla-inbound to mozilla-central a=merge 2017-04-21 10:57:02 +02:00
Masayuki Nakano
fcf7a62eba Bug 1217700 part.1 nsIWidget should return reference to IMENotificationRequests r=m_kato
IMEContentObserver may need to change notifications to send when TextInputProcessor begins input transaction.  In current design, IMEContentObserver needs to retrieve IMENotificationRequests at every change.  However, if nsIWidget returns a reference to its IMENotificationRequests, IMEContentObserver can call it only once.

For that purpose, this patch changes nsIWidget::GetIMENotificationRequests() to nsIWidget::IMENotificationRequestsRef() and make it return |const IMENotificationRequests&|.  However, if the lifetime of the instance of IMENotificationRequest is shorter than the widget instance's, it's dangerous.  Therefore, it always returns TextEventDispatcher::mIMENotificationRequests.  TextEventDispatcher's lifetime is longer than the widget.  Therefore, this guarantees the lifetime.

On the other hand, widget needs to update TextEventDispatcher::mIMENotificationRequests before calls of nsIWidget::IMENotificationRequestsRef().  Therefore, this patch makes TextEventDispatcher update proper IMENotificationRequests when it gets focus or starts new input transaction and clear mIMENotificationRequests when it loses focus.

Note that TextEventDispatcher gets proper requests both from native text event dispatcher listener (typically, implemented by native IME handler class) and TextInputProcessor when TextInputProcessor has input transaction because even if TextInputProcessor overrides native IME, native IME still needs to know the content changes since they may get new input transaction after that.

However, there may not be native IME handler in content process.  If it runs in Android, PuppetWidget may have native IME handler because widget directly handles IME in e10s mode for Android.  Otherwise, native IME handler is in its parent process.  So, if TextInputHandler has input transaction in content process, PuppetWidget needs to behave as native event handler.  Therefore, this patch makes PuppetWidget inherit TextEventDispatcherListener and implements PuppetWidget::IMENotificationRequestsRef().

MozReview-Commit-ID: 2SW3moONTOX
2017-04-15 01:35:58 +09:00
Randall Barker
c955f482b1 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Masatoshi Kimura
c2c48aea55 Bug 1356565 - Use AddFloatVarCache to cache layout.css.devPixelsPerPx. r=kanru
MozReview-Commit-ID: HZ9pBiU17H3
2017-04-09 01:28:54 +09:00
Masayuki Nakano
6d6b3d0a27 Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato
MozReview-Commit-ID: 2rIXTlwA6my
2017-04-11 21:24:55 +09:00
Masatoshi Kimura
743b848027 Bug 1353493 - Cache the return value for nsIWidget::DefaultScaleOverride(). r=kanru
MozReview-Commit-ID: ExP179bxbHe
2017-04-06 23:30:09 +09:00
Brendan Dahl
85f151ac59 Bug 1338004 - Add headless browser mode. r=jrmuizel, r=ted
Supports creating a windowless browser on Linux without an X server. Most of the
changes are just adding branches to avoid calls in to GTK which calls
into X. Some of the bigger additions were adding a separate headless widget
which implements just enough to render a page. A headless look and
feel were also added since there are many calls into GTK in the platform
specific one.
2017-04-04 10:22:00 -04:00
Kartikaya Gupta
6463b8f71f Bug 1343977 - Extract nsAutoRollup into a more self-contained class and clean it up some. No functional changes intended. r=enndeakin+6102
This just decouples nsAutoRollup from the widget class, which it isn't really
bound to anyway because the internal data is static. We'll need to be able to
use nsAutoRollup independently in the next patch.

MozReview-Commit-ID: 1dxSLTr4g1K
2017-03-13 10:44:56 -04:00
David Anderson
f66c19353f Remove Composer2D remnants. (bug 1339353, r=kats) 2017-02-14 12:29:39 -08: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
Nicholas Nethercote
3343e46c62 Bug 1325234 (part 1) - Streamline nsIWidget::NotifyIME. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult|. The callsites
were a mix of checked and unchecked so using |MOZ_MUST_USE| didn't feel
appropriate.
2016-12-20 09:55:30 +11: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
cde4c98d3e Bug 1299335 (part 6) - Streamline nsIWidget::{Move,Resize}Client(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because the return
values are never used.
2016-12-19 14:38:19 +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
effeac0413 Bug 1299335 (part 4) - Streamline nsIWidget::HideWindowChrome. r=mstange.
This patch does the following.

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

- Removes the empty implementations from the android nsIWidget instance,
  because it can use the nsBaseWidget one.
2016-12-16 10:54:12 +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
0f1cbfb57b Bug 1299335 (part 2) - Streamline nsIWidget::SetIcon. r=mstange.
This patch does the following.

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

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.
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
KuoE0
735e3ea310 Bug 1282003 - (Part 3) Add screen ID to nsWindow and GeckoView to get the correct nsScreen and density. r=snorp
MozReview-Commit-ID: Cd9MS2I1RRQ
2016-09-29 14:23:56 +08:00
Sebastian Hengst
9117c90e52 Backed out changeset 1d7748535fa3 (bug 1282003) 2016-10-06 20:37:00 +02:00
KuoE0
ed9d81a85f Bug 1282003 - (Part 3) Add screen ID to nsWindow and GeckoView to get the correct nsScreen and density. r=snorp
MozReview-Commit-ID: Cd9MS2I1RRQ
2016-09-29 14:23:56 +08:00