Граф коммитов

1219 Коммитов

Автор SHA1 Сообщение Дата
Sebastian Hengst 3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken 0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Emilio Cobos Álvarez 0ad7abf15e Bug 1441009: Don't null-check OwnerDoc. r=smaug
Can't return null.

MozReview-Commit-ID: JzcNwmsCxIu
2018-02-26 00:31:42 +01:00
Boris Zbarsky 4643230674 Bug 1455055 part 6. Clean up HandleEvent implementations in dom. r=masayuki
MozReview-Commit-ID: Ht7HQEhVS8E
2018-04-20 00:49:30 -04:00
Boris Zbarsky 2b6097ae6d Bug 1455055 part 1. Convert nsIDOMEventListener to taking an Event, not an nsIDOMEvent. r=masayuki
This does no cleanup other than what's needed to compile.  Cleanup coming up in
later patches.

MozReview-Commit-ID: 3sOnkj71n09
2018-04-20 00:49:29 -04:00
Hiroyuki Ikezoe 1b0cba9367 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr

--HG--
extra : rebase_source : 8d2a917eb62cf341e4e1810451fd01c01dbc3bad
2018-02-21 07:00:10 +09:00
Dorel Luca f41b03eca9 Backed out changeset 38577c007450 (bug 1424371) for Marionett test failure on testing/marionette/harness/marionette_harness/tests/unit/test_window_maximize.py. CLOSED TREE 2018-02-19 22:15:23 +02:00
Milan Sreckovic 7571df7e7c Bug 1424371: Use BaseRect access methods instead of member variables in dom/ r=qdot
MozReview-Commit-ID: HXWhggOMIEK

--HG--
extra : rebase_source : 9c9eacf80d2b7f78faa82a1549170b98d12cdaa8
2018-02-19 12:56:10 -05:00
Jeff Muizelaar 96c7a33c31 Bug 1438425. Delete DocumentRenderer. r=jesup
It is unused.
2018-02-15 16:28:02 -05:00
James Teh d557fc0b1d Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Andreea Pavel 3d2179915d Backed out changeset e68169412c0b (bug 1431404) for failing mochitest browser chrome at browser/base/content/test/general/browser_datachoices_notification.js on a CLOSED TREE 2018-02-13 03:28:44 +02:00
James Teh 3f381e616f Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Masayuki Nakano a04da0af59 Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k

--HG--
extra : rebase_source : e9b117f5b9afec76e63d57ab8cd86dafb5873789
2018-01-31 17:04:20 +09:00
Tooru Fujisawa 48bb8e02c7 Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
Masayuki Nakano cb5853d299 Bug 1435530 - part 2: Make nsXBLWindowKeyHandler treat eAccessKeyNotFound as eKeyPress event r=enndeakin+6102
Modifiers of shortcut keys may be same as modifier of content access keys.

When focus is in the main process, such eKeyPress event is sent to remote
content first.  Then, and if it's not handled in the remote content,
eAccessKeyNotFound is dispatched into the DOM tree in the main process.
However, nsXBLWindowKeyHandler doesn't handle it as eKeyPress event.  So,
it causes that shortcut keys whose modifier conflicts with content access key
won't be handled.

This patch just makes nsXBLWindowKeyHandler treat eAccessKeyNotFound as
eKeyPress event even though other shortcut keys which are handled by JS
won't be executed.  Perhaps, we should stop using eAccessKeyNotFound but
it's too risky change for now.

MozReview-Commit-ID: IJltg5gwBc5

--HG--
extra : rebase_source : f456eade18cd4fefd2eab6e06f5b00156ac8ad59
2018-02-05 18:27:30 +09:00
Coroiu Cristina c6a942e1bf Merge inbound to mozilla-central r=merge a=merge 2018-01-13 11:55:23 +02:00
Nika Layzell a0d1f16079 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Mike Conley b8af0e6e5a Bug 1430072 - Make the TabParent's default cached value for the DocShell active state be false again. r=mystor
MozReview-Commit-ID: AMAJgD8n0Lp

--HG--
extra : rebase_source : 6e0f4fc222bf4719c421ddf3252fbf7f2d5a2c9d
2018-01-12 17:17:39 -05:00
Mike Conley 2b75bd4264 Bug 1423208 - Make DocShell active state in TabParent default to true, since that's the actual default state. r=mystor
MozReview-Commit-ID: 8JQCW12FYyJ

--HG--
extra : rebase_source : 47769fd4941af002b7c22e0ee2d62c306224c335
2018-01-08 17:52:41 -05:00
Mike Conley fcd80d81ab Bug 1397426 - Expose renderLayers state via nsITabParent and lazily retrieve initial tab states in async tab switcher. r=billm
MozReview-Commit-ID: IIMmwrgJUV6

--HG--
extra : rebase_source : f1faa794791a9c620a1cd7a28c67029134d63933
extra : source : 8994162ee112a8c0a0b33f3404f04ebd9fad1285
2017-12-19 08:44:18 -08:00
Mike Conley c4ca680172 Bug 1397426 - Make TabParent's assume they're rendering layers by default on construction. r=billm
This assumption also mirrors how non-remote browsers have their docShells active by default.

In order to do this, I also have to increase the initial epoch's for the TabParent and TabChild,
as if a RenderLayers has been called. Originally, since the epochs initted at 0, and the epochs
stored by the [Layer|WebRender]TransactionParent were also initted at 0, we'd hit this branch:

https://searchfox.org/mozilla-central/rev/c633ffa4c4611f202ca11270dcddb7b29edddff8/gfx/layers/ipc/LayerTransactionParent.cpp#703

and then we'd never alert the TabParent about the layer upload.

MozReview-Commit-ID: 6PP1eCnisYK

