Commit Graph

1135 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
8eb146d908 Merge mozilla-central to autoland 2017-04-26 09:08:31 +02:00
Samael Wang
08ccd27a58 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
2017-04-05 18:42:00 +08:00
Andrea Marchesini
72c4e2a5b6 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +02:00
Ehsan Akhgari
abc0a27a65 Bug 1356922 - Part 2: Remove TabParent::sNextTabParent; r=billm 2017-04-24 14:18:31 -04:00
Sebastian Hengst
f73be27b1c 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
9186223974 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +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
Wes Kocher
f8d2845e66 Merge inbound to m-c a=merge
MozReview-Commit-ID: DQDuEiYLWCO
2017-04-20 15:30:43 -07:00
Ehsan Akhgari
8329a6cea1 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
7e8ca8ee92 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
2017-04-20 10:15:06 +08:00
Carsten "Tomcat" Book
fc32e97d4c Backed out changeset ec9fb39f7133 (bug 1354349) for bustage 2017-04-18 08:52:14 +02:00
Valentin Gosu
a4d4a67955 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
2017-04-18 11:25:47 +08:00
Wes Kocher
15e788d2f7 Merge inbound to central, a=merge 2017-04-12 14:39:09 -07:00
Ehsan Akhgari
3677a91998 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
6d6b3d0a27 Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato
MozReview-Commit-ID: 2rIXTlwA6my
2017-04-11 21:24:55 +09:00
Kartikaya Gupta
60180cd488 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
2017-04-09 17:31:24 -04:00
Kartikaya Gupta
1bcda612ce 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
2017-04-09 17:30:27 -04:00
Mike Conley
9b98a8b103 Bug 1354080 - Stop doing needless work in the parent process every time the refresh driver ticks. r=kats
When we're animating, we tick the refresh driver. If that occurs in the parent process
when e10s is enabled, then we currently run TabParent::DidRefresh which does some
dimensions calculations and might send a message to the content process if the
dimensions have changed.

This was originally added to fix a B2G bug in bug 1153023. We don't need to do it
anymore, since we don't set CSS transforms on content browser windows.

MozReview-Commit-ID: JJ7AJHlSyWn
2017-04-06 18:11:34 -04:00
Kartikaya Gupta
e875155212 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
2017-03-31 11:43:21 -04:00
Kartikaya Gupta
903533a5b8 Bug 1351777 - Remove aSuccess argument to RenderFrame constructor. r=dvander
Instead we can use the otherwise-unused function to check if initialization worked.
Technically, because of the way RenderFrame construction works, whether or not
initialization succeeds is exactly dependent on whether or not the frameloader is
non-null, so we could even just use that to check success. But this feels slightly
more readable/cleaner.

MozReview-Commit-ID: CGiIAA1h6V7
2017-03-31 11:43:21 -04:00
Kartikaya Gupta
a19cec061f Bug 1351777 - Remove unnecessary cast and more tightly scope a local var. r=dvander
MozReview-Commit-ID: JEfQOdQ2HNJ
2017-03-31 11:43:21 -04:00
Markus Stange
6b5d0cba27 Bug 1348426 - Add profiler labels to RecvSync/Async/RpcMessage that include the message name. r=billm
MozReview-Commit-ID: F7MZhgV12DZ
2017-03-29 17:43:21 -04:00
Sebastian Hengst
0d2a67d216 Backed out changeset ef22dba0dac5 (bug 1316683) for various test failures, e.g. xpcshell netwerk/test/unit/test_bug826063.js and browser-chrome browser/components/downloads/test/browser/browser_iframe_gone_mid_download.js. r=backout on a CLOSED TREE 2017-03-22 20:28:39 +01:00
Ehsan Akhgari
debca5c728 Bug 1316683 - 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-03-22 14:13:31 -04:00
Sebastian Hengst
8967ddbcb0 Backed out changeset 7e47807067a6 (bug 1316683) for Windows bustage. r=backout 2017-03-22 15:15:27 +01:00
Ehsan Akhgari
ad90c59aa6 Bug 1316683 - 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-03-22 10:03:26 -04:00
Andrea Marchesini
a04ab116f5 Bug 1343933 - Renaming Principal classes - part 4 - ContentPrincipal, r=qdot 2017-03-22 11:39:31 +01:00
Michael Layzell
6620072ae3 Bug 1337056 - Part 12: Send down permissions when calling createAboutBlankContentViewer, r=baku
MozReview-Commit-ID: LigZnHM34CC
2017-03-21 11:08:03 -04:00
Sebastian Hengst
b2480cf424 Backed out changeset fecc6abcf708 (bug 1316683) for bustage at docshell/base/SerializedLoadContext.cpp:65:61. r=backout on a CLOSED TREE 2017-03-21 15:47:15 +01:00
Ehsan Akhgari
041744109d Bug 1316683 - 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-03-21 10:05:00 -04:00
Jessica Jong
a1299fabfa Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code. r=smaug
This patch basically reverts Bug 825294.
2017-03-17 11:01:57 +08:00
Kartikaya Gupta
8da3e31410 Bug 1345657. r=dvander
MozReview-Commit-ID: LRCtitKvGbJ
2017-03-15 15:30:10 -04:00
Evelyn Hung
6f0f50c455 Bug 1347117 - Add Activate/Deactivate/ParentActivated to PContentBridge; r=billm
In a nested content process setup, FocusManager needs to activate focus
to a remote frame through ContentBridgeParent, not ContentParent.
2017-03-15 02:00:00 +01:00
Stone Shih
2b86511344 Bug 606885 - Fire drag events with keyboard modifiers. r=enn 2017-02-17 11:29:42 +08:00
Mike Conley
7a3099cacf Bug 1342464 - Collect Telemetry on when a tab switch spinner is shown. r=billm,liuche, data-review=liuche
MozReview-Commit-ID: 1Ss2f9A2JtK
2017-03-04 14:19:22 -05:00
Mike Conley
beaef2a518 Bug 1342927 - Don't fire MozTabChildNotReady if DocShell has become inactive or frameloader owner has dropped us. r=billm
MozReview-Commit-ID: 4lU5iFFv13V
2017-03-05 13:25:42 -05:00
Mike Conley
cd6c3fd44f Bug 1342927 - Don't fire MozTabChildNotReady from TabParent if we've already presented. r=billm
The MozTabChildNotReady event is queued from the ProcessHangMonitor thread, and
that event might try to fire _after_ the main thread has received notification
that a layer tree was made ready. If that occurs, firing the MozTabChildNotReady
event makes no sense, as clearly the TabChild _became_ ready by the time the
event was about to be dispatched.

