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

258 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange 6efd7c73b1 Bug 1298218 - Use DisplayItemClipChain for tracking clips on display items. r=mattwoodrow,tnikkel
This is the bulk of the changes.
 - DisplayItemScrollClip is removed. Instead, we will have 1) ActiveScrolledRoot
   and 2) DisplayItemClipChain.
 - ActiveScrolledRoot points to a scroll frame and allows traversing up the
   scroll frame chain.
 - DisplayItemClipChain is a linked list of clips, each clip being associated
   with the ActiveScrolledRoot that moves this clip.
 - Each display item has an ActiveScrolledRoot and a clip chain.
 - nsDisplayItem::GetClip returns the item of the clip chain that scrolls with
   the item's ASR. The separation between "regular clip" and "scroll clips"
   mostly goes away.
 - Tracking clips in the display list builder's clip state happens very
   similarly to how regular clips used to be tracked - there's a clip chain for
   content descendants and a clip chain for containing block descendants. These
   clip chains are intersected to create the combined clip chain.
 - There are strict rules for the ASR of a container item: A container item's
   ASR should be the innermost ASR which the item has finite clipped bounds with
   respect to.
 - At some point in the future, ASRs and AGRs should be reunified, but I haven't
   done that yet, because I needed to limit the scope of the change.

MozReview-Commit-ID: KYEpWY7qgf2

--HG--
extra : rebase_source : c727f6300a35463750639e165bfa37374c06b851
2017-01-31 17:07:35 -05:00
Cameron McCormack babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Timothy Nikkel f98faf04e3 Bug 1323606. Implement the pref layout.show_previous_page for e10s. r=gw280 r=mats
The existing implementation only works for non-remote subdocuments.

This essentially makes the changes from bug 1157941 conditional on this pref.
2016-12-19 17:34:00 -06:00
Julian Seward 2a625e574c Bug 1316556 - Remove zeroing allocation in class nsIPresShell. r=dbaron.
--HG--
extra : rebase_source : 203c4848cf0fe321b429c78ddf71acd662755e6d
2016-12-01 09:06:50 +01:00
Markus Stange 39097a49f3 Bug 1307242 - Call nsPresContext::NotifyNonBlankPaint when building the display list for a presshell that contains more than just canvas backgrounds. r=mattwoodrow
MozReview-Commit-ID: LLmt3ooMxL3