--HG--
extra : rebase_source : 4ca9f692635e3a3a1ec8e626d0db24f2e512ec9a
extra : source : b9b2895b11a32f3da0f4c8fe364bf3bdfc7defb6
2017-11-20 11:41:11 -05:00
Mike Conley 63f3a642a0 Bug 1397426 - Add hasLayers to nsITabParent and use it in the async tab switcher. r=billm
This is necessary because sometimes the async tab switcher will instantiate when
there already exists some background tabs that are rendering via print preview. When
that happens, it's important for the state to be set correctly for them so that we
don't accidentally treat them as still loading, and wait (forever) for them to report
having finished loading.

MozReview-Commit-ID: 2dwo5WlXlgJ

--HG--
extra : rebase_source : 4b1e2fb945f1dc4591c56f836a1caa9adeea9eb4
extra : source : 53bb2bc2b67673572dafc3093280fa72973b3d32
2017-11-17 09:55:29 -08:00
Mike Conley 26b5553c8a Bug 1397426 - When short-circuiting a TabParent::RenderLayers call, still fire the layer tree event if we've been preserving layers. r=billm
MozReview-Commit-ID: 7UT036vUY85

--HG--
extra : rebase_source : 873b6b91973b248c5b11ae8a136811a163f94e81
extra : source : 4dd20bf8c0f696417aea91cc9f48df25cd6a74ac
2017-11-07 15:08:47 -05:00
Mike Conley 632f9545cb Bug 1397426 - Rename mRenderingLayers to mRenderLayers. r=billm
MozReview-Commit-ID: KTDhXM7PRdc

--HG--
extra : rebase_source : 3909bfac189a980784fff998c6a71b1b38e7c9aa
extra : source : 2cd697170fb3c207f9aa342172633c2089508990
2017-11-22 10:21:34 -08:00
Mike Conley 592c9fede9 Bug 1397426 - Add IPC interface to tell TabChild's to render and clear layers, distinct from setting the active state on the DocShell. r=billm
Originally, setting the active state on the DocShell for remote browsers also did the
work of making the TabChild render its layers and upload them to the compositor.

This patch adds a new renderLayers method to nsITabParent which allows more fine-grained
control - we can now, for example, cause layers to be rendered and uploaded without
activating the DocShell.

Note that if one activates or deactivates the DocShell, we'll still do the work of
attempting to render / clear the layers if it hasn't already been done.

MozReview-Commit-ID: KkLaMDTzfHi

--HG--
extra : rebase_source : 6c53729ae4b07c67d9e3de99c12e1165a85ffaac
extra : source : 261be8ec05542a9e50c0ca03a59a8a44997269b7
2017-11-03 10:27:05 -04:00
Mike Conley 0d20da44b7 Backed out changeset 261be8ec0554 (bug 1397426)
--HG--
extra : rebase_source : f43fabcbb096e007ff81261f8249f9b53f5a5d37
2017-12-06 16:10:55 -05:00
Mike Conley 7f920db3d5 Backed out changeset 2cd697170fb3 (bug 1397426)
--HG--
extra : rebase_source : 0562adac1b665941a2800743e5e35089dec5a32c
2017-12-06 16:09:36 -05:00
Mike Conley 4449ce4040 Backed out changeset 4dd20bf8c0f6 (bug 1397426)
--HG--
extra : rebase_source : 0bbbefd4f3488b2286d33ef6d20ec762dab51ee7
2017-12-06 16:06:36 -05:00
Mike Conley 738b920742 Backed out changeset 53bb2bc2b676 (bug 1397426)
--HG--
extra : rebase_source : 7ef95ce8467ed642077b6c141e440428f71fa3f6
2017-12-06 15:56:24 -05:00
Mike Conley c99b8d29a5 Backed out changeset b9b2895b11a3 (bug 1397426)
--HG--
extra : rebase_source : 8fada9f53beffaada9f16122efe5d9570d422e6c
2017-12-06 15:54:06 -05:00
Mike Conley 7721deb74e Backed out changeset 8994162ee112 (bug 1397426)
--HG--
extra : rebase_source : 56ce672d436341260443daa98d553e53974eb1fd
2017-12-06 15:48:54 -05:00
Mike Conley 5b0d6be3e2 Bug 1397426 - Expose renderLayers state via nsITabParent and correctly set initial tab states in async tab switcher. r=billm
MozReview-Commit-ID: IIMmwrgJUV6

--HG--
extra : rebase_source : 00ca04b970feb98d96b082c9b582875d486d2ece
2017-11-22 10:48:10 -08:00
Mike Conley f476b048b2 Bug 1397426 - Make TabParent's assume they're rendering layers by default on construction. r=billm
This assumption also mirrors how non-remote browsers have their docShells active by default.

In order to do this, I also have to increase the initial epoch's for the TabParent and TabChild,
as if a RenderLayers has been called. Originally, since the epochs initted at 0, and the epochs
stored by the [Layer|WebRender]TransactionParent were also initted at 0, we'd hit this branch:

https://searchfox.org/mozilla-central/rev/c633ffa4c4611f202ca11270dcddb7b29edddff8/gfx/layers/ipc/LayerTransactionParent.cpp#703

and then we'd never alert the TabParent about the layer upload.

MozReview-Commit-ID: 6PP1eCnisYK

--HG--
extra : rebase_source : da736415d6b60208fa54bc25fe449cc261e856d8
2017-11-20 11:41:11 -05:00
Mike Conley 752b8e0615 Bug 1397426 - Add hasLayers to nsITabParent and use it in the async tab switcher. r=billm
This is necessary because sometimes the async tab switcher will instantiate when
there already exists some background tabs that are rendering via print preview. When
that happens, it's important for the state to be set correctly for them so that we
don't accidentally treat them as still loading, and wait (forever) for them to report
having finished loading.

MozReview-Commit-ID: 2dwo5WlXlgJ

