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

659 Коммитов

Автор SHA1 Сообщение Дата
Wes Kocher 7ea5ed6e6a Merge m-c to autoland, a=merge
MozReview-Commit-ID: LEKykpTAKjv
2017-08-25 17:32:33 -07:00
Bill McCloskey a9ed818bea Bug 1383333 - Keep track of foreground TabChildren (r=kanru)
MozReview-Commit-ID: 1hT3BHzoZVA
2017-08-25 10:28:23 -07: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
Bevis Tseng e53f772f83 Bug 1390424 - Move ParentActivated message from PContent/PContentBridge back to PBrowser. r=billm 2017-08-23 17:02:57 +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 7646d41f1d Bug 1361067 Part2: Coalesce mouse move events to be once per refresh cycle. r=smaug.
MozReview-Commit-ID: 6jwQxxNIC2n
2017-08-11 14:58:08 +08:00
Bill McCloskey 55f153be76 Bug 1383328 - Use TabGroup as event target for browser-status-filter (r=smaug)
MozReview-Commit-ID: HOSmqr5Vpwh
2017-07-28 13:11:59 -07:00
Carsten "Tomcat" Book bd7b184c91 Backed out changeset e3e924da5d5f (bug 1383328) 2017-07-28 09:20:05 +02:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Bill McCloskey fff3f0890c Bug 1383328 - Use TabGroup as event target for browser-status-filter (r=smaug)
MozReview-Commit-ID: HOSmqr5Vpwh
2017-07-25 19:52:36 -07: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
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
Bevis Tseng ac00d80880 Bug 1378298 - Make TabChildGlobal override DispatcherTrait using TabChild::TabGroup(). r=billm 2017-07-05 16:23:23 +08: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 971bb7abef Bug 1343728 - Part 1: Add the ability to temporarially delay remote docshells from becoming active, r=smaug
MozReview-Commit-ID: KAaeu5ETc0x
2017-06-28 12:25:26 -04:00
Carsten "Tomcat" Book 152c0296f8 Backed out changeset e9dfba832730 (bug 1343728) for incomplete backout / making bug 1375293 worse on a CLOSED TREE
--HG--
extra : amend_source : 4c9ee2458a3413a2fe6f0b3e7785d1b2f211137f
2017-06-28 15:53:58 +02:00
Carsten "Tomcat" Book 6365f16e57 Backed out changeset a1e773337202 (bug 1350633) 2017-06-28 15:52:01 +02: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 c7ffb02592 Bug 1343728 - Part 1: Add the ability to temporarially delay remote docshells from becoming active, r=smaug
MozReview-Commit-ID: KAaeu5ETc0x
2017-06-27 16:24:48 -04: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 e1e38ff7fb Bug 1343728 - Part 1: Add the ability to temporarially delay remote docshells from becoming active, r=smaug
MozReview-Commit-ID: KAaeu5ETc0x
2017-06-21 14:23:10 -04:00
Sebastian Hengst adb899a58e Backed out changeset 5573f2f7d796 (bug 1343728) for failing various tests, e.g. mochitest test_animations_reverse.html. r=backout on a CLOSED TREE 2017-06-16 22:21:45 +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 67f704555d Bug 1343728 - Part 1: Add the ability to temporarially delay remote docshells from becoming active, r=smaug
MozReview-Commit-ID: KAaeu5ETc0x
2017-06-16 14:59:31 -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
Michael Layzell e9a9541ee7 Bug 1368046 - Part 2: Propagate OriginAttributes across processes for RecvCreateWindowInDifferentProcess, r=smaug
MozReview-Commit-ID: 8ok4DI9zgfR
2017-06-07 12:54:57 -04:00
Michael Layzell ac7ba92fd5 Bug 1368046 - Part 1: Propagate window.name across processes for RecvCreateWindowInDifferentProcess, r=smaug
MozReview-Commit-ID: 6xmLN9pbCKd
2017-06-07 12:54:53 -04: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
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
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
Olli Pettay 1b1642f523 Bug 1364018 - Coalesce wheel events more aggressively, r=stone
--HG--
extra : rebase_source : 17171c517a0c49cfbb2a6c99a06d655e61930e2d
2017-05-12 14:13:59 +03:00
David Anderson 27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
David Parks 1810e88c32 Bug 1359129 - Use the most recent RootDocAccessible when delaying DocAccessibleChild messages. r=aklotz
We sometimes briefly have more than one root DocAccessible associated with a TabChild, for example, while navigating links in a page.  This patch makes sure that we use the correct accessible when delaying messages that we forward to the parent process.
2017-05-01 14:04:55 -07: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
Bill McCloskey 5c609727dc Bug 1354249 - Use same TabGroup as original tab for print preview (r=mystor)
MozReview-Commit-ID: 5wmjLgq2j5m
2017-04-12 20:17:50 -07:00
Bill McCloskey 30b9639c6e Bug 1333968 - Label the DidComposite message (r=dvander)
MozReview-Commit-ID: 7cW7apxUJu0
2017-04-11 12:59:13 -07:00
Kartikaya Gupta 1bfa62105b Bug 1350638 - Remove sync GetCompositorOptions call in TabChild::InitRenderingState. r=dvander
The goal of this patch is to remove the call to the sync IPC
GetCompositorOptions message from TabChild::InitRenderingState. In order
to this, we have InitRenderingState take the CompositorOptions as an
argument instead, and propagate that backwards through the call sites.
Eventually we can propagate it back to a set of already-sync IPC
messages in PCompositorBridge that are used during layers id
registration (NotifyChildCreated, NotifyChildRecreated, etc.). Therefore
this patch effectively piggybacks the CompositorOptions sync IPC onto
these pre-existing sync IPC messages.

