Commit Graph

4530 Commits

Author SHA1 Message Date
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
62aa179c29 Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.

--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Robert O'Callahan
96f57a5820 Bug 841192. Part 8: On encountering out-of-flow frames during display list construction, save their clip rect as well as their dirty rect for later use when we traverse the placeholder. r=mattwoodrow
--HG--
extra : rebase_source : 3a41e2eb4940f1ae7c0748f27211a7d0cf7ad638
2013-03-04 22:56:02 +13:00
Robert O'Callahan
4cfae34412 Bug 841192. Part 7: Move child->MarkAbsoluteFramesForDisplayList call down. r=mattwoodrow
--HG--
extra : rebase_source : 5d558cfe2850ece79fedc27cd5b6a6d4bf6f7cb3
2013-03-04 22:56:01 +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
Mats Palmgren
b6c309ad4c Bug 856243 - Add missing do_QueryFrame support and fix typo that caused most MathML frames to not QueryFrame to nsIMathMLFrame. Add static assertions to prevent those kinds of errors in the future. r=dholbert 2013-04-04 01:35:07 +02:00
Robert O'Callahan
18e132b4d8 Backout bug 851445 for test failure
--HG--
extra : rebase_source : 3314e6679f15134324d5de09334be14e17aa0790
2013-04-02 18:24:25 +13:00
Robert O'Callahan
34614bb0db Bug 851445. When saving a frame scroll position, if we're in the process of trying to scroll to a saved scroll position, save the desired position instead of the actual current position. r=mats 2013-03-21 15:44:37 +13:00
Cameron McCormack
9cda9d27bf Bug 856879 - Remove constructor arguments argument from style struct macros. r=dbaron 2013-04-02 12:45:48 +11:00
Kyle Machulis
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Mats Palmgren
5a7645d0da Backout 5104a8653170 (bug 856243). r=me 2013-04-01 19:10:37 +02:00
Mats Palmgren
21f60f38dd Bug 856243 - Add missing do_QueryFrame support. r=dholbert 2013-04-01 18:45:19 +02:00
Mats Palmgren
a9123c3d10 Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky
"new nsFrameList()" becomes "new (shell) nsFrameList()".
"delete list" becomes "if (list) list->Delete(shell)" - note also that
an additional assertion was added that list is empty when deleted.

"nsAutoPtr<nsFrameList> list(StealSomeFrames())" becomes
"AutoFrameListPtr list(aPresContext, StealSomeFrames())"
2013-04-01 17:26:02 +02:00
Mats Palmgren
0a84b8dbff Bug 729519 - Make frames destroy all child frames and remove their nsFrameList properties when destroyed. r=bzbarsky
Specifically, this wasn't done for the OutsideBullet list which was
destroyed by the property destructor, potentially after the entire
frame tree was gone.  Now we'll assert that the property destructor
isn't called.

Use SafelyDestroyFrameListProp when destroying PushedFloat and
OverflowOutOfFlows frame lists since it's more robust.

Destroy [Excess]OverflowContainers frame lists if they exist, regardless
of the IsFrameOfType(nsIFrame::eCanContainOverflowContainers) bit
(since the oveflow continuation tracker doesn't check that before
creating these lists -- this was the source of crash bugs before
that bit was added to ColumnSetFrame).