--HG--
extra : rebase_source : 7d3def56bf6ba12bb6110b60bb3d79329bfc0abd
2017-11-17 09:55:29 -08:00
Mike Conley e2a8eea6ce Bug 1397426 - When short-circuiting a TabParent::RenderLayers call, still fire the layer tree event if we've been preserving layers. r=billm
MozReview-Commit-ID: 7UT036vUY85

--HG--
extra : rebase_source : 2420294925a7c3b341499678f85713d8f212b6d8
2017-11-07 15:08:47 -05:00
Mike Conley 93aa55c535 Bug 1397426 - Rename mRenderingLayers to mRenderLayers. r=billm
MozReview-Commit-ID: KTDhXM7PRdc

--HG--
extra : rebase_source : 055939b8c03b741ef6a0e9da3a2ae5812eefeccf
2017-11-22 10:21:34 -08:00
Mike Conley 4b66a89aa0 Bug 1397426 - Add IPC interface to tell TabChild's to render and clear layers, distinct from setting the active state on the DocShell. r=billm
Originally, setting the active state on the DocShell for remote browsers also did the
work of making the TabChild render its layers and upload them to the compositor.

This patch adds a new renderLayers method to nsITabParent which allows more fine-grained
control - we can now, for example, cause layers to be rendered and uploaded without
activating the DocShell.

Note that if one activates or deactivates the DocShell, we'll still do the work of
attempting to render / clear the layers if it hasn't already been done.

MozReview-Commit-ID: KkLaMDTzfHi

--HG--
extra : rebase_source : 2d00dc71c584a41650696a412b6249aee3a505fe
2017-11-03 10:27:05 -04:00
Makoto Kato f208c7a958 Bug 1419285 - Part 2. IME message should post to correct widget. r=masayuki
After landing bug 1353060, TabParent::GetWidget()'s behaviour is changed.  We
should use GetDocWidget for IME.

MozReview-Commit-ID: 5DpYjzQDHlD

--HG--
extra : rebase_source : f1b827a0d6fe88549ead6a7a68b8bd2fbcaf5487
2017-11-29 15:56:11 +09:00
Makoto Kato 74fb3d9e5f Bug 1419285 - Part 1. Calculate composition rect for remote XUL frame. r=masayuki
Out of process support for Web extension creates another XUL widget for it.
We should calculate correct offset for Web Extension's remote widget.

MozReview-Commit-ID: AaALzLeKLsM

--HG--
extra : rebase_source : da3562d6ec6b93b99d12b0cac4d80d8b91e286fd
2017-11-29 15:55:58 +09:00
Chris Peterson 0e8425b401 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN

--HG--
extra : rebase_source : b20fb24abf0f2ce648c12a827532c0dbeefb6c63
2017-10-24 23:52:56 -07:00
Nicholas Nethercote 3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Botond Ballo 2c1a3530e6 Bug 1340415 - Ensure main-thread and async autoscrolling do not happen at the same time. r=kats
The two happening at the same time can lead to the APZ autoscroll being
cancelled due to APZ receiving a main-thread scroll offset update.

To achieve this:

  - The content process assumes APZ is handling the autoscroll until
    told otherwise.

  - If the parent process knows APZ won't handle an autoscroll, it
    tells the content process via its response to the Autoscroll:Start
    message. This covers all cases where APZ doesn't handle the
    autoscroll, except the case where APZCTreeManager itself rejects
    the autoscroll and it lives in the compositor process rather than
    the parent process.

  - If APZCTreeManager rejects an autoscroll and it lives in the
    compositor process, it sends an 'autoscroll-rejected-by-apz' message
    to the content process.

MozReview-Commit-ID: L62v4COai6W

--HG--
extra : rebase_source : bc4c6417e77461634263defb88e67ed5036c454e
2017-10-18 18:18:13 -04:00
Chung-Sheng Fu 6eb3e9c2c9 Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U

--HG--
extra : rebase_source : 894b16575ebbccc26c5b639d7526cb473501d9d2
2017-08-22 14:23:41 +08:00
Sebastian Hengst 92ee8df522 Backed out changeset 71790f0ea832 (bug 967895) 2017-10-09 19:18:12 +02:00
Chung-Sheng Fu 21db685671 Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U

--HG--
extra : rebase_source : 2d2de5d6c4a7245759fefed468bcc7d82c9cd000
2017-08-22 14:23:41 +08:00
Aaron Klotz aab52dc8f2 Bug 1383501 - Do not crash when TabParent::RecvPDocAccessibleConstructor receives a null COM proxy sent to the parent process. r=jimm
MozReview-Commit-ID: 5IOuLXc375T
2017-10-04 09:12:25 -06:00
Masayuki Nakano a40e30eab7 Bug 1400189 - Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process r=stone
When sending keyboard events from TabParent to its remote process, TabParent
may give higher priority to them than composition events and selectionset event.

Therefore, the event order between keyboard events and composition events (and
selection set event) may be broken.  Keyboard events which should cause
inputting some characters are ignored if keyboard events are fired before
compositionend event accidentally.

This patch gives same priority to composition events and selectionset event
as keyboard event for avoiding breaking the event order.

MozReview-Commit-ID: 53jubwuHVvw

--HG--
extra : rebase_source : ddba2cce5980a354a47ded68e69ef973c00dac4b
2017-09-29 22:03:25 +09:00
Yura Zenevich 1026d186f1 Bug 1362420 - show and hide emulated windows in e10s mode for Dolphin. r=surkov, smaug
MozReview-Commit-ID: VBtgqbLap
2017-09-26 14:59:33 -04:00
Nicholas Nethercote ebf1cb320b 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'

