Commit Graph

264 Commits

Author SHA1 Message Date
Timothy Nikkel
e8e4f4f347 Bug 1002992. Part 2. Handle display ports and ignore viewport scrolling for image visibility display lists the same way we do for painting display lists. r=mats 2014-06-06 21:23:20 -05:00
Mats Palmgren
bebbaf8351 Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
fbf92a96ed Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-13 00:47:53 +00:00
Mats Palmgren
84ce46d68c Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
Wes Kocher
2669e87017 Backed out 11 changesets (bug 1008917) for apparently introducing an intermittent failure of B2G Crashtest-2 on a CLOSED TREE
Backed out changeset e2ab653f688a (bug 1008917)
Backed out changeset b52154d8d900 (bug 1008917)
Backed out changeset 2ab5b01da4de (bug 1008917)
Backed out changeset f7a38df1d44f (bug 1008917)
Backed out changeset 80304bb9a572 (bug 1008917)
Backed out changeset 10ed89a302e9 (bug 1008917)
Backed out changeset 161c41991d46 (bug 1008917)
Backed out changeset 25b2475d2368 (bug 1008917)
Backed out changeset b8000b31277c (bug 1008917)
Backed out changeset 9afa5e7715e1 (bug 1008917)
Backed out changeset 5c380c21351f (bug 1008917)
2014-05-12 15:47:41 -07:00
Mats Palmgren
ed113f77d6 Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-12 17:40:29 +00:00
Mats Palmgren
4a79e08cae Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-12 17:40:28 +00:00
Nathan Froyd
0989adf8a1 Bug 1003306 - part 2 - use services::GetPermissionManager everywhere that's appropriate; r=ehsan 2014-04-29 13:27:26 -04:00
Timothy Nikkel
86e8d750cd Bug 1000322. Don't let the display port base be larger than the subdocuments root frame bounds. r=roc
The dirty rect can be larger.
2014-04-23 21:12:11 -05:00
Kartikaya Gupta
fbfb2147f1 Bug 982888 - Populate the scroll parent field as appropriate. r= 2014-04-11 19:39:22 -04:00
Botond Ballo
fd9593005f Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn 2014-03-19 13:29:24 -04:00
Ryan VanderMeulen
3492c30dc3 Backed out 6 changesets (bug 982141) for Windows and OSX bustage. CLOSED TREE
Backed out changeset 16540ab2d2cb (bug 982141)
Backed out changeset 2ad9ce9d904e (bug 982141)
Backed out changeset af219bb49c06 (bug 982141)
Backed out changeset ffe51d96e86e (bug 982141)
Backed out changeset 6642718ad3bb (bug 982141)
Backed out changeset 95b341d26f7b (bug 982141)
2014-04-10 15:27:42 -04:00
Botond Ballo
ee90e70cbc Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn 2014-03-19 13:29:24 -04:00
Timothy Nikkel
a02ee35323 Bug 957668. Set the display port base rect in several places. r=roc 2014-03-26 21:46:24 -04:00
Timothy Nikkel
a1af4f9159 Bug 874950. Don't let fixed position conclude occlude async scrolled content. r=roc
It would be incorrect to occlude async scrolled content.

Instead of doing a lot of extra frame tree walking just use the flags on display items to tell if they are in fixed position subtrees.

Also, don't let the fixed position flag on display items get set if we start building display items inside a subdocument. If didn't do this non-fixed content in a subdocument that is in fixed content in the parent document would be marked as in fixed position, and no occlusion would occur at all. This means that the fix applies to slightly less cases which are less important so that a more important case works the same as before.
2014-03-20 18:23:16 -05:00
Neil Rashbrook
afcb26040f Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg 2014-03-18 00:23:03 +00:00
Wes Kocher
5b4557e895 Backed out 2 changesets (bug 514280) for OSX build bustage on a CLOSED TREE
Backed out changeset 2a015b45d808 (bug 514280)
Backed out changeset a01f97c1ed02 (bug 514280)
2014-03-17 15:19:53 -07:00
Neil Rashbrook
91221f71f5 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg 2014-03-17 19:07:09 +00:00
Carsten "Tomcat" Book
e1d5bc51eb merge b2g-inbound to mozilla-central 2014-02-28 14:42:11 +01:00
Timothy Nikkel
64cdf7b682 Bug 959847. Part 11. Use nsLayoutUtils::ViewportHasDisplayPort instead of repeating boilerplate code. r=roc 2014-02-27 16:01:54 -06:00
Timothy Nikkel
c9f2dc98e1 Bug 959847. Part 5. Only call RecordFrameMetrics for subdocuments if we are ignoring viewport scrolling so that we don't call it twice for the same scroll frame (the other one being the scroll layers created by nsGfxScrollFrame). r=roc 2014-02-27 16:01:53 -06:00
Timothy Nikkel
4e34d64075 Bug 959847. Part 4. Call RecordFrameMetrics for subdocument layers. r=roc
We do this by creating a new display item type: nsDisplaySubDocument.

