Commit Graph

21885 Commits

Author SHA1 Message Date
Randall Barker
dd168bca55 Bug 1359618 - Prevent LayerView from accessing the compositor until UiCompositorControllerChild is open r=jchen
MozReview-Commit-ID: 3SmdJx0QXW8
2017-04-28 08:37:41 -07:00
Carsten "Tomcat" Book
1045b9730a merge mozilla-inbound to mozilla-central a=merge 2017-04-28 10:36:11 +02:00
Shing Lyu
c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu
435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00
Iris Hsiao
5822a99946 Backed out changeset f7685ecd789d (bug 1350634) for marionette crashes 2017-04-28 10:43:34 +08:00
Jim Chen
c3aa7c74d4 Bug 1353799 - 2. Update current composition when setting/removing spans; r=esawin
Update the composition when setting/removing spans, so that we update
the selection/cursor during a composition. However, we must limit any
updating to the current composition only (as indicated by the
keep-current-composition flag), because the Facebook comment box behaves
incorrectly if we repeatedly start and end new compositions.
2017-04-27 20:59:42 -04:00
Masayuki Nakano
3456c02e0a Bug 1358958 part.2 Implement TextInputHandler::InsertNewline() to handle "insertNewline:" command r=m_kato
Due to bug 1358958, simply inserting a line breaker with composition events doesn't work as expected in HTML editor.  Therefore, we need to dispatch "fake" Enter keypress event even if it's not handling Enter key actually or shouldn't dispatch keypress event anymore.

The method tries to dispatch Enter keypress event.  If it's handling Enter key press actually and can dispatch keypress event normally, it dispatches Enter keypress event as-is.  Otherwise, it tries to dispatch "fake" Enter keypress.  It doesn't have Control, Option and Command key state for emulating to insert a line breaker.  Additionally, its code value is not set to "Enter" because the fake key event isn't a physical key event.

If it cannot dispatch Enter keypress event, it dispatches composition events to insert "\n" even though it won't work in HTML editor.

MozReview-Commit-ID: 7AsJLKS8Tgz

--HG--
extra : rebase_source : 03a8628fd35eff404792691de0d2600f11ef1614
2017-04-27 21:44:58 +09:00
Masayuki Nakano
e12339e622 Bug 1358958 part.1 Don't consume command when neither keydown nor keypress event was consumed r=m_kato
When typing Enter key when active keyboard layout is Korean IME and it has composition string, the composition string is committed and then, "insertNewline:" command is sent. However, TextInputHandler::DoCommandBySelector() consumes the command because the key event has already modified the composition string.

This patch makes TextInputHandler::DoCommandBySelector() consume the command if it's not handling keydown or neither dispatched keydown event nor dispatched keypress event (if it does) is consumed. Therefore, insertNewline:sender of nsChildView will be called later, then, it causes inserting a line break with a set of composition events.

MozReview-Commit-ID: Afr1FKZbUtL

--HG--
extra : rebase_source : 0c43986907553750b63bed0c95b3d5aaa1b16bea
2017-04-26 20:39:13 +09:00
David Anderson
689908c568 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.

--HG--
extra : rebase_source : 4b29b859aa5745fabe3db0fe68742328fc0af175
2017-04-26 10:32:57 -07:00
Masatoshi Kimura
a4c9e326d4 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa

--HG--
extra : rebase_source : 263b18d1736b09bb62d914f066481281966b288c
2017-04-25 07:33:13 +09:00
Andrea Marchesini
8beb8af7d4 Bug 1357846 - Introducing nsIFilePicker.displaySpecialDirectory, r=smaug
nsIFilePicker.displaySpecialDirectory is a string that can be set to TmpD,
Desk, or any other special directory value. The real value of this directory
will be read in the parent process.
2017-04-26 18:20:19 +02:00
Sebastian Hengst
ceff3b0678 Backed out changeset 1f9d0f8e65b9 (bug 1351548) 2017-04-26 13:13:05 +02:00
Sebastian Hengst
f46ebb0d94 Backed out changeset aebb0ceeb20a (bug 1351548) 2017-04-26 13:12:53 +02:00
Shing Lyu
96b400c04a Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: Gn0fbS4PZ7i
2017-04-26 18:21:52 +08:00
Shing Lyu
dae014d9d5 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-26 18:21:43 +08:00
Wes Kocher
5e8bdb175d Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Andrea Marchesini
c4efbc7670 Bug 1358109 - Use IPCBlob in PFilePicker, r=smaug 2017-04-25 14:07:30 +02:00
Jeremy Chen
3e5064f08f Bug 1348173 - stylo: combined gecko side patch for -moz-border-*-colors support. r=heycam
MozReview-Commit-ID: 53gWkWKJNmV

--HG--
extra : rebase_source : 5bd1ddaf954533094c77a3ca5bdf9f3c3441056f
2017-04-25 14:50:44 +08:00
Iris Hsiao
28a432c0ec Backed out changeset 9c7c061b959f (bug 1348173) for hazard busted 2017-04-25 14:24:10 +08:00
Aryeh Gregor
af57d2df0f Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2