--HG--
extra : rebase_source : 037a96700228ea0d427afa7c25c40490c701cdc4
2017-09-15 14:34:37 +10:00
Stone Shih df20c4bac3 Bug 1399876: Relax the assertion about sending multiple eMouseEnterIntoWidget in TabParent. r=baku.
We may create a browser element and replace it while the TabChild isn't ready to handle input events.
2017-09-15 15:41:53 +08:00
Stone Shih e7ef363bf0 Bug 1397161 - Remove assert(mIsMouseEnterIntoWidgetEventSuppressed) when sending eMouseExitFromWidget to remote. r=smaug 2017-09-06 10:27:52 +08:00
Henry Chang 25f77bb74d Bug 1349255 - Part 1: Make PBrowser.NotifyIMEFocus async to avoid UI jank. r=kanru,masayuki
Telemetry and some performance profiles show that Msg_NotifyIMEFocus can take
a few seconds to complete, and jank the browser. With bug 1217700, it removes
the necessity of sync Msg_NotifyIMEFocus, so in this patch we make this async
for performance improvement.

MozReview-Commit-ID: 15eUwMJ2Q7H

--HG--
extra : rebase_source : b463e6e881ca5ebec00d0f76e29ca103059b3ddd
2017-05-08 19:07:56 +08:00
Stone Shih fca19b3588 Bug 1389314 Part3: Temporarily disable the input priority events when dnd is active. r=smaug.
MozReview-Commit-ID: AWfYmhjjsq0
2017-08-02 15:23:35 +08:00
Stone Shih 2c638fc04f Bug 1389314 Part2: Support enabling and disabling the input priority events in runtime. r=smaug.
MozReview-Commit-ID: 3a2TNVqguVb
2017-07-28 15:14:54 +08:00
Stone Shih 60d437ddc2 Bug 1389314 Part1: Rename event prioritization to input event queue. r=smaug.
MozReview-Commit-ID: 7wPWYwIjIet
2017-07-27 16:20:01 +08:00
Christoph Kerschbaumer e991a21b16 Bug 1370843 - Provide correct triggeringPrincipal for dropLinks. r=smaug,tooru 2017-08-22 10:07:03 +02:00
Stone Shih daa217691b Bug 1351148 Part11: Set remote to be ready to handle input events when pref'ed off. r=smaug.
MozReview-Commit-ID: CO5BU9eOC84
2017-08-10 13:20:58 +08:00
Stone Shih f04c0ccafa Bug 1351148 Part9: Resend a MouseEnterIntoWidget event to TabChild when it's ready to handle input events. r=smaug.
MozReview-Commit-ID: IXPTRyJe1tk
2017-07-24 10:46:40 +08:00
Stone Shih de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih 7de447a25a Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Stone Shih 9d71d0a026 Backed out changeset 3e2a441357ca (bug 1351148) 2017-08-11 15:18:57 +08:00
Stone Shih 6f61a3006c Backed out changeset 4b52e1b335fb (bug 1351148) 2017-08-11 15:18:43 +08:00
Stone Shih 123659cc82 Bug 1351148 Part11: Set remote to be ready to handle input events when pref'ed off. r=smaug.
MozReview-Commit-ID: CO5BU9eOC84
2017-08-10 13:20:58 +08:00
Stone Shih b7e122c35e Bug 1351148 Part9: Resend a MouseEnterIntoWidget event to TabChild when it's ready to handle input events. r=smaug.
MozReview-Commit-ID: IXPTRyJe1tk
2017-07-24 10:46:40 +08:00
Stone Shih 9d1d77d849 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Jan Henning 34bb1f8a36 Bug 1266683 - Part 2 - Add private browsing mode info to InputContext. r=masayuki
Android now supports telling an IME that it shouldn't store user-entered content into it's dictionary/language model/etc. and we want to automatically enable this in private browsing.

As the code that handles input on Android doesn't have any notion of tabs (and therefore of the difference between normal and private tabs), the best way to get that info across is to retrieve it directly within the IMEStateManager from the corresponding document and store it in the inputContext, which is then passed to Java for Fennec to handle.
Implementing this within Gecko also has the benefit that this part of the code can be used by other platforms as well should they want to support similar features in the future.

MozReview-Commit-ID: DsxjC4Ma7DR

--HG--
extra : rebase_source : f0940cb40170ab32cf5a172d07a61d083427be8a
2017-07-30 19:45:03 +02:00
Botond Ballo 61926bc8e4 Bug 1386777 - Interpret autoscroll anchor coordinates correctly when there is a device scale. r=kats
MozReview-Commit-ID: 6caXxWjuqxm

--HG--
extra : rebase_source : 4052dd05a4c05cc8fc4effe0f7911179aa8005d0
2017-08-02 20:11:07 -04:00
Kris Maglione 3a6f096a97 Bug 1380294: Anchor non-tab tooltips to the correct remote browser. r=aswan
MozReview-Commit-ID: EsJEseyfGYi

--HG--
extra : rebase_source : 3b1adbb8d977fd4dfd18c90b335010d4acb80a76
2017-08-01 15:01:06 -07:00
Botond Ballo e54b8b4984 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

--HG--
extra : rebase_source : c482816ecbaec0a889d817851ee15be186b2a49c
2017-07-26 19:33:02 -04:00
Carsten "Tomcat" Book de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Carsten "Tomcat" Book e267d334d9 Backed out changeset 15b71aceffb4 (bug 1383485) 2017-07-28 09:20:02 +02:00
Stone Shih 8aab64fd68 Bug 1383485: Resend a MouseEnterIntoWidget event to TabChild when it's ready to handle input events. r=smaug.
MozReview-Commit-ID: IXPTRyJe1tk
2017-07-24 10:46:40 +08:00
Masayuki Nakano 44d5a33919 Bug 1333459 - part2-2: EventStateManager should check if it needs to wait reply from remote content before handling access keys r=smaug
Currently, access key is handled in EventStateManager::PreHandleEvent() with eKeyPress event, i.e., before dispatching it into the DOM tree, if the access key is registered in EventStateManager.  So, the main process does not check if the preceding eKeyDown event is consumed in focused remote process.