Assert in SetPropTableFrames that the property doesn't exist, because
if it does the property destructor will run, which isn't supported.
2013-04-01 17:26:02 +02:00
Mats Palmgren
38a10ed36f Bug 729519 - Allocate nsFrameList::sEmptyList from the .rodata segment, not the heap. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
967a2209e1 Bug 729519 - Simplify DestroyOverflowList() by requiring that the list is empty. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
8f57ed6edc Bug 729519 - Use SafelyDestroyFrameListProp also for the OverflowList. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
c65839b418 Bug 855917 - Minor nsAbsoluteContainingBlock code cleanup. r=dholbert 2013-04-01 17:26:01 +02:00
L. David Baron
5e108587ad Bug 855464: Optimize nsBlockReflowState::ClearFloats better, given that nsBlockFrame::WidthToClearPastFloats is somewhat expensive. r=dholbert
This fixes a performance issue that showed up in a profile of the b2g
contacts app (though it's not clear what percentage of the time it was
given the difficulty of understanding output of 'perf').
2013-03-31 00:50:29 -07:00
Daniel Holbert
42f6dbe262 Bug 856199: Remove nsHTMLReflowState's no-longer-needed AutoRestore #include. r=dbaron 2013-03-29 18:34:17 -07:00
Daniel Holbert
8dd3ed3130 Bug 785468: Compute flex container's baseline as-described in the spec. r=dbaron 2013-03-29 18:32:08 -07:00
Daniel Holbert
18cb8ef09e Bug 853946: Replace flex container's cached content-box cross-size and cached ascent with local variables in Reflow(). rs=Waldo 2013-03-29 18:32:03 -07:00
Kyle Machulis
c79ccc0693 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
a59d40f143 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Daniel Holbert
3d8dc14dc0 Bug 855850: Use MOZ_STATIC_ASSERT instead of #if, to verify that "break type" values are representable in 4 bits. r=mats 2013-03-28 16:27:31 -07:00
Andrea Marchesini
65e4f3628b Bug 825196 - Convert HTMLInputElement to WebIDL. r=Ms2ger 2013-03-28 15:41:32 -04:00
Daniel Holbert
81390a4e44 Bug 801268: Add crashtest for this bug. (test only, no review) 2013-03-28 01:50:22 -07:00
Daniel Holbert
38edcb5316 Bug 854263: Add special-case for flex items that are instances of nsFrame, whose trivial reflow impl doesn't request enough space for its border/padding. r=dbaron 2013-03-28 01:50:21 -07:00
Daniel Holbert
b4e66452e3 Bug 848539 part 5: Back out 6bb37077d615, bug 763689 part 2 (style-system handling for min-width:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert
32bce336fe Bug 848539 part 4: Back out 82f73bdb2237, bug 763689 part 3 (style-system handling for min-height:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert
3bcdb3c7b7 Bug 848539 part 3: Back out part of 076d87bf30d0, bug 666041 part 7 (flexbox frame class impl -- just removing the code that deals with min-height:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert
c47c48ab7d Bug 848539 part 2: Back out de6a5c46a8ff, bug 666041 part 8 (special-handling for min-width:auto as min-content, for flex items). r=dbaron 2013-03-27 23:33:19 -07:00
Phil Ringnalda
bad5ef10f3 Back out c04824522d46 (bug 848973) for (at least) 10.8 and Android reftest failures
CLOSED TREE
2013-03-26 23:31:57 -07:00
Alexander Surkov
d42673dcb7 Bug 853361 - moving by words is inconsistent, r=roc 2013-03-27 09:57:29 +09:00
Cameron McCormack
3b054d3f86 Bug 848973 - Document what aFrame means in nsStyleDisplay::IsBlockInside() and friends. r=roc 2013-03-27 15:49:56 +11:00
Daniel Holbert
c6597c02f3 Bug 473236, 2013 edition: Remove executable bit from files that clearly don't need it (html, xhtml, xul, svg, png, jpg, ttf files in test dirs within /layout). DONTBUILD 2013-03-25 17:01:35 -07:00
Mats Palmgren
e28ed8f7a7 Bug 850931. r=roc 2013-03-25 21:27:05 +01:00
Benoit Girard
fc10a7cfe4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
9d12529d78 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Cameron McCormack
35661a5229 Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
Joe Drew
c0dc68a18f Merge last pgo-clean changeset to mozilla-central. 2013-03-24 11:38:13 -04:00
Joe Drew
a02c202899 Merge last green mozilla-inbound into mozilla-central. 2013-03-23 18:45:56 -04:00
Daniel Holbert
23ae17fd01 (no bug) Fix indentation of multi-line std::max invocations in nsFlexContainerFrame. Whitespace-only, DONTBUILD 2013-03-22 12:13:51 -07:00
Daniel Holbert
fed2c3e17c Bug 851396: Keep skipping flex-item style fixup for anonymous content through the call to AddFrameConstructionItemsInternal, to handle style re-resolution after XBL bindings load. r=bz 2013-03-21 18:50:54 -07:00
Mats Palmgren
d6de14ba46 Bug 842166 - Block scripts during nsGfxScrollFrameInner::ReflowFinished(). r=ehsan 2013-03-23 00:08:59 +01:00
Joshua Cranmer
969dfd9705 Bug 767563 - Add a clang static checker, part 3: Move the MOZ_MUST_OVERRIDE macro to MFBT. r=Waldo 2013-03-23 21:14:43 -05:00
Mats Palmgren
00ceb5a595 Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky 2013-03-23 21:49:45 +01:00
Mats Palmgren
a98c0cde58 Backout rev 85397e0a6dba - wrong patch. r=me 2013-03-23 21:45:53 +01:00
Mats Palmgren
56ef5c292e Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky 2013-03-23 21:10:34 +01:00
Mats Palmgren
10dc9659ed Bug 851849 - Make nsBlockFrame::AddFrames() return void since it can't fail, and non-virtual since it's not meant to be overridden. Add a post-condition that the given
aFrameList is empty.  r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
0e54488c73 Bug 851848 - Remove the OOM check for allocating the BulletFrame now that PresArena allocations are infallible. r=bzbarsky 2013-03-23 21:10:34 +01:00
Mats Palmgren
134413ceb0 Bug 851848 - Remove OOM checks for the result of NewLineBox now that PresArena allocations are infallible. r=bzbarsky 2013-03-23 21:10:33 +01:00
Mats Palmgren
7a375e174e Bug 852670 - Make nsContainerFrame::SetPropTableFrames return void since it's infallible. r=bzbarsky 2013-03-23 21:10:33 +01:00
Boris Zbarsky
fe67641613 Bug 852803. nsHTMLCanvasFrame::Init should call its superclass' init, not some random ancestor class. r=tn 2013-03-21 15:09:15 -04:00
John Schoenick
0262903d6f Bug 784131 - Kill plugins that become unrendered (e.g. display:none). r=josh 2013-03-20 14:29:23 -07:00
Robert O'Callahan
b916edc330 Bug 846901 - Skip nsDisplayWrapList construction if there's only one item to wrap and it already has the right frame. r=mattwoodrow 2013-03-19 09:08:28 -04:00
Boris Zbarsky
ca163976eb Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
f1589419f5 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Boris Zbarsky
bcb30a2aa5 Bug 852428 part 1. Make CreateViewForFrame infallible. r=dholbert 2013-03-19 21:47:47 -04:00
Mike Shal
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Scott Johnson
c468cd5714 Bug 600100, Part 3: Followup patch to maximize efficiency of changes in 2ed966e4. [r=mats] 2013-03-19 12:36:05 -05:00
Scott Johnson
dd2a4b5ec2 Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns. [r=dbaron] 2013-03-19 09:05:05 -05:00
Scott Johnson
ed9f2147f2 Backed out changeset 3b18c328b316 (bug 600100) to fix commit message DONTBUILD. 2013-03-19 09:43:27 -05:00
Scott Johnson
17da576025 Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns. 2013-03-19 09:05:05 -05:00
Ed Morley
64d5e46eeb Backed out changeset 00280175733e (bug 846901) for crashes; CLOSED TREE 2013-03-19 14:15:55 +00:00
Robert O'Callahan
eb45e73abf Bug 846901 - Skip nsDisplayWrapList construction if there's only one item to wrap and it already has the right frame. r=mattwoodrow 2013-03-19 09:08:28 -04:00
Andrea Marchesini
fef387cf3e Bug 841493 - Rename nsHTMLVideoElement to HTMLVideoElement, r=Ms2ger
--HG--
rename : content/html/content/public/nsHTMLVideoElement.h => content/html/content/public/HTMLVideoElement.h
rename : content/html/content/src/nsHTMLVideoElement.cpp => content/html/content/src/HTMLVideoElement.cpp
2013-03-19 13:27:35 +01:00
Andrea Marchesini
8c4773bbdb Bug 841493 - Rename nsHTMLMediaElement to HTMLMediaElement, r=Ms2ger
--HG--
rename : content/html/content/public/nsHTMLMediaElement.h => content/html/content/public/HTMLMediaElement.h
rename : content/html/content/src/nsHTMLMediaElement.cpp => content/html/content/src/HTMLMediaElement.cpp
2013-03-19 13:23:54 +01:00
Ed Morley
b2109c458f Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
2b1775b4e9 Backed out changeset d195190adc48 (bug 851611)
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
664cf994b4 Bug 851611 - Part 3: Rename headers. r=jrmuizel
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
c4c6a0ddf5 Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Ms2ger
8834dd56c9 Bug 845374 - Part j: Stop including nsIXPCScriptable.h in nsContentUtils.h; r=khuey 2013-03-17 08:55:15 +01:00
Daniel Holbert
c3374e8f8b Bug 851607: Make nsFlexContainerFrame::Reflow reflow its children unconditionally. r=dbaron 2013-03-15 22:40:57 -07:00
Mats Palmgren
cc1fa1abde Bug 851485 - Restoring scroll position from history should only suppress one scroll-to-anchor. r=bzbarsky 2013-03-15 23:32:35 +01:00
Mats Palmgren
c40385817c Bug 849219 - Store the scroll state also when the position is 0,0 to avoid scrolling to an #ID on reload. r=roc 2013-03-15 23:32:35 +01:00
Mats Palmgren
e4f01706ec Bug 850964 - Remove obsolete NS_FRAME_INVALIDATE_ON_MOVE flag. r=roc 2013-03-15 23:32:35 +01:00
Mats Palmgren
f4572349ae Bug 849603 - Make sure we use StartRemoveFrame for the first (existing) list to remove from. r=bzbarsky 2013-03-15 23:32:35 +01:00
Mats Palmgren
596e206f74 Bug 847209 - Don't assert if the frame is in the kOverflowList child list. r=bzbarsky 2013-03-15 23:32:35 +01:00
Mats Palmgren
30b8a9aadc Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron 2013-03-15 23:32:35 +01:00
Mats Palmgren
9590785240 Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron 2013-03-15 23:32:35 +01:00
Scott Johnson
134ecdfa4f Bug 762902: Add a new ReflowChild flag within nsContainerState to disable deletion of next-in-flow children to prevent crash. [r=mats] 2013-03-15 13:36:30 -05:00
Ed Morley
c7a1bf0e5b Backed out changeset 4bfe5e636d68 (bug 850964) for assertions on a CLOSED TREE 2013-03-14 15:19:06 +00:00
Ed Morley
d9733f76a8 Backed out changeset 82bfa9035c6a (bug 847208) 2013-03-14 15:18:37 +00:00
Ed Morley
3e60173ed5 Backed out changeset 253df4cdfdb9 (bug 847208) 2013-03-14 15:18:33 +00:00
Mats Palmgren
6597974e6c Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron 2013-03-14 14:39:26 +01:00
Mats Palmgren
ef5ba27916 Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron 2013-03-14 14:39:26 +01:00
Mats Palmgren
13657dc37c Bug 850964 - Remove obsolete NS_FRAME_INVALIDATE_ON_MOVE flag. r=roc 2013-03-14 14:39:26 +01:00
Daniel Holbert
432403a040 Bug 841827: Mark flex container frame as having a relative height, if it's abspos w/ auto-height and top,bottom both set. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4.xhtml
2013-03-14 01:18:53 -07:00
Jeff Walden
cc0ac55d6b Bug 847480 - Convert DeprecatedAbs overloads taking floating point (except for nscoord uses, when nscoord is optionally a floating point type) to Abs. r=Ms2ger 2013-03-05 15:43:44 -08:00
Jeff Walden
0bfefb7eed Bug 847480 - Blindly convert all existing mozilla::Abs users to mozilla::DeprecatedAbs. Individualized conversions to the reformed mozilla::Abs will continue until mozilla::DeprecatedAbs is unused, at which point it will be removed. r=Ms2ger 2013-03-05 15:43:30 -08:00
Trevor Saunders
43728598df bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Phil Ringnalda
7fbba09df0 Back out fee79a593fd3 and 2c8930343985 (bug 825341) for having probably needed-clobber 2013-03-11 20:10:18 -07:00
Trevor Saunders
3de595d32e bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
Scott Johnson
b4b29d3382 Bug 846575: Clean up nsColumnSetFrame by adding an isBalancing convenience member to ReflowConfig. [r=fantasai] 2013-03-08 09:43:46 -06:00
Jonathan Kew
4bb4065eea bug 840431 - cache an ellipsis textrun on gfxFontGroup, to minimize perf overhead due to text-overflow. r=roc 2013-03-08 10:41:31 +00:00
Matt Woodrow
d791fb399a Bug 844750 - Don't use per-display-item invalidation for table frames. r=roc 2013-03-08 15:18:45 +13:00
Matt Woodrow
43a03870a5 Bug 725981 - Only invalidate the difference in bounds when a solid color moves or resizes. r=roc 2013-03-08 15:15:10 +13:00
Timothy Nikkel
2b0ae273b3 Bug 848421. Part 2. Remove useless PresContext argument to nsCSSRendering::FindBackground. r=mats 2013-03-07 10:03:49 -06:00