--HG--
extra : rebase_source : 199ab921acfc531b8b85e77f90fcd799b03c887b
2017-04-20 15:45:37 +03:00
Jeremy Chen
9cd2c96926 Bug 1348173 - stylo: combined gecko side patch for -moz-border-*-colors support. r=heycam
1. add binding functions for -moz-border-*-colors support.

  In Gecko, we use double pointers to nsBorderColors to store -moz-border-*-colors.
  The computed values of -moz-border-*-colors are set by couple member functions.

  To pass the computed value from Servo to Gecko, we need support for these member
  functions as well. So, I'm adding some binding functions in this patch. The
  actual use of these bindings to pass/store the computed values is separated
  in the following patch, which should be a pure Servo change. See servo PR:
  https://github.com/servo/servo/pull/16586.

2. update test expectations for -moz-border-*-colors support.

  Note that with the support of -moz-border-*-colors, 165 mochitests and 17 reftests
  could be fixed.

MozReview-Commit-ID: KDbp8C6Aoqd

--HG--
extra : rebase_source : 7d9675d9ece091ea6957dcae7d28c39066e69035
2017-04-24 18:23:52 +08:00
Kit Cambridge
c32b6bb66b Bug 1359290 - Fix "notifiction" typos. r=markh
MozReview-Commit-ID: 1d9QQUQckQW

--HG--
extra : rebase_source : 2c24a54476f0e970db8d18afae7c4232206b8bd2
2017-04-24 18:51:45 -07:00
Sebastian Hengst
9a4acf2991 Backed out changeset dec83a85f824 (bug 1358109) for failing mochitest dom/indexedDB/test/test_blob_worker_xhr_read_slice.html. r=backout 2017-04-24 15:44:10 +02:00
Andrea Marchesini
25e4c65c6d Bug 1358109 - Use IPCBlob in PFilePicker, r=smaug 2017-04-24 12:16:49 +02:00
Iris Hsiao
73a19d020e Backed out changeset 9f2fe5e3f78c (bug 1357307) for assertion failure at nsXPLookAndFeel.cpp 2017-04-24 15:28:01 +08:00
vincentliu
31140c21b1 Bug 1357307 - Make sure gfxPrefs instance is created before accessing it. r=milan 2017-04-24 14:10:17 +08:00
Iris Hsiao
8b9629d52e Merge mozilla-central to mozilla-inbound 2017-04-24 12:04:12 +08:00
Jim Mathies
8bca136933 Bug 1351676 - Add Windows theme related look and feel values to the content process look and feel cache. r=mconley
MozReview-Commit-ID: FFGLOnH2TQS

--HG--
extra : rebase_source : d72db64c56821fb657555b9308f3ed01a35f64fa
2017-04-13 11:13:49 -05:00
Sebastian Hengst
7fccfb74e9 merge mozilla-central to autoland. r=merge a=merge 2017-04-22 10:49:35 +02:00
Sebastian Hengst
473a1509ea merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 289I7nCINwK
2017-04-22 10:48:16 +02:00
Brendan Dahl
0dd2fb109f Bug 1353938 - Add a basic clipboard for headless.
Adds a headless clipboard that supports copying
and pasting text.
2017-04-21 15:21:51 -07:00
Markus Stange
fcbd8c5f38 Bug 1355340 - Don't attempt to accumulate line scrolls for line scroll events. r=masayuki
MozReview-Commit-ID: 6xvqJBVupYo

--HG--
extra : rebase_source : b7918ff3cea65061f958ab18f9dd1ec1a5a9a208
2017-04-20 15:21:48 -04:00
Carsten "Tomcat" Book
975e251aff merge mozilla-inbound to mozilla-central a=merge 2017-04-21 10:57:02 +02:00
Masayuki Nakano
d457e48592 Bug 1217700 part.4 Add automated tests for IMEContentObserver r=m_kato
IMEContentObserver notifies IME of 3 notifications at most when editor is changed.

The order is:
1. text change (with merged range if 2 or more change occurred during an edit transaction)
2. selection change (only the latest selection change. other changes occurred before that during an editor transaction are ignored)
3. position change (scrolled, resized, window moved, etc)

This does not check the behavior in designMode because some operation in testWithHTMLEditor() causes unexpected behavior, e.g., moving focus. It *might* be bug of design mode.  However, it doesn't matter for this bug.  The important thing of this bug is, there should be automated tests for IMEContentObserver.  And fortunately, IMEContentObserver does not check the type of editor.  So, it's enough to test only contenteditable element for HTMLEditor at least for now.  Therefore, I gave up to test it in designMode for now.

MozReview-Commit-ID: 7L6ZlbVMU2P

--HG--
extra : rebase_source : 8282fe7aa2f4d405f2576f05d46b60b044223855
2017-04-19 21:57:58 +09:00
Manish Goregaokar
0fbbeaac11 Bug 1349417 - Part 10: Use mutex to guard system font computation; r=bholley
MozReview-Commit-ID: CBKdItjolm9
2017-04-21 15:41:02 -07:00
Masayuki Nakano
7b52d07cd2 Bug 1217700 part.2 IMEContentObserver should observe all possible notifications and check if it should be notified when it occurs r=m_kato
IMEContentObserver can store pointer of IMENotificationRequests of its mWidget.  Therefore, it can check the requests dynamically when it receives content change or layout change.