When preceding eKeyDown event is consumed in the main process, eKeyPress event won't be dispatched by widget.  However, if remote process has focus, it's impossible widget to stop dispatching eKeyPress event because preceding eKeyDown event hasn't been handled in the focused remote process yet.  Therefore, main process needs to post eKeyPress event to check if preceding eKeyDown event was consumed.  When eKeyPress event is marked as "waiting reply from remote process", TabChild sends it back to the main process only when preceding eKeyDown event wasn't consumed.  So, only when eKeyPress event is back to the main process, main process should handle accesskey with it.

This patch makes EventStateManager::PreHandleEvent() check if a remote target has focus before handling accesskey.  If a remote process has accesskey and there is an accesskey matching with eKeyPress event, it marks the event as "waiting reply from remote content" and stop propagation in the process.

Finally, when eKeyPress event is sent back to TabParent, TabParent::RecvReplyKeyEvent() calls EventStateManager::HandleAccessKey() before dispatching the reply event into the DOM tree.

MozReview-Commit-ID: KsOkakaIVzb

--HG--
extra : rebase_source : 7e0c6966a1bde085e34d45bca4b0166b9fc2f3f1
2017-07-22 10:50:41 +09:00
Masayuki Nakano 6c68caecd7 Bug 1333459 - part1: Move methods of EventStateManager which check modifiers of access key to WidgetKeyboardEvent r=smaug
EventStateManager checks if every keypress event's modifiers match with access key modifiers which are in prefs. Moving related methods of this to WidgetKeyboardEvent makes EventStateManager simpler and we can hide the NS_MODIFIER_* constants (they may make developers confused between Modifiers of WidgetInputEvent) into WidgetEventImpl.cpp.

MozReview-Commit-ID: 23NUQ51lJ1M

--HG--
extra : rebase_source : 341f3764ef62575577572d8b349159e2d5512b26
2017-07-06 17:36:19 +09:00
Ryan VanderMeulen f4e3a91992 Merge m-c to inbound. a=merge 2017-07-21 09:40:28 -04:00
Sebastian Hengst 367f0ac5a2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IWRTFZdtzaE
2017-07-21 12:56:44 +02:00
Kris Maglione 654f2c0c26 Bug 1374025. Try calling ShowViewer again later if it hasn't succeeded yet when we get a render frame parent. r=tnikkel 2017-07-20 16:24:40 -05:00
Samael Wang e90e4d4b15 Bug 1350643 - Part 7: Remove sync GetDPI/DefaultScale/WidgetRounding. Use primary screen's value until RecvShow. r=kanru
MozReview-Commit-ID: GlDMNecWp3j

--HG--
extra : rebase_source : 1f8573df8845c100172f41febc5a84bbcd069769
2017-05-19 18:20:18 +08:00
Kris Maglione 2cdd464241 Bug 1379508: Part 2 - Ignore transforms when calculating child process offsets. r=kats
The current code is wrong in several ways when transforms are applied, but
even if it were correct, it would give the wrong behavior. See comment in
patch for more details.

MozReview-Commit-ID: 3RaPuvENnWa

--HG--
extra : rebase_source : 25aab67e56f157bdfa500aa7cf029c6ebe90e12a
extra : absorb_source : 4da2fd9f11e008b7b70b86b184ade673a68e6978
2017-07-13 15:33:25 -07:00
Kris Maglione a2e2fa50da Bug 1379508: Part 1 - Apply the correct client offsets to remote frameloaders in popup widgets. r=kats
On-screen coordinates for points in remote frameloads are calculated relative
to the screen origin of the top-level window, while event coordinates are
calculated relative to the nearest widget. Since popups have their own widgets
separate from the top-level window, their native client offsets have no
particular relation to the origin of the top-level window, and we need to
manually calculate them relative to the origin of the top-level widget
instead.

MozReview-Commit-ID: EDyEyu37XuY

--HG--
extra : rebase_source : 5d3f7a3fb9518d7a0cf149b8c2f579805d75eb3b
extra : absorb_source : f48ee4b131ff67ae686d12f81ed2ad19b934e81e
2017-07-13 15:31:55 -07:00
Stone Shih 9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Masayuki Nakano d6e921676c Bug 1377672 - part3: IMEStateManager::NotifyIME() should ignore notifications and requests which comes from unexpected process r=m_kato,smaug
IME should receive notifications and requests only from proper process.  E.g., IME shouldn't commit composition by a request which came from previous focused process.

This patch makes that IMEStateManager::NotifyIME() takes pointer to TabParent optionally.  If the request or notification came from remote process, it should be non-nullptr.  Then, this makes it ignore notifications and requests from unexpected process.

Note that this patch also touches some gfx headers because they use |ipc::| but compiler is confused at the ambiguousness between |mozilla::ipc::| and |mozilla::dom::ipc::|.

Finally, this patch changes the NS_ASSERTION in IMEHandler::OnDestroyWindow() to MOZ_ASSERT because the orange caused by the NS_ASSERTION was not realized since there was already an intermittent orange bug caused by different NS_ASSERTION.

MozReview-Commit-ID: 9CgKXQRJWmN

--HG--
extra : source : f3b5711908870c5e0e852a399a07e0ae721a12f1
2017-07-06 00:47:40 +09:00
Masayuki Nakano 5533f095cb Bug 1377653 - part3: WidgetEvent::mFlags should have a bool flag if it's been posted to at least one remote process r=smaug
Currently, it's not been managed yet that whether an event is posted to at least one remote process.  So, for managing the state, BaseEventFlags should have a new bool flag and WidgetEvent and BaseEventFlags should have helper methods for it.

Additionally, this fixes a bug of nsGUIEventIPC.h. In a lot of ParamTraits, static_cast<Foo> is used for using base class's ParamTraits.  However, it causes creating temporary instance with copy constructor.  Therefore, WidgetEvent::MarkAsPostedToRemoteProcess() call in ParamTraits<mozilla::WidgetEvent>::Write() didn't work as expected.