The one exception is when we propagate it back to the AdoptChild call.
If this message were sync we could just use it like the others and have
it return a CompositorOptions. However, it is async, so instead we add
another call to GetCompositorOptions here temporarily. This will be
removed in the next patch.

MozReview-Commit-ID: AtdYOuXmHu4

--HG--
extra : rebase_source : 5b80831cf84d3a4b57b2214a12ccf8a896cfa3a7
2017-04-09 17:30:27 -04:00
Kartikaya Gupta 6c77e5ee0c Bug 1351777 - Use a BasicLayerManager in the content process if the corresponding parent-side layer manager isn't connected to the compositor. r=dvander
There are scenarios where we have a TabParent in the UI process hooked up to
a PuppetWidget with a BasicLayerManager. Webextensions fall into this category.
In this scenario, the parent-side layer manager is not hooked up to
the compositor (that is, there is no entry in the CompositorBridge layer tree
state map for the layers id). However, the content-side still ends up creating
a ClientLayerManager or a WebRenderLayerManager, which expects the layers id to
be registered in the compositor. This results in brokenness (in the case of the
ClientLayerManager/PLayerTransaction) or crashes (in the case of WebRenderLayerManager/
PWebRenderBridge). Instead, this patch changes this scenario to have the content
process use a BasicLayerManager which seems safer.

MozReview-Commit-ID: 3f80aZrRrmD

--HG--
extra : rebase_source : 10ec78dd7daf1c1c889929f0d79e0b75675b4b05
2017-03-31 11:43:21 -04:00
Kartikaya Gupta 042789f2a8 Bug 1351384 - Stop using the CompositorOptions to check if WebRender is enabled. r=dvander
I suspect that the PuppetWidget is trying to create the layer manager after
it has been connected to a TabChild but before the TabChild has populated the
CompositorOptions. This results in the PuppetWidget effectively getting an
uninitialized value for the CompositorOptions, and so it sometimes randomly
creates a WebRenderLayerManager, later resulting in a crash.

It seems like exposing the potentially-uninitialized CompositorOptions from
TabChild like this is a bad idea, so I'm removing that API and using the more
reliable gfxVars in PuppetWidget. This is fine for WebRender purposes because
we no longer care to allow having WR compositors co-exist with non-WR
compositors.

We may eventually want to remove the CompositorOptions entirely, but for now
the rest of the usage of it seems fine.

MozReview-Commit-ID: 6ekG8j1PskK

--HG--
extra : rebase_source : 0099e847ac356ca235969bcd81f47d65f49de2eb
2017-03-28 16:40:24 -04:00
Jessica Jong 3c909e1184 Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code. r=smaug
This patch basically reverts Bug 825294.

--HG--
extra : rebase_source : 58b235bfddb5acd1ec0cf1afd8f34cbb8c4e09c1
2017-03-17 11:01:57 +08:00