Commit Graph

342 Commits

Author SHA1 Message Date
Kris Maglione
1dc4116e58 Bug 1362462: Fallback to main document widget for frames which haven't been inserted yet. r=mconley
MozReview-Commit-ID: Ayr2kQ9KqbW
2017-05-29 13:16:23 -07:00
Peter Van der Beken
d697b27ee6 Bug 558184 - Part 8 - Load js plugins in a separate process. r=billm.
Every JS plugin is assigned a unique ID. When an instance of a JS plugin is created the
frame loader that we use to load the plugin's handler URI will create a special
TabContext. This TabContext causes the ContentParent to use the process for this specific
JS plugin (creating one if it hasn't already) when it creates the PBrowser actors.
This causes the iframes for all the instances of a specific JS plugin to be grouped in the
same process.
2017-05-29 12:38:46 +02:00
Kris Maglione
252338aa41 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
c861a54205 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
602d505b96 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
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
eeb5724c1f Bug 1350638 - Remove sync GetCompositorOptions call added in the last patch. r=dvander
This call should be a no-op in the real world, and should be safe to
remove. The patch also adds an assert to ensure that the call is
effectively a no-op.

MozReview-Commit-ID: BXdcnHULWW2
2017-04-09 17:31:06 -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
David Anderson
d4e994a584 When using the GPU process, combine layer ownership and window mapping into a single IPC message. (bug 1350660 part 1, r=rhunt, r=billm) 2017-04-03 15:13:37 -07: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
bb2269ec2b Bug 1351777 - Remove trivial function. r=dvander
There is already a GetLayersId function in RenderFrameParent.h that does the
exact same thing, and this private function is only used in one spot. Seems
unnecessary.

MozReview-Commit-ID: 6i7lwKQsSFM
2017-03-31 11:43:20 -04:00
David Anderson
80fa3494e1 Remove references to the Direct3D9 compositor. (bug 1318558 part 1, r=mattwoodrow) 2017-03-08 00:17:36 -08:00
sotaro
610775e692 Bug 1335336 - Add LayerManager::GetCompositorBridgeChild() r=nical 2017-02-01 16:12:37 +09:00
Kartikaya Gupta
17245d5f13 Merge m-c to graphics
MozReview-Commit-ID: KhxBqJbwxv8
2016-12-06 23:45:24 -05:00
sotaro
f218c79e98 Bug 1321183 - Deliver TextureFactoryIdentifier r=nical 2016-12-01 12:02:37 +09:00
Kartikaya Gupta
f29c4ef71d Merge m-c to graphics
MozReview-Commit-ID: Cj1AAiaHUNH
2016-11-23 11:09:56 -05:00
Mozilla Graphics Team
1f923fd38d Bug 1317774 - Add non-gfx code needed to use WebRender in gecko. r=gfx
This completes the migration of code from the github branch to the graphics
project repo. At this point all webrender-related code should be disabled
unless --enable-webrender is provided in the mozconfig.

MozReview-Commit-ID: Dea8rxM6UPL
2016-11-16 08:54:51 -05:00
David Anderson
068e389bda Mark RenderFrameParent as initialized even if it failed to message the remote compositor. (bug 1319310, r=billm) 2016-11-22 13:01:08 -08:00
Kan-Ru Chen
1b9dd22e2d Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Ting-Yu Lin
db635bcd47 Bug 1304598 Part 6 - Rename nsViewportFrame.h/cpp to ViewportFrame.h/cpp, and move exported header to mozilla/ subdir. r=dholbert
The class ViewportFrame doesn't have ns-prefix, so it's better to drop the
ns-prefix in the file names to avoid confusion.

MozReview-Commit-ID: 8Jrmfzb3tVR
2016-11-30 11:14:29 +08:00
Matt Woodrow
2cdb3a11b4 Bug 1314186 - Resync LayerTreeId mappings to the GPU process if it restarts. r=dvander 2016-11-03 09:55:07 +13:00
Kartikaya Gupta
04cc737e18 Bug 1306603 - Remove rest of mozpasspointerevents code as it is not needed any more. r=kanru
MozReview-Commit-ID: 5N3hUq2lGuU
2016-10-05 08:27:02 -04:00
Kartikaya Gupta
73c39bd08a Bug 1306644 - Have TabParent call TakeFocusForClickFromTap rather than doing it over a sync IPC roundtrip. r=dvander
MozReview-Commit-ID: 4anzBR6YoA
2016-09-30 15:03:42 -04:00
David Anderson
58dfb0992b Recreate PLayerTransactions for TabChildren when the compositor restarts. (bug 1300936 part 4, r=mattwoodrow, r=billm) 2016-09-20 01:19:32 -07:00
George Wright
4aedf7fcc6 Bug 1297565 - Handle failure from calling CompositorBridgeChild::SendNotifyChildCreated() in RenderFrameParent::Init() r=mattwoodrow 2016-09-13 22:58:54 -04:00
Matt Woodrow
75d4a848c5 Bug 1237102 - Make sure we don't generate invalidations for children of opacity:0 frames, even when plugins are present. r=tnikkel 2016-08-10 15:15:28 +12:00
Matt Woodrow
352a874990 Bug 1265468 - Invalidate all layers when dragging a tab to a new window. r=nical 2016-05-26 18:40:07 +12:00
Sebastian Hengst
ded5f126fa Backed out changeset 4d417e2c21ff (bug 1265468) for asserting in LayerManagerComposite.cpp on OS X 10.10 debug with e10s. r=backout 2016-05-26 10:45:39 +02:00
Matt Woodrow
15313030d5 Bug 1265468 - Invalidate all layers when dragging a tab to a new window. r=nical 2016-05-26 18:40:07 +12:00
David Anderson
377d55cdb8 Move Alloc/DeallocLayerTreeId calls to GPUProcessManager. (bug 1274149 part 3, r=mattwoodrow) 2016-05-23 00:27:57 -07:00
Wes Kocher
9a683a7c55 Backed out 5 changesets (bug 1274149) for intermittent failures in apz tests CLOSED TREE
Backed out changeset 1117598ac875 (bug 1274149)
Backed out changeset 540cb6d10745 (bug 1274149)
Backed out changeset 057223823e5d (bug 1274149)
Backed out changeset 9932689ab717 (bug 1274149)
Backed out changeset a22a53c503a6 (bug 1274149)
2016-05-23 13:01:22 -07:00
David Anderson
3a4fe10b40 Move Alloc/DeallocLayerTreeId calls to GPUProcessManager. (bug 1274149 part 3, r=mattwoodrow) 2016-05-23 00:27:57 -07:00
Cameron McCormack
98ad26ea1a Bug 1261754 - Part 7: Move pointer-events from nsStyleVisibility to nsStyleUserInterface. r=dholbert 2016-04-12 15:52:41 +10:00
Mike Conley
5f8de74236 Bug 1251032 - Make it possible to assign a frameloader to RenderFrameParent after construction. r=kanru
MozReview-Commit-ID: 4a8fzR7Vpac
2016-03-29 12:49:07 -04:00
Mike Conley
b3a0aa7e05 Bug 1251032 - Don't return layersId or textureFactoryIdentifier as outparams in RenderFrameParent constructor. r=kanru
MozReview-Commit-ID: JqcrHsNW25j
2016-03-29 12:42:05 -04:00
David Anderson
7b7cd394cc Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow) 2016-03-22 14:08:38 -04:00
David Anderson
a576a097a4 Remove some static_casting in CompositorParent. (bug 1245765 part 5, r=mattwoodrow) 2016-02-29 01:53:14 -05:00
Peter Van der Beken
2998bad48a Bug 1020199 - Make sure APZ works with nested oop iframe. r=kats, r=dvander. 2016-01-08 20:17:39 +01:00
Randall Barker
b474749936 Bug 1231517 - part 3, Add ZoomToRect function to nsIWidget classes r=kats 2016-01-20 16:24:59 -08:00
Botond Ballo
13362d389b Bug 1221371 - Remove unnecessary explicit copies of nsTArray. r=billm 2015-11-18 13:48:12 -05:00
Gijs Kruitbosch
15a23da0f2 Bug 1221947 - part 3: pass touch information to focus manager in RenderFrameParent, r=kats 2015-11-16 14:03:35 +00:00
Kartikaya Gupta
70ea97a295 Bug 898075 - Remove the mozbrowserasyncscroll event from Gecko. r=botond,kanru,sicking 2015-11-11 10:17:47 -05:00
Bill McCloskey
6e4dd6a29c Bug 1221371 - Switch chromium IPC code to use mozilla::Tuple (r=jld,cpearce,kats) 2015-11-09 10:21:11 -08:00
Matt Woodrow
7eb61a50cc Bug 1216288 - Disable warning when we don't build an active layer for RenderFrameParent within an opacity:0 subtree. r=roc 2015-11-03 16:49:22 +13:00
Nigel Babu
66854b80e9 Backed out changeset 19e021ef5ba1 (bug 1216288) 2015-11-03 11:59:05 +05:30
Matt Woodrow
cc938052cf Bug 1216288 - Disable warning when we don't build an active layer for RenderFrameParent within an opacity:0 subtree. r=roc 2015-11-03 16:49:22 +13:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Benoit Girard
5ab9060ba4 Bug 1199885 - Part 12: Add StartScrollbarDrag IPC message. r=kats 2015-09-28 17:00:25 -04:00
sgiles
9f3180f790 Bug 1206786 - Fix input routing on multi-process Android builds. r=kats 2015-09-24 21:42:14 +01:00