MozReview-Commit-ID: DdafsbVfrya

--HG--
extra : rebase_source : 94205f3a7b36455c3c9f607c35866be033e627c1
2017-07-05 18:59:44 +09:00
Masayuki Nakano 57f359b0de Bug 1377653 - part2: Add helper methods to WidgetEvent and BaseEventFlags to manage propagation state between parent process and remote process r=smaug
Currently, we have 2 bool flags (and optional 2 bool flags with related purpose) for managing propagation state between parent process and remote process.  However, it's really complicated.  Actually, setting these flags and referring the flags is usually follow explanation.

So, for making simpler, WidgetEvent and BaseEventFlags should have some utility methods for making them as self documented code.

This patch moves WidgetKeyboardEvent::mIsReserved to BaseEventFlags::mIsReservedByChrome.  That allows us to manage the cross process event propagation state in same place.

MozReview-Commit-ID: IXEDQJ4GpAZ

--HG--
extra : rebase_source : 5b63ac4f1d15e40e8bfc88423e336de28caa8ab6
2017-07-05 13:58:41 +09:00
Carsten "Tomcat" Book 5f00ae3a8b merge mozilla-inbound to mozilla-central a=merge 2017-06-29 15:47:04 +02:00
Carsten "Tomcat" Book 257a632d4b Merge mozilla-central to autoland on a CLOSED TREE 2017-06-28 16:33:00 +02:00
Carsten "Tomcat" Book ba466337dd Backed out changeset 4364536ae549 (bug 1343728) 2017-06-28 15:52:04 +02:00
Carsten "Tomcat" Book 6365f16e57 Backed out changeset a1e773337202 (bug 1350633) 2017-06-28 15:52:01 +02:00
Masayuki Nakano 71bb543ee5 Bug 1376424 - part1: TabChild should notify TabParent of "request to commit composition" handled r=m_kato
The problem is, only when requesting IME to commit or cancel composition is handled synchronously, TabParent does not send the dispatched eCompositionCommit(AsIs) event to the remote process.  Therefore, TabParent (and ContentCacheInParent) never receives  the message from the remote process.

This patch makes TabChild notifies TabParent of eCompositionCommitRequestHandled special event message after TabChild dispatches eCompositionCommit into the DOM tree.  Then, ContentCacheInParent should decrease mPendingCompositionCount and mPendingEventsNeedingAck as usual composition event messages.

MozReview-Commit-ID: 7ec5HPiE687

--HG--
extra : rebase_source : a9366abf6f8feec2d6ac639fd37f5b5c6ddd9586
2017-06-27 23:41:12 +09:00
Masayuki Nakano a6f874fcf1 Bug 1376424 - part0: Backout the patch for bug 1368554 r=m_kato
TextComposition in the main process is destroyed when the main process sends eCompositionCommit(AsIs) to focused remote process.  Therefore, ContentCacheInParent::mCompositionPendingCount is never 2 or more now.

It may cause ContentCacheInParent::Assign() setting older composition's start offset to current composition's start offset in the main process.

For making uplift the following patch easier, the wrong patch should be backed out first.

MozReview-Commit-ID: IHWc7qZBQtc

--HG--
extra : rebase_source : d3936fa82ed670217b711d15bbb0201a8741501b
2017-06-27 22:02:07 +09:00
Michael Layzell 3c82b8c224 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-27 16:24:48 -04:00
Michael Layzell 31e36ee704 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-27 16:24:48 -04:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Michael Layzell 17143c4e93 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-28 12:25:32 -04:00
Michael Layzell 83cff4de78 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-28 12:25:30 -04:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Wes Kocher b9d43d4afd Backed out 4 changesets (bug 1343728) for failures in test_group_mouseevents.html a=backout
Backed out changeset 2029cb6bce86 (bug 1343728)
Backed out changeset 0169e09f6030 (bug 1343728)
Backed out changeset 831e95b29f66 (bug 1343728)
Backed out changeset d5630ef01b17 (bug 1343728)

MozReview-Commit-ID: 2RRBTmp5FGj
2017-06-21 17:13:49 -07:00
Wes Kocher 0439cd545d Backed out changeset 36d662fbab77 (bug 1350633) for failures in test_group_mouseevents.html a=backout
MozReview-Commit-ID: Gh9eflBppgq
2017-06-21 17:12:20 -07:00
Michael Layzell f02a75cf86 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-21 14:23:16 -04:00
Michael Layzell 746a415780 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-21 14:23:15 -04:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Sebastian Hengst 7e1b1cf069 Backed out changeset 05a5f9d8249f (bug 1343728) 2017-06-16 22:20:37 +02:00
Sebastian Hengst e8cca2e7cf Backed out changeset 956306ea34f3 (bug 1350633) 2017-06-16 22:20:32 +02:00
Michael Layzell 6648f5c781 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-16 14:59:35 -04:00
Michael Layzell c0d7319a4f Bug 1343728 - Part 3: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-16 14:59:34 -04:00
Michael Layzell b24cba603e Bug 1369627 - Part 2: Send DimensionInfo down to the content process synchronously when creating a new window, r=smaug
MozReview-Commit-ID: GlzJ491RLUE
2017-06-15 14:34:48 -04:00
Masayuki Nakano ec9ae17b0c Bug 1368554 ContentCacheInParent::mPendingCompositionCount should be decreased when TextCompositin which has dispatched composition events to corresponding remote process r=m_kato
ContentCacheInParent::mPendingCompositionCount is now managed with composition events which TabParent received. However, TextComposition doesn't dispatch composition events after coming request to commit active composition.  Therefore, composition is committed forcibly in a remote process over 255 times, the main process crashes.