Original patch by Kartikaya Gupta <kgupta@mozilla.com>.
2014-02-27 16:01:53 -06:00
Timothy Nikkel
55be396340 Bug 959847. Part 3. Make zoom items be contained in resolution items for subdocuments if they occur together. r=roc
Wrap the zoom item in the resolution item if we have both because we want the resolution scale applied on top of the app units per dev pixel conversion. Resolution is just a scale transform and app units per dev pixel affect layout, so conceptually the resolution gets applied after.
2014-02-27 16:01:52 -06:00
Timothy Nikkel
71c44b7860 Bug 959847. Part 2. Don't ignore "ignore viewport scrolling" on subdocuments. r=roc
This means that the layer we create in nsSubDocumentFrame::BuildDisplayList becomes the scrollable layer for the document and we early early from ScrollFrameHelper::BuildDisplayList before it gets to the nsDisplayScrollLayer creation.
2014-02-27 16:01:52 -06:00
Timothy Nikkel
80a1069a40 Bug 959847. Part 1. Retrieve the displayport of the root scroll frame the same way as everywhere else does in nsSubDocumentFrame::BuildDisplayList. r=roc 2014-02-27 16:01:52 -06:00
Reuben Morais
16c1e76108 Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
Arnaud Sourioux
c55abda61c Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Mats Palmgren
6c575417b9 Bug 946929 - Part 2, Disable painting for the shell while the child views are detached. r=roc 2014-02-03 23:47:57 +00:00
Timothy Nikkel
6d096d724f Bug 962443. Make layout frame tree dumping code work better for Fennec and b2g. r=mats 2014-01-26 16:07:02 -06:00
Robert O'Callahan
8bf64e4a4b Bug 917416. Force the background color of an <iframe> with a remote subdocument into its own layer. r=tnikkel 2014-01-10 15:59:59 +13:00
Mats Palmgren
824975337d Bug 943249 - Make <[i]frame scrolling> compatible with IE/Chrome; that is scrolling="no" (and synonyms) suppress scrollbars (as before), anything else has no effect. r=bz 2014-01-12 04:05:49 +00:00
Mats Palmgren
a56486443d Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Robert O'Callahan
884af75bd9 Bug 945203. Part 4: Add nsDisplayEventRegions and build it when painting. r=mats 2013-12-17 00:22:11 +13:00
Jonathan Kew
279981cdc3 bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu 2013-12-27 17:59:52 +00:00
Jonathan Kew
4796e463bc bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu 2013-12-27 17:59:21 +00:00
Robert O'Callahan
057c9328ae Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Phil Ringnalda
60097b7fbe Back out f55504b0184f (bug 950427) for mochitest-4 and mochitest-oth bustage (at least)
CLOSED TREE
2013-12-17 23:22:20 -08:00
Robert O'Callahan
bd0b944121 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Trevor Saunders
bf4845d00a bug 939049 - get rid of useless QIs r=smaug 2013-11-15 11:32:12 -05:00
Robert O'Callahan
3c3f9faed8 Bug 919144. Part 2: Force creation of a layer for every viewport with a displayport. r=mattwoodrow
This ensures that for all fixed-pos content attached to a viewport with a
displayport, the viewport has a layer and the fixed-pos content's layer will be
a direct child of the viewport's layer.
2013-09-27 17:56:00 +12:00
Kartikaya Gupta
eb5e968eff Bug 732971 - Create a new layer type for subdocuments with a resolution. r=tn
The new nsDisplayResolution layer type is created for any subdocument whose
presShell specifies a non-1.0 resolution. This is specifically needed for
platforms such as Android and Metro, where the presShells corresponding to
the tabs (which have non-1.0 resolutions) are not the root presShell.
2013-10-29 09:27:15 -04:00
Ehsan Akhgari
6cf84bf2d9 Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Nathan Froyd
b4a5129cce Bug 914826 - part 4 - fix source files that were bootlegging XPCOM do_* functions via generated ipdl headers; r=ehsan 2013-09-10 16:56:05 -04:00
Daniel Holbert
e881abc90a Bug 919871: Make .cpp files in layout/generic #include their corresponding .h file first. r=mats 2013-09-24 18:43:43 -07:00
Ehsan Akhgari
06d49ffd4d Bug 907883 - Minimize #includes in layout/generic; r=roc 2013-08-22 14:32:52 -04:00
Kan-Ru Chen (陳侃如)
a76f29d2b2 Bug 845169 - Update touch region from remote frame. r=roc 2013-08-13 15:56:57 +08:00
Mats Palmgren
377ee51cc1 Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
  was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
  "next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
  "[sc=0x7faa6b60e0a0] pst=:first-line" becomes
  "[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
  to mRect and do the same for nsLineBox::List where it was especially
  hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
  principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
  help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Robert O'Callahan
cb86e59771 Bug 858803. Fix coordinate system of subdocument frame bounds. r=mattwoodrow 2013-04-10 00:30:51 +12:00
Robert O'Callahan
d7f7732507 Bug 841192. Part 15: Move DisplayListClipState clipping methods to AutoSaveRestore and AutoClipMultiple helper classes for safer usage. r=mattwoodrow 2013-04-05 00:36:45 +13:00
Robert O'Callahan
29d310bf8a Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.
2013-03-04 22:56:02 +13:00