This patch makes IMEContentObserver stores IMENotificationRequests as pointer and check it at every change notification received.  Additionally, notification request may be changed due to focus move or something.  Therefore, this patch makes IMEContentObserver and IMEContentObserver::IMENotificationSender() check if the notifications are still necessary.

MozReview-Commit-ID: 2uU2wN15D8v

--HG--
extra : rebase_source : 6086e0293343632df43087c767ad00521e764476
2017-04-13 14:32:12 +09:00
Masayuki Nakano
0789f7b595 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

--HG--
extra : rebase_source : d2634ada6c33dbf7a966fadb68608411ee24bfab
2017-04-15 01:35:58 +09:00
Chris Peterson
9149c50f65 Bug 1356843 - Fix -Wcomma warnings in widget/cocoa/nsDeviceContextSpecX.mm. r=spohl
clang's -Wcomma warning warns about suspicious use of the comma operator such as between two statements.

widget/cocoa/nsDeviceContextSpecX.mm:246:26 [-Wcomma] possible misuse of comma operator here
widget/cocoa/nsDeviceContextSpecX.mm:247:32 [-Wcomma] possible misuse of comma operator here

MozReview-Commit-ID: GhZQgNemLAE

--HG--
extra : rebase_source : 0bcc8d425ba700eb6025ad92b2999c16e07a082b
extra : source : 753076ad649966f1a9fa0c0e8bd3213ece860d28
2017-03-27 21:26:25 -07:00
Carsten "Tomcat" Book
7bcdfe36bc Merge mozilla-central to autoland 2017-04-19 10:57:24 +02:00
Carsten "Tomcat" Book
44e9c21039 merge mozilla-inbound to mozilla-central a=merge 2017-04-19 10:32:48 +02:00
Jim Chen
8c1d0c7cd6 Bug 1356563 - Only set global ready state on native widget loading; r=snorp
Our "chrome-document-loaded" observer may detect several different types
of widgets that can exist in the parent process, including the Android
nsWindow, PuppetWidget, etc. We should only set the global state to
ready when the first top-level nsWindow has loaded, and not just any
window.
2017-04-18 17:42:59 -04:00
Mike Hommey
33a7e408ce Bug 1357323 - Remove the gonk code that was referenced by the build system. r=gps
--HG--
extra : rebase_source : 1d30ebcbdbcf596c944e1eec981f85db341485e5
2017-04-18 17:46:39 +09:00
Mike Hommey
34e619d1c1 Bug 1357323 - Remove support for gonk in the build system. r=gps
Everything depending on the widget being gonk can go away, as well as
everything depending on MOZ_AUDIO_CHANNEL_MANAGER, which was only
defined on gonk builds under b2g/ (which goes away in bug 1357326).

--HG--
extra : rebase_source : 9f0aeeb7eea8417fa4e06d662d566d67ecaf2a24
2017-04-18 16:56:09 +09:00
Mike Conley
1f5fc5c065 Bug 1356575 - Don't warn on SetTransparencyMode on Windows if the mode isn't actually changing. r=jimm
MozReview-Commit-ID: J7dV0xKuEL7

--HG--
extra : rebase_source : bdf309e0fbae9d78a7b6968b3e43e0fdeb0edc94
2017-04-18 14:35:38 -04:00
Jim Mathies
e1d348db3d Bug 1344907 - Fire observer events informing front end about changes in input method (touch vs. pointer input). r=masayuki
MozReview-Commit-ID: 4YOKD0tWZNN
2017-04-18 10:19:02 -05:00
Masatoshi Kimura
df6ee97f6a Bug 1356218 - Make screen.colorDepth multi-monitor aware. r=jimm
MozReview-Commit-ID: JrQL23DgZsw

--HG--
extra : rebase_source : 932e17cc61ba1a7344b1740ed14ece0484200e32
2017-04-18 00:21:55 +09:00
Sebastian Hengst
cfea98eabf merge mozilla-central to autoland. r=merge a=merge 2017-04-15 20:08:03 +02:00
Sebastian Hengst
8bd051237a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JpAhOPjgvkF
2017-04-15 19:59:24 +02:00
Markus Stange
10503b8ef0 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

--HG--
extra : rebase_source : 6e2405e9370046b5359d3800c1d0f70c3059074e
2017-04-15 11:02:09 -04:00
Markus Stange
7463009e1d Bug 1348424 - Drop the window's reference to mColor before releasing it. r=spohl, a=dveditz
MozReview-Commit-ID: LwRZwLpFUtD

--HG--
extra : rebase_source : 4efacd0e82cdcca5a1ec6d459a91dc58cb424d20
extra : histedit_source : b52922153beb627f498ba46ecc7504e011760bc1
2017-04-07 18:07:50 -04:00