It's the safest way to use TextComposition to manage ContentCacheInParent::mPendingCompositionCount.

MozReview-Commit-ID: DEhzYcK1zcW

--HG--
extra : rebase_source : a47891b1d620bbe4e380e73134ec6da5d21f4ea9
2017-06-10 02:42:16 +09:00
Christoph Kerschbaumer 86374cab11 Bug 1369014: Do not pass explicitly pass a triggeringPrincipal within nsDocShellTreeOwner::HandleEvent. r=smaug
--HG--
extra : rebase_source : 832b69c0edec7f004afdf410e231adb660df0769
2017-06-07 14:25:46 +02:00
Andrea Marchesini 61f1dc1bf7 Bug 1366356 - Decrease the process priority of content processes that are not running a foreground tab - part 1 - visibility logic, r=smaug 2017-06-07 09:59:00 +02:00
Kris Maglione 3f8c999795 Bug 1362462: Fallback to main document widget for frames which haven't been inserted yet. r=mconley
MozReview-Commit-ID: Ayr2kQ9KqbW

--HG--
extra : rebase_source : db78c2c13f87357f64085685629c0e2f96a5acbf
2017-05-29 13:16:23 -07:00
Andrea Marchesini da7aba03b1 Bug 1368712 - Get rid of nsIBrowserElementAPI.{set,get}Visible, r=kanru 2017-05-31 21:15:23 +02:00
Christoph Kerschbaumer 3fc12a8c6e Bug 1363977 - Have loadTabs() provide the correct triggeringPrincipal. r=gijs,smaug 2017-05-29 21:32:21 +02:00
Carsten "Tomcat" Book bdfe9a25bf Backed out changeset 2b92af4575ae (bug 1357386) 2017-05-30 08:51:22 +02:00
Christoph Kerschbaumer 74a7c96cd0 Bug 1357386: Have loadTabs() provide the correct triggeringPrincipal. r=gijs,smaug 2017-05-30 08:31:08 +02:00
Eden Chuang 68cf4559f8 Bug 1345361 - PaymentRequest constructor implementation. r=baku 2017-05-26 01:50:32 +08:00
Ryan VanderMeulen df9dd3967c Backed out changeset 437d6df1859c (bug 1345361) for ESLint failures. 2017-05-25 18:05:15 -04:00
Eden Chuang 80717194b1 Bug 1345361 - PaymentRequest constructor implementation. r=baku 2017-05-26 01:50:32 +08:00
Ryan VanderMeulen 0bd37c1ea1 Merge inbound to m-c. a=merge 2017-05-23 18:12:57 -04:00
Ehsan Akhgari 1040ee9f65 Bug 1347035 - Store the maximum touch points for each tab child on the object instead of querying it synchronously from the parent actor when neeeded; r=smaug ipc-r=kanru 2017-05-23 17:00:09 -04:00
Mike Conley a6e4cd7b77 Bug 1362866 - Get rid of MozTabChildNotReady event and all of its required infrastructure. r=billm
This event is no longer necessary, since checking nsITabParent.hasPresented is enough to know
if we need to blank out the tab or not.

MozReview-Commit-ID: 445XMqhorxC

--HG--
extra : rebase_source : 1a05de827502c409d979a621471978b08ce39fb2
2017-05-07 21:26:08 -04:00
btian de5fa4f269 Bug 1299390 - part 5: Remove useless AudioChannelService code. r=alwu
Changes:
- remove code addressed by reviewer
- remove PContent.ipdl, PBrowser.ipdl, and ProcessPriorityManager code
  that relates only to removed AudioChannelService methods
- correct test case listening to event from removed code
- remove useless test case files

MozReview-Commit-ID: I96nR8zTXJt

--HG--
extra : rebase_source : 127876c672744811c025ca55839ff2e8a06b1fce
2017-05-18 09:51:53 +08:00
btian eb73e59657 Bug 1299390 - part 2: Remove AudioChannelService methods required by BrowserElementAudioChannel only. r=alwu,baku
Changes:
- remove nsIAudioChannelService methods
- remove method AudioChannelService::RefreshAgentsVolumeAndPropagate and IPC method AudioChannelChangeNotification
- remove workaround for bug 1183033

MozReview-Commit-ID: BqlXYVhgrat

--HG--
extra : rebase_source : 64905901d645aea801b93e742472ac67ff7fb49e
2017-05-18 09:31:00 +08:00
Masayuki Nakano 85a1d561a2 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

--HG--
extra : rebase_source : e332d2ef5ae36949a9a362d8f95c5d427c9812e7
2017-05-19 18:46:02 +09:00
Masayuki Nakano 872f694c63 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

--HG--
extra : rebase_source : 4a5829281d59677c773950c34d91a1cd8074d243
2017-05-19 17:49:41 +09:00
Masayuki Nakano 730193bdb6 Bug 1339543 part 2 eKeyPress event should have edit commands for all editor types when it's dispatched to a remote process r=smaug
When eKeyPress event is dispatched from TabParent to a remote process, it
should store edit command for all editor types.  Then, copied
WidgetKeyboardEvent in the remote process doesn't need to request the edit
commands when its ExecuteEditCommands() is called.

Note that this patch also changes a automated test, browser_bug1316330.js,
that uses nsIDOMWindowUtils.dispatchDOMEventViaPresShell() to dispatch
repeated keyboard events in the tab.  However, it should use synthesizeKey()
to emulate everything of native keyboard events and the API can dispatch
repeated keyboard events too.  (And the test has a bug.  It tries to wait 0.5
sec when every keydown or keypress event.  However, it fails since startTime
is never initialized.  This patch fixes this bug too.)

MozReview-Commit-ID: IYhyxqH3Ch8

--HG--
extra : rebase_source : 0db911e8e6ea7fc537bda76f4cc0f8952cc13dd2
2017-05-19 17:24:20 +09:00
Stephen A Pohl 99336e02ef 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
Kris Maglione 503713f913 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw
2017-04-17 21:41:18 -07:00
Kartikaya Gupta 9e5e792b0f Back out bug 1353060 (3 csets) for possibly causing a checkerboarding regression. r=backout
MozReview-Commit-ID: AIHvzAUUCeu
2017-05-09 13:23:20 -04:00
Kris Maglione e77423bec5 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw

--HG--
extra : rebase_source : 86bca4ae1c012ff1bb84a9ad796be311cfe580f6
extra : histedit_source : 19577d69430adc8cb38c195f13db2c6de6605c4c
2017-04-17 21:41:18 -07:00
Aaron Klotz edf5c2626f Bug 1354077: Return IPC_FAIL from TabParent::RecvPDocAccessibleConstructor when we receive a top-level document with a null COM proxy; r=tbsaunde
MozReview-Commit-ID: KO2B1aWiqCf
2017-04-28 18:37:22 -06:00
Mike Conley cf1d141d21 Bug 1336763 - Add a hasBeforeUnload attribute to nsITabParent. r=Ehsan
This will return true if any of the frames loaded in the associated
TabChild have set at least one onbeforeunload event handler. If those
handlers are all removed, or all of the documents with onbeforeunload
event handlers are unloaded, this becomes false again.

Note that subframes that are sandboxed without the allow-modals
permission will not affect the hasBeforeUnload attribute, since
those iframes should never cause the beforeunload confirmation
dialog to display.

MozReview-Commit-ID: 8b0gBYWwMDn

--HG--
extra : rebase_source : 69f3b692d6e73f6277e6982aad02bcd1ebdd8acf
2017-04-13 17:54:07 -04:00
Carsten "Tomcat" Book 3b4328e578 Merge mozilla-central to autoland
--HG--
extra : rebase_source : bc4cd926477775ac802f400a79f553034d569a18
2017-04-26 09:08:31 +02:00
Samael Wang d5dd0ed263 Bug 1337064 - Remove sync protocol PContent::AllocateTabId. r=kanru
Remove sync protocol AllocateTabId. Instead we generate tabId in
each process with nsContentUtils::GenerateTabId, and register
RemoteFrameInfo in parent process. If the tab id was generated from
a content process, it's sent parent through either PBrowserConstructor
or PContent::CreateChildProcess.

MozReview-Commit-ID: D3W2fK9eCNH

--HG--
extra : rebase_source : 1913f8f586537be1c82a70a19cc8c6351671d0df
2017-04-05 18:42:00 +08:00
Andrea Marchesini 4c39212973 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +02:00
Ehsan Akhgari 755165acec Bug 1356922 - Part 2: Remove TabParent::sNextTabParent; r=billm 2017-04-24 14:18:31 -04:00
Sebastian Hengst d4b4629dd4 Backed out changeset a10d45c7d6de (bug 1358115) for failing mochitest test_blob_worker_xhr_read_slice.html. r=backout 2017-04-24 14:06:29 +02:00
Andrea Marchesini b48412eef0 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +02: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
Wes Kocher 5ce5528fb1 Merge inbound to m-c a=merge
MozReview-Commit-ID: DQDuEiYLWCO
2017-04-20 15:30:43 -07:00
Ehsan Akhgari f26370d441 Bug 1356913 - Remove support for the mozapptype attribute; r=billm
This is dead functionality now that mozapp support has been removed.
2017-04-20 01:09:28 -04:00
Valentin Gosu 0a4d506e21 Bug 1354349 - Add nsIChannel.isDocument that checks if LOAD_DOCUMENT_URI is set, or if LOAD_HTML_OBJECT_DATA and the channel has the appropriate MIME type r=mcmanus,mystor
MozReview-Commit-ID: K28Opd9JTr2

--HG--
extra : rebase_source : d1a786d9b4318be15f195fdc330489121ebd6ece
2017-04-20 10:15:06 +08:00
Carsten "Tomcat" Book 7ba1b88f0b Backed out changeset ec9fb39f7133 (bug 1354349) for bustage 2017-04-18 08:52:14 +02:00
Valentin Gosu 8f33abcc56 Bug 1354349 - Add nsIChannel.isDocument that checks if LOAD_DOCUMENT_URI is set, or if LOAD_HTML_OBJECT_DATA and the channel has the appropriate MIME type r=mcmanus,mystor
MozReview-Commit-ID: K28Opd9JTr2

--HG--
extra : rebase_source : 226ef1e6685a9608aa7c07d3c83b048d6e1e7278
2017-04-18 11:25:47 +08:00
Wes Kocher 25d50f2c30 Merge inbound to central, a=merge 2017-04-12 14:39:09 -07:00
Ehsan Akhgari 067b18b9f3 Bug 1316683 - Part 5: Avoid going into SpiderMonkey for retrieving origin attributes; r=baku
Our caller is C++ code, and the implementations are all also written in C++,
so there is no reason to go through SpiderMonkey here.  This patch also makes
nsILoadContext builtinclass to ensure that the implementation is always native.
2017-04-12 11:32:19 -04:00
Masayuki Nakano 61ce5526c6 Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato
MozReview-Commit-ID: 2rIXTlwA6my

--HG--
extra : rebase_source : a51be3edd717092738c2b5e8ccc4f60540712bfd
2017-04-11 21:24:55 +09:00
Kartikaya Gupta 96657be4f9 Bug 1350638 - Remove sync GetCompositorOptions call in TabChild::ReinitRenderingState. r=dvander
This piggybacks the sync message on the pre-existing
EnsureLayersConnected sync message pathway to the compositor.

MozReview-Commit-ID: DfYTlJrr3Gu

--HG--
extra : rebase_source : c2bd29e655db65e3016a79bf3f6068ffb1c8b7c7
2017-04-09 17:31:24 -04:00