MozReview-Commit-ID: Iigtc0SqzeU
2017-03-04 14:12:38 -05:00
Mike Conley
e239f98f6d Bug 1342927 - Fire a MozTabChildNotReady event on a frameloader if force-painting a tab without a TabChild. r=billm
MozReview-Commit-ID: D8vgvQ3MLJN
2017-02-28 17:22:02 -05:00
Sebastian Hengst
59f1050934 Backed out changeset 2f9561ccd777 (bug 1342927) for asserting at chrome://browser/content/tabbrowser.xml:3995:25 e.g. in browser/browser_menu_item_01.js. r=backout 2017-03-04 11:50:53 +01:00
Mike Conley
695bd3a1ad Bug 1342927 - Fire a MozTabChildNotReady event on a frameloader if force-painting a tab without a TabChild. r=billm
MozReview-Commit-ID: D8vgvQ3MLJN
2017-02-28 17:22:02 -05:00
Sebastian Hengst
9cf76fe47e Backed out changeset 7b38f4123214 (bug 1342927) for asserting @chrome://browser/content/tabbrowser.xml:3995:25. r=backout 2017-03-04 00:21:38 +01:00
Mike Conley
862c0473cb Bug 1342927 - Fire a MozTabChildNotReady event on a frameloader if force-painting a tab without a TabChild. r=billm
MozReview-Commit-ID: D8vgvQ3MLJN
2017-02-28 17:22:02 -05:00
Trevor Saunders
4557e5270c bug 1340579 - look up this DocAccessibleParent in live docs instead of using this in DocAccessibleParent::Destroy() r=davidb 2017-03-01 17:23:48 -05:00
Benjamin Smedberg
6313586298 Bug 1338172 part E - make all the PPluginWidget stuff Windows-only. Rip out the GTK-specific native widget support from widget/gtk/nsWindow and elsewhere, r=jimm
MozReview-Commit-ID: J6E8sYcyX4U
2017-02-09 11:53:50 -05:00
Trevor Saunders
fc47277b0f bug 1341731 - propagate failures before working around them r=yzen 2017-02-24 10:26:27 -05:00
Eugen Sawin
69b544a3ba Bug 1322576 - [1.2] Add tracking protection attribute to nsILoadContext to allow for overriding of the global preference setting for individual DocShells. r=smaug 2017-02-22 14:57:37 +01:00
Trevor Saunders
37e380e277 bug 1338755 - split up SetCOMProxy() r=yzen 2017-02-17 09:06:26 -05:00
Trevor Saunders
b9b733d734 bug 1339472 - keep a map from DocAccessibleParents to the actors themselves r=yzen 2017-02-14 18:10:03 -05:00
Wes Kocher
48fcd00012 Backed out 5 changesets (bug 1338172) for linux crashtest failures a=backout
Backed out changeset 9ee6c6f4e59c (bug 1338172)
Backed out changeset 1c92fbfca20a (bug 1338172)
Backed out changeset 907d9c3d1043 (bug 1338172)
Backed out changeset e4994ab9d628 (bug 1338172)
Backed out changeset 6209f07e1f26 (bug 1338172)

MozReview-Commit-ID: 3f4xBRcGPqM
2017-02-14 14:31:54 -08:00
Benjamin Smedberg
a46c9d69c4 Bug 1338172 part E - make all the PPluginWidget stuff Windows-only. Rip out the GTK-specific native widget support from widget/gtk/nsWindow and elsewhere, r=jimm
MozReview-Commit-ID: J6E8sYcyX4U
2017-02-09 11:53:50 -05:00