--HG--
extra : rebase_source : db3eb7cfa534b2b7312047871d4ae4fb97061b03
extra : histedit_source : 1b2896f78b23897b8fef235dbc215ae2e3416745
2016-11-09 22:46:26 -05:00
Mats Palmgren a6089b50fc Bug 1300369 part 9 - Add a ComputeSizeFlags param to nsFrame::ComputeSizeWithIntrinsicDimensions (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren ddb49488f0 Bug 1300369 part 8 - Move nsLayoutUtils::ComputeSizeWithIntrinsicDimensions to a nsFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren e78d14df88 Bug 1300369 part 4 - Refactor all ComputeAutoSize methods to take the full ComputeSizeFlags instead of just a "bool aShrinkWrap" for the eShrinkWrap flag (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Kartikaya Gupta a640f97b00 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
Mike Conley 3682283a8c Bug 1297996 - Add preference to show background colour between pageloads for non-e10s. r=tnikkel
Adds a hidden layout.show_previous_page pref for non-e10s that, when set to false,
will blank out the content area in between page loads instead of showing the
previous page.


MozReview-Commit-ID: 1EyDk4IabeK

--HG--
extra : rebase_source : efd4c745b2c249b1f57faedd8a3d5080c7445893
2016-08-17 17:55:49 -04:00
Michael Layzell aa89e8fd55 Bug 1293001 - Part 1: Change the BinaryName of nsIFrameLoaderOwner::frameLoader (which overloaded another virtual method) to FrameLoaderXPCOM, r=froydnj
MozReview-Commit-ID: Db3z2DP5qba
2016-08-11 15:49:39 -04:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Ting-Yu Lin 40fcd21b9a Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb

--HG--
extra : rebase_source : c91a2e174a0baec60c1b0111ac7636295004ab35
2016-07-21 18:36:39 +08:00
Ting-Yu Lin 4053c4c028 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5

--HG--
extra : rebase_source : acfa442a6483772fcb5748dc6f5e7072e599032a
2016-07-21 18:36:38 +08:00
Ting-Yu Lin 820f88de49 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc

--HG--
extra : rebase_source : 623ec822996ba0ea0058dd137acf5a658cdea04a
2016-07-21 18:36:35 +08:00
Robert Longson 27d1839139 Bug 1217266 - fix animation of filters in resource documents. r=jwatt 2016-06-02 07:35:31 +01:00
Carsten "Tomcat" Book 6dc6665bce Backed out changeset 4cfdd1649464 (bug 1263349) 2016-05-24 11:13:59 +02:00
Seth Fowler 1cb3c53e11 Bug 1263349 (Part 2) - Cache the current scroll parent and information about scrollports and displayports on nsDisplayListBuilder. r=botond,mstange 2016-05-24 01:12:48 -07:00
Timothy Nikkel bab76c33fa Bug 1265577. r=mats 2016-05-04 16:12:48 -05:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Ting-Yu Lin f930931ef5 Bug 1264837 Part 14 - Remove nsSubDocumentFrameSuper. r=dholbert
MozReview-Commit-ID: 21VMNckVco7

--HG--
extra : rebase_source : c44ef125c5bc762c85553dfddff8b43cebce4405
2016-04-18 14:17:58 +08:00
Cameron McCormack 6f4ce86293 Bug 1261754 - Part 7: Move pointer-events from nsStyleVisibility to nsStyleUserInterface. r=dholbert 2016-04-12 15:52:41 +10:00
Timothy Nikkel 29f5dca707 Bug 1261718. In nsSubDocumentFrame when getting the document from a view go through the view manager because it is more like to succeed. r=mats
The view is not guaranteed to have a frame (and won't during the early parts of the presshell's existence). It will have a view manager, and that will have a presshell during this time period.

Anytime a view has a frame it will also have a view manager and a pressshell so this is strictly better.
2016-04-05 01:33:36 -05:00
Timothy Nikkel eda8fbb9ea Bug 1261230. r=mats 2016-04-02 01:54:00 -05:00
Seth Fowler 5973113f1b Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Markus Stange 57c501e338 Bug 1238564 - Don't do another pass over the display list to figure out ancestor scroll clips. r=mattwoodrow
MozReview-Commit-ID: BgySqVGG43R

--HG--
extra : rebase_source : 752d726fbc238b783b8e41b7bcd2b6735c4d3739
extra : histedit_source : 0684a2b440de008fb24c7f82b270b9d69b6d77c5
2016-03-05 11:27:54 -05:00
Ting-Yu Lin 1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Xidorn Quan 3d7937e499 Bug 1064843 part 2 - Make nsSubDocumentFrame inherit nsContainerFrame. r=dholbert
--HG--
extra : source : a1a7b2971d7099fa8dc3589f5b690399a624f0ff
2016-01-28 10:11:00 +11:00
David Rajchenbach-Teller 42b6a4145f Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Sebastian Hengst d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller f5531f5260 Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Timothy Nikkel 4ec53b3bfa Bug 1234725. Don't change the dirty rect to the display port when building display lists for documents. r=mstange
Instead do it when we first encounter the root scroll frame.

Doing this goes back to bug 635053, where we did it because fixed position items weren't getting included. However in bug 974643 we learned that this was wrong. Displayports aren't relevant to fixed pos content, displayports are only relevant to scrolled content. And we set the dirty rects of fixed pos content specially. The only other thing that should be affected is scrollbars, and we already carefully set their dirty rects too.
2016-01-09 00:25:58 -06:00
Markus Stange b22db3eab2 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 1j8QG2b0rIG
extra : rebase_source : 027065697e7e0ef445d8bcf7a81cf0270dcf7b8b
2015-12-22 16:54:19 +01:00
Botond Ballo 1cb64f6960 Bug 1228597 - Remove the MOZ_SINGLE_PROCESS_APZ define. r=tn
Code previously guarded by this (added in bug 1224015) will now run
unconditionally.

--HG--
extra : source : ce0f51f55572334002ddf1878db447540d4c9b82
2015-11-27 21:39:07 -05:00
Randall Barker c3c082c5dd Bug 1224015 - Part 3: ifdef changes to C++APZ so that they only apply to single process APZ. r=tnikkel
Added MOZ_SINGLE_PROCESS_APZ flag.
2015-11-26 20:51:13 -06:00
Randall Barker 30c5396234 Bug 1224015 - Part 2: Have nsDisplayResolution items adjust event coordinates for hit testing and dispatching to content r=tnikkel 2015-11-26 20:51:13 -06:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Timothy Nikkel 96fca396cf Bug 1210578. Part 3. Create DecideScrollableLayer that encapsulates all logic to create display ports and build scrollable layers. r=mstange
For root scroll frames we need information about the async scrolling (or lack thereof) of the scroll frame before we get to ScrollFrameHelper::BuildDisplayList for the scroll frame. We need it in nsLayoutUtils::PaintFrame and nsSubdocumentFrame::BuildDisplayList. So we factor out all the code responsible for async scrolling decisions into one function we can call from all three places.
2015-10-12 15:21:49 -05:00
Jonathan Kew b8dbdb1dbd Bug 1191855 - Make the intrinsic size of <iframe> remain physical 300x150, regardless of writing mode. r=dholbert 2015-08-12 11:02:02 +01:00
Botond Ballo 9eadc95b3f Bug 1181832 - Keep gfxPrefs.h out of header files. r=kats
--HG--
extra : rebase_source : 33d5abb8f12f1173ae50d1712f15e273f9b26ace
extra : source : 4bd2e2744ef1b914d2859f3433b6b9026d91401b
2015-07-13 11:53:10 -04:00
Kartikaya Gupta 26766c4f1e Bug 1178060 - Ensure that if there is a document-level apz-aware event listener on a subdocument, we build the nsDisplaySubdocument item to hold that information. r=tn 2015-06-30 06:43:07 -04:00
Kan-Ru Chen 2710270ace Bug 1172889 - Rename nsFrameLoader::GetCurrentRemoteFrame to nsFrameLoader::GetCurrentRenderFrame. r=roc 2015-06-10 17:44:14 +08:00
Mats Palmgren a57fd54cfb Bug 1003441 - Check that the new frame is also a nsSubDocumentFrame (i.e. that Init has picked up the detached views). r=roc 2015-05-27 22:18:36 +00:00
David Parks 3fe715e93a Bug 1075670 - Make event.screen[XY] work in content processes (r=smaug,kats,tn,joshmoz) 2015-04-01 12:36:41 -07:00
Mats Palmgren 70fe7341e9 Bug 1149784 - Make nsSubDocumentFrame::GetMarginAttributes use CSSIntSize instead of the unit-less nsIntSize. r=roc 2015-03-31 22:09:02 +00:00
Bill McCloskey 7f4ac9ee96 Back out bug 1075670 2015-03-30 20:13:07 -07:00
Mats Palmgren ed9ed2d61a Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc 2015-03-29 22:38:40 +00:00
Timothy Nikkel d6eff64aa4 Bug 1144951. Rename ConvertAppUnits to ScaleToOtherAppUnits. r=mats 2015-03-26 16:44:40 -05:00
Bill McCloskey f2d972e4f2 Bug 1075670 - Make event.screen[XY] work in content processes (r=smaug,kats,tn,joshmoz) 2015-03-26 14:17:29 -07:00
Botond Ballo 2eb9751320 Bug 1139675 - Simplify the APIs for getting and setting the pres shell resolution. r=mstange,mattwoodrow
--HG--
extra : rebase_source : 18444e5f9304bbf9c2c14903be6aa4ebf8a08af3
extra : source : 60fe56e752d984a8d074af1bec1dfcd40a41e5f6
2015-03-06 18:07:59 -05:00