Commit Graph

1400 Commits

Author SHA1 Message Date
David Anderson
97fbf5b1fc 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
Ehsan Akhgari
4ae0242ac8 Bug 1363614 - Don't attempt to notify the parent about the change in the number of beforeunload event listeners if our IPC link is already severed; r=mconley 2017-05-10 19:39:22 -04:00
David Anderson
84e57aa33f Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=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.
2017-05-05 10:53:17 -07:00
David Parks
25401b5154 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
Phil Ringnalda
7fea418646 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson
4baee636a8 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=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.
2017-04-30 17:22:56 -07:00
Brendan Dahl
04fa02f879 Bug 1356681 - Expand headless mode support for linux. r=automatedtester,jrmuizel,kanru
Full Firefox on Linux can now be run with a --headless flag.
This includes seven parts:
1) Running all marionette tests in headless mode.
2) Prevents crashes where Firefox calls into GTK.
3) Adds a headless screen helper which supports changing the headless
screen size with the environment variables MOZ_HEADLESS_WIDTH and
MOZ_HEADLESS_HEIGHT.
4) Supports simulating moving a headless window.
5) Adds a stubbed out nsSound implementation.
6) Supports simulating size mode changes of headless windows.
7) Adds the --headless flag for Firefox.
2017-05-18 17:47:10 -07:00
Mike Conley
f1259b5d74 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
2017-04-13 17:54:07 -04:00
Christoph Kerschbaumer
9044a8bb83 Bug 1359092 - Extend loadURI within nsIWebNavigation.idl by a triggeringPrincipal argument. r=bz 2017-04-25 12:22:25 +02:00
Carsten "Tomcat" Book
c9c22f180a Backed out changeset 3e42f84996ea (bug 1359092) for causing assertion failures 2017-04-25 10:46:31 +02:00
Christoph Kerschbaumer
2d7ff6175c Bug 1359092 - Extend loadURI within nsIWebNavigation.idl by a triggeringPrincipal argument. r=bz 2017-04-24 21:57:25 +02:00
Bill McCloskey
a65d2f94ad 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
f54a056450 Bug 1333968 - Label the DidComposite message (r=dvander)
MozReview-Commit-ID: 7cW7apxUJu0
2017-04-11 12:59:13 -07: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
Sotaro Ikeda
4adc82d96f Bug 1353958 - Add Gpu process reset handling for QuantumRender. r=kats
MozReview-Commit-ID: 6ZkB1ezyWlK
2017-04-06 12:56:10 -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
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
Kartikaya Gupta
b89d0dc9d8 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
2017-03-28 16:40:24 -04:00
Kevin Chen
fc22d2c178 Bug 1343479 - Label the tasks for APZ module. r=bevistseng,kats
MozReview-Commit-ID: GkAl4MZorxP
2017-03-23 06:16:38 +00: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
Stone Shih
5338d1514d Bug 1337963 - Coalesce wheel events in the content process so that long wheel event handlers don't hang the content process. r=smaug 2017-02-21 17:56:46 +08:00
Stone Shih
2b86511344 Bug 606885 - Fire drag events with keyboard modifiers. r=enn 2017-02-17 11:29:42 +08:00
Ryan Hunt
393342a6be Bug 1340904 - Implement telemetry scroll tracking in C++ r=smaug 2017-03-02 00:51:40 -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
Kartikaya Gupta
4979fd659f Merge m-c to graphics
MozReview-Commit-ID: IN2hMCjMHLL
2017-02-17 23:33:24 -05:00
Wes Kocher
64ccd9559b Merge inbound to m-c a=merge
MozReview-Commit-ID: DCUf7VEDrTt
2017-02-17 13:38:51 -08:00
Michael Layzell
e4431d5605 Bug 1338241 - Part 2: Simplify the in large allocation process logic, r=smaug
MozReview-Commit-ID: 6aF2wlLgy42
2017-02-17 12:00:45 -05:00
Nicolas Silva
1819922f47 Bug 1335799 - Update WR layers and FFI/bindings code for the webrender update. r=jrmuizel
MozReview-Commit-ID: Hv3MwSr97Op
2017-02-14 13:34:15 -05:00
Bill McCloskey
f79edeabc9 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08: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
Ryan Hunt
b101f2272c Merge m-c to graphics 2017-02-07 09:05:18 +00:00
Brad Lassey
c91080f3e8 bug 1303096 - Stop sending sync messages soon after content process start-up r=billm 2017-02-05 00:52:38 -05:00
Kartikaya Gupta
bf02e9ff78 Merge m-c to graphics
MozReview-Commit-ID: 3tWI3srj2uj
2017-02-01 08:48:31 -05:00
Kartikaya Gupta
f58b24290d Bug 1334931 - Ensure we initialize content-process APZ machinery for the webrender case. r=dvander
MozReview-Commit-ID: LA3I92pgxLe
2017-01-31 09:46:32 -05:00
Kartikaya Gupta
b3b8774765 Merge m-c to graphics
MozReview-Commit-ID: 7PVyxahE0p6
2017-01-31 09:04:18 -05:00
Michael Layzell
879a0e1bed Bug 1334210 - Handle Large-Allocation process exhaustion more smoothly, r=ehsan
MozReview-Commit-ID: KxnFTSXxWVi
2017-01-31 14:08:20 -05:00
Michael Layzell
b819556959 Bug 1332343 - Fix browser_largeAllocation.js in multi-e10s, r=smaug
MozReview-Commit-ID: EdNYf1saOI0
2017-01-31 14:08:20 -05:00
Ryan Hunt
b60d405ff9 Merge m-c to graphics 2017-01-27 10:07:37 -06:00
Kartikaya Gupta
5c508e0b98 Merge m-c to graphics
MozReview-Commit-ID: FOyS87VawTT
2017-01-25 08:52:04 -05:00
Kartikaya Gupta
8199d384b7 Bug 1333892 - Remove unused IPC message leftover from B2G days. r=kanru
MozReview-Commit-ID: 2qBq6WjzbcO
2017-01-25 16:21:12 -05:00
Kartikaya Gupta
ff803d6905 Merge m-c to graphics
MozReview-Commit-ID: bxs3Qj28c5
2017-01-24 08:05:30 -05:00
Kartikaya Gupta
1b1d888dd1 Bug 1333122 - Use the CompositorOptions to determine the appropriate LayerManager to create for content-process tabs. r=dvander
MozReview-Commit-ID: AhEpuPa2heV
2017-01-24 08:03:08 -05:00
Kartikaya Gupta
05ab5e41a7 Merge m-c to graphics
MozReview-Commit-ID: Gds3AlDHXgY
2017-01-20 10:07:40 -05:00
Kartikaya Gupta
9a7910698c Bug 1322633 - Don't initialize APZ protocols unless PLayerTransaction was successfully set up. r=dvander
MozReview-Commit-ID: Ja8TsCeGZ9
2017-01-30 10:05:43 -05:00
Kartikaya Gupta
cd6737c05f Merge m-c to graphics
MozReview-Commit-ID: D0L4I5rdVli
2017-01-19 10:43:00 -05:00
Kartikaya Gupta
62ce806cab Merge m-c to graphics
MozReview-Commit-ID: LyU2woFOt7O
2017-01-18 13:48:56 -05:00
Kartikaya Gupta
b0662dc714 Merge m-c to graphics
MozReview-Commit-ID: KzmBdQoXRRI
2017-01-17 09:01:06 -05:00
Kartikaya Gupta
b365df1e72 Bug 1331988 - Don't provide DPI and related values until the TabChild has received the the ShowInfo, to avoid doing sync IPC. r=dvander
In bug 1331509, mRemoteFrame started getting populated earlier, while the DPI
and default scale values remained unpopulated until RecvShow was called. This
opened a small window where calling TabChild::GetDPI (and GetDefaultScale) would
result in a sync IPC message where previously it would just return -1. This
restores the original behaviour and elimintes the perf regression from the
sync IPC.

MozReview-Commit-ID: AikQmZjVHc9
2017-01-23 12:03:53 -05:00