Commit Graph

129 Commits

Author SHA1 Message Date
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
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
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
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
Ryan Hunt
367f0130ba Bug 1289650 - Use PAPZCTreeManager in content process instead of PAPZ. r=kats
MozReview-Commit-ID: LRhvZlNqli
2016-07-31 12:39:00 -07:00
Sebastian Hengst
c42699270d Backed out changeset 9fa5ccaa8c6c (bug 1289650) 2016-08-24 23:15:49 +02:00
Ryan Hunt
205148488b Bug 1289650 - Use PAPZCTreeManager in content process instead of PAPZ. r=kats
MozReview-Commit-ID: LRhvZlNqli
2016-07-31 12:39:00 -07: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
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
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
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
Nicholas Nethercote
544983290b Bug 1207931 - Remove no-longer-needed SetBackgroundColor IPC message. r=mattwoodrow. 2015-09-24 19:03:33 -07:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Robert O'Callahan
1bebcba55f Bug 1143575. Route ImageCompositeNotifications to ImageContainers. r=nical
For frame statistics to work properly, we have to notify an ImageContainer
when it has been composited. This requires a few changes, which have
been lumped together in this patch:
-- Create PImageContainer and ImageContainerParent/ImageContainerChild.
-- Add mFrameID and mProducerID everywhere we're passing around images.
-- Route composition notifications from the compositor back to
ImageContainerChild.
2015-07-06 15:02:26 +12:00
Kartikaya Gupta
c3431f440a Bug 1055557 - Move storage of ZoomConstraints from RemoteContentController to APZCTreeManager. r=botond 2015-06-17 12:32:41 -04:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Kartikaya Gupta
ee722fd053 Bug 1122090 - Send the allowed behaviour notification to APZ for touch blocks when touch-action is enabled. r=botond 2015-03-19 06:33:33 -04:00
Kartikaya Gupta
26025c81b0 Bug 1130455 - Remove the ScrollingBehavior code to propagate APZ and use gfxPrefs instead. r=roc,fabrice
The ScrollingBehavior passed around extensively in TabParent/TabChild is
entirely redundant now that the layers.async-pan-zoom.enabled pref definitively
controls whether or not APZ is enabled. All the code related to ScrollingBehavior
can be removed.
2015-02-26 08:47:01 -05:00
Kartikaya Gupta
9de0d34316 Bug 1134493 - Ensure we don't set the force-empty-hit-region flag when a subdocument has mozpasspointerevents. r=botond 2015-02-25 13:36:19 -05:00
Kartikaya Gupta
78e10f689b Bug 1131840 - Replace the shouldForceDispatchToContent flag with a bitset enum. r=roc,botond 2015-02-16 21:30:02 -05:00
Kartikaya Gupta
13cce51e10 Bug 1125422 - Populate the ContainerLayer flag to force events to be dispatched to content. r=roc 2015-02-10 16:28:07 -05:00
Kartikaya Gupta
bc9c0e2dc8 Bug 1130535 - Remove codepath that does an APZ untransform on events in RenderFrameParent. r=dvander,botond CLOSED TREE 2015-02-06 13:46:46 -08:00
Kartikaya Gupta
67f8b538f1 Bug 1129526 - Make the RenderFrameParent put focus on the correct OOP child before delivering a click event to it. r=botond 2015-02-05 14:41:50 -05:00
David Anderson
4d98682188 Rename ContentReceivedTouch to ContentReceivedInputBlock. (bug 1013432 part 3, r=kats) 2014-12-09 02:35:12 -08:00
Kartikaya Gupta
f7078e6ca5 Bug 918288 - Add code to TabChild to dispatch the SetTargetAPZC notification. r=roc,botond 2014-11-21 21:36:25 -05:00
Sotaro Ikeda
d990835b90 Bug 1085655 - Improve TabChild::InitRenderingState() r=bent 2014-11-16 10:23:22 -08:00
Kartikaya Gupta
0b12b07fa8 Bug 1083395 - Replace the touch block balance with an input block identifier. r=botond 2014-10-24 13:29:30 -04:00
Kartikaya Gupta
d88e20ef73 Bug 1068268 - Remove unnecessary forward-declare. r=botond 2014-09-20 22:27:17 -04:00
Matt Woodrow
e28c6b814e Bug 936690 - Remove nsIContentView and nsIContentViewManager. r=roc 2014-08-27 10:56:24 +12:00
Matt Woodrow
3e4fdd6a6f Bug 1056427 - Stop PRenderFrame from managing PLayerTransaction since it hasn't worked since the layers refactoring. r=roc 2014-08-22 12:16:44 +12:00
Botond Ballo
861ce1ccae Bug 1007728 - Avoid calling APZCTreeManager::UpdatePanZoomControllerTree() on repeat transactions. r=kats,BenWa 2014-05-30 18:52:43 -04:00
Matt Woodrow
33af0836e2 Bug 854421 - Part 1: Add a transaction id number to DidComposite. r=nical 2014-05-29 09:42:14 +12:00
Botond Ballo
dd450ca5d5 Bug 998025 - Ignore touch events when in an overscrolled state. r=kats 2014-05-22 14:49:43 -04:00
Botond Ballo
7f00b26cfe Bug 961289 - Assign sequence numbers to paints on the client side and forward them to the compositor. r=BenWa,kats 2014-05-06 17:26:13 -04:00
Olli Pettay
bc8601a55d Bug 1003041 - Merge PRenderFrame() and InitRenderFrame() to avoid extra sync child->parent messaging. r=billm 2014-05-08 16:04:00 +02:00
Kartikaya Gupta
38a7708829 Bug 981800 - Kill the three-parameter version of ReceiveInputEvent since it is redundant. r=botond 2014-03-10 17:59:46 -04:00
Bill McCloskey
9ce027751e Bug 919878 - Fix abort in graphics code if content process shuts down quickly (r=mattwoodrow) 2014-01-15 13:10:39 -08:00
Kartikaya Gupta
9964f1abe1 Bug 915985 - Refactoring to introduce a ZoomConstraints class. r=botond 2014-01-06 13:26:44 -05:00
Kartikaya Gupta
c14ef68827 Bug 950487 - Remove unnecessary UpdateCompositionBounds function on APZC. r=Cwiiis 2013-12-17 14:25:57 -05:00
Kartikaya Gupta
cadff49718 Bug 949132 - Use the FrameMetrics flag on the layers update to update APZC scroll offset instead of tracking it in widget code. r=Cwiiis 2013-12-16 12:04:46 -05:00
Matt Woodrow
c5629ae923 Bug 913503 - Update windowed plugin positions before we schedule a composite with OMTC. r=roc 2013-12-16 18:38:42 +13:00