Commit Graph

163 Commits

Author SHA1 Message Date
Mats Palmgren
80071d48fe 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
7d6cddd940 Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-13 00:47:53 +00:00
Mats Palmgren
5023eccc38 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
4bfe3c39fd 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
63eaf102e1 Bug 1008917 - part 8, make nsLeafFrame::DoRewflow() return type 'void'. r=roc 2014-05-12 17:40:29 +00:00
Mats Palmgren
3272848305 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
4c20a67b0d Bug 1003306 - part 2 - use services::GetPermissionManager everywhere that's appropriate; r=ehsan 2014-04-29 13:27:26 -04:00
Timothy Nikkel
8dacd34ec8 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
ab6d729aae Bug 982888 - Populate the scroll parent field as appropriate. r= 2014-04-11 19:39:22 -04:00
Botond Ballo
05a2f728cf Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
--HG--
extra : rebase_source : 6ceb20abb14f3e829ea06c3b3b911455cff9db23
2014-03-19 13:29:24 -04:00
Ryan VanderMeulen
2bf6dfd88c 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
c3e7091b0a Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
--HG--
extra : rebase_source : cecfe35b5407d6bbe1709eb0a2abf55ab8503c2d
2014-03-19 13:29:24 -04:00
Timothy Nikkel
b33e833306 Bug 957668. Set the display port base rect in several places. r=roc 2014-03-26 21:46:24 -04:00
Timothy Nikkel
6eb349ee89 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
c3b2f90f39 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : f8fb50de9292320eb7589dd28dc566d0f5044da6
2014-03-18 00:23:03 +00:00
Wes Kocher
c0dba87922 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
b07eaa1644 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg
--HG--
extra : rebase_source : eaca8b2925eaffb49e29a617cd72c0d6686e6d9e
2014-03-17 19:07:09 +00:00
Carsten "Tomcat" Book
a927d781fe merge b2g-inbound to mozilla-central 2014-02-28 14:42:11 +01:00
Timothy Nikkel
00358747ba Bug 959847. Part 11. Use nsLayoutUtils::ViewportHasDisplayPort instead of repeating boilerplate code. r=roc 2014-02-27 16:01:54 -06:00
Timothy Nikkel
33274d8cd4 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
b2fdd6bcf1 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
f391dc3f7b 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
184dbd98bd 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
2457fccf35 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
f954df12ae Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen
--HG--
rename : content/base/public/nsINameSpaceManager.h => content/base/public/nsNameSpaceManager.h
2014-02-27 20:04:46 -03:00
Arnaud Sourioux
bc988b83ca 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
8a8fb80e38 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
be86ba744c 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
d55331eef0 Bug 917416. Force the background color of an <iframe> with a remote subdocument into its own layer. r=tnikkel
--HG--
extra : rebase_source : 41692d16014209430fa68973dfa0296921083aae
2014-01-10 15:59:59 +13:00
Mats Palmgren
0b5c8bb86e 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
0346fbe46a 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
ddd88c039d Bug 945203. Part 4: Add nsDisplayEventRegions and build it when painting. r=mats
--HG--
extra : rebase_source : 26b71b6a18681e8fc48c6082c8df6263c1bd3739
2013-12-17 00:22:11 +13:00
Jonathan Kew
afd9fd3b50 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
b9938a1edc 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
aeb166a207 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
--HG--
extra : rebase_source : 59ce23c3ab81afc624921e4543fe48dd7ae47ce2
2013-12-18 18:37:24 +13:00
Phil Ringnalda
47bb18469f 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
9454d623f6 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Trevor Saunders
bb5ea2186e bug 939049 - get rid of useless QIs r=smaug 2013-11-15 11:32:12 -05:00
Robert O'Callahan
cbf2dad73d 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.

--HG--
extra : rebase_source : da35bacad5518b94cb0b92a198d4f607cede4ac9
2013-09-27 17:56:00 +12:00
Kartikaya Gupta
b0a97ce747 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
0a3a2ee94a 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
b095d63d5d 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
c191b38ac7 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
80d135155d Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Kan-Ru Chen (陳侃如)
e2a7b7064f Bug 845169 - Update touch region from remote frame. r=roc 2013-08-13 15:56:57 +08:00
Mats Palmgren
796a090f34 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
a43cb9630a Bug 858803. Fix coordinate system of subdocument frame bounds. r=mattwoodrow
--HG--
extra : rebase_source : 3fd0436f141542dcf50f318a47670329c9c7a814
2013-04-10 00:30:51 +12:00
Robert O'Callahan
68e0be54fa Bug 841192. Part 15: Move DisplayListClipState clipping methods to AutoSaveRestore and AutoClipMultiple helper classes for safer usage. r=mattwoodrow
--HG--
extra : rebase_source : aa674d4fa93f1b7c2b4dd84ba8d888cc9f289265
2013-04-05 00:36:45 +13:00
Robert O'Callahan
7cbe6380ff 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.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
6651accbe4 Bug 841192. Part 1: Make <frame> elements behave more like <iframe>s, in particular supporting padding and borders (but not border-radius). r=mats
--HG--
extra : rebase_source : b49a430b7a54bc0579f4f109afa001634a2b8930
2013-04-03 00:03:03 +13:00