Commit Graph

1035 Commits

Author SHA1 Message Date
Boris Zbarsky
f4a1faf65e Bug 852501 part 16. Make ConstructFrame infallible. r=dholbert 2013-03-19 21:47:53 -04:00
Boris Zbarsky
e449bf4fb7 Bug 852501 part 15. Make ConstructFramesFromItem infallible. r=dholbert 2013-03-19 21:47:52 -04:00
Boris Zbarsky
3b9255c991 Bug 852501 part 14. Make FrameFullConstructor implementations infallible. r=dholbert 2013-03-19 21:47:52 -04:00
Boris Zbarsky
f508fc35f5 Bug 852501 part 13. Clean up ConstructSelectFrame a bit to get rid of unreachable codepaths. r=dholbert 2013-03-19 21:47:52 -04:00
Boris Zbarsky
30c944818a Bug 852501 part 12. Make ConstructBlock infallible. r=dholbert 2013-03-19 21:47:52 -04:00
Boris Zbarsky
a75a81c666 Bug 852501 part 11. Make FlushAccumulatedBlock infallible. r=dholbert 2013-03-19 21:47:51 -04:00
Boris Zbarsky
d6f028e002 Bug 852501 part 10. Make ProcessChildren infallible. r=dholbert 2013-03-19 21:47:51 -04:00
Boris Zbarsky
0506bc3709 Bug 852501 part 9. Optimistically make ConstructFramesFromItemList infallible in the hope that this is the only thing that makes other things fallible. r=dholbert 2013-03-19 21:47:51 -04:00
Boris Zbarsky
06edb2c468 Bug 852501 part 8. Make WrapFramesInFirstLetterFrame infallible. r=dholbert 2013-03-19 21:47:50 -04:00
Boris Zbarsky
530044675c Bug 852501 part 7. Make WrapFramesInFirstLineFrame and AppendFirstLineFrames infallible. r=dholbert 2013-03-19 21:47:50 -04:00
Boris Zbarsky
b1a4910924 Bug 852501 part 6. Make ConstructTextFrame infallible. r=dholbert 2013-03-19 21:47:50 -04:00
Boris Zbarsky
a71aa4e129 Bug 852501 part 5. Make InitAndRestoreFrame infallible. r=dholbert 2013-03-19 21:47:50 -04:00
Boris Zbarsky
f75d10efbe Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
685b153f9f Bug 852501 part 3. Make some callees of CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
fa55d3fe1c Bug 852501 part 2. Make nsFrameConstructorState::AddChild infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
78b553c6e9 Bug 852501 part 1. Make CreatePlaceholderFrameFor infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Boris Zbarsky
462f47d89e Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Boris Zbarsky
f801eea794 Bug 852408. Don't reframe the parent if a frame whose next sibling is a table pseudo is removed, unless its prev sibling is also a table pseudo. r=dholbert 2013-03-19 21:47:47 -04:00
Trevor Saunders
324dfcc313 bug 852379 - remove unecessary nsHashtable.h includes r=Ms2ger 2013-03-18 21:18:26 -04:00
Ed Morley
4a0f5f39ca Backed out changeset c75481a07302 (bug 851611) 2013-03-18 14:10:35 +00:00
Ed Morley
47bc17c5f5 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
90f13c7e56 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
95a5b4c35f Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
L. David Baron
713f97b07f Bug 845837: Don't use our dynamic updating for relative positioning on inner table frames, which don't do relative positioning at all. r=ehsan
This is somewhat evil, but should get us back into the state we were in
before.  There are probably other bugs lurking here as well, though,
related to other cases where we don't support relative positioning.  We
really just need to make our relative positioning support more general.
2013-03-07 17:59:32 -08:00
Timothy Nikkel
1e3bfd6883 Bug 848421. Part 2. Remove useless PresContext argument to nsCSSRendering::FindBackground. r=mats 2013-03-07 10:03:49 -06:00
David Zbarsky
f057c989f0 Bug 847120: Stop QIing to nsIDOMSVGFilterPrimitiveStandardAttributes r=bz 2013-03-07 02:12:32 -05:00
Trevor Saunders
8631e44d32 bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger 2013-02-14 10:33:16 -05:00
David Zbarsky
26c2ece3bf Bug 846662 - Rename DOMSVGTests to SVGTests r=jwatt
--HG--
rename : content/svg/content/src/DOMSVGTests.cpp => content/svg/content/src/SVGTests.cpp
rename : content/svg/content/src/DOMSVGTests.h => content/svg/content/src/SVGTests.h
2013-03-02 01:08:42 -05:00
Daniel Holbert
1a693ffe99 Bug 844529: Disable flex-item style fixup when resolving style for anonymous content in nsCSSFrameConstructor::ProcessChildren(). r=bz 2013-02-26 21:44:55 -08:00
Daniel Holbert
4987835a8d Bug 812822 part 3: Add a TreeMatchContext flag to indicate that we should skip flex item style fixup, and use it when framing anonymous content in ConstructFrame(). r=bz 2013-02-20 23:35:03 -08:00
Matt Woodrow
2d2e695b90 Bug 840480 r=roc 2013-02-20 13:13:01 +13:00
Mats Palmgren
b546ef5ec6 Bug 822910. r=roc 2013-02-19 02:44:14 +01:00
L. David Baron
5ef4421fa5 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Wes Johnston
daa8624c27 Bug 838256, part 1 - Initial work on the layout pieces for <input type=range>. DONTBUILD separately from jwatt's changeset (the next one) to finish this work. r=dholbert for the combined diff. 2013-02-16 17:57:21 +00:00
L. David Baron
f3cff43ce7 Bug 841789, patch 3: Some removal of unneeded style context null-checks and comment cleanup. r=dholbert 2013-02-15 21:38:34 -08:00
L. David Baron
b387f0fbea Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Cameron McCormack
b23fedc2f1 Bug 841225 - Do not create frames for HTML elements within a <tspan>. r=bzbarsky 2013-02-14 17:23:52 +11:00
Robert O'Callahan
36e6c475bf Bug 836990. Put fixed-pos items in the abs-pos list of the container whenever it doesn't have a fixed-pos list. It's simpler this way and handles all edge cases. r=bzbarsky 2013-02-12 17:55:39 +13:00
Kang-Hao (Kenny) Lu
e6b942ca6a Bug 817395 - Clean up the temporary style context used for font size comparision of the root before the rule node tree is rebuilt. r=dbaron 2013-02-11 18:04:11 -08:00
Cameron McCormack
6af0afcd5a Bug 655877 - Part 42a: Handle SVG text frame pref changes gracefully. r=bz,longsonr 2013-02-11 17:22:18 +11:00
Cameron McCormack
26ad150ad9 Bug 655877 - Part 42: Construct new SVG text frames if the pref is set. r=bz 2013-02-11 17:22:18 +11:00
Cameron McCormack
233ef5726d Bug 655877 - Part 36: Make referenced text path updates cause SVG text relayout. r=longsonr,jwatt 2013-02-11 17:22:17 +11:00
Matt Woodrow
c219cc460e Bug 832611 - Use NotifyDestroyingFrame to remove frames from the OverflowChangedTracker. r=roc 2013-01-26 14:34:58 +13:00
Robert O'Callahan
63ac545cc9 Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky 2013-01-25 21:58:33 +13:00
Robert O'Callahan
d869cf0ec4 Backout 342c2b349402, bug 803192 2013-01-25 21:50:24 +13:00
Robert O'Callahan
8d583b393c Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky 2013-01-25 17:50:32 +13:00
Bobby Holley
ca53b9e294 Bug 833412 - Remove AddBinding/RemoveBinding and remove dead code. r=bz 2013-01-24 18:45:50 +01:00
Robert O'Callahan
8b40491377 Backed out changeset e3ee71614172 (bug 830192)
--HG--
extra : rebase_source : d72290552011b539b8d9cc0a7a59dad4e585aa06
2013-01-23 18:19:45 +13:00
Robert O'Callahan
cd0a72d12e Bug 830192. Integrate GetFixedContainingBlock into GetAbsoluteContainingBlock and ensure only elements which can be abs-pos containing blocks are turned into fixed-pos containing blocks when transformed. r=bzbarsky
--HG--
extra : rebase_source : 4d9bd92b23b1011a8ffba33d009615eb7f42a8a7
2013-01-23 17:06:12 +13:00
Matt Woodrow
8a5da117b6 Bug 822906 - Use SplayTree to remove deleted frames from RestyleTracker. r=roc 2013-01-16 12:12:40 +13:00
Mats Palmgren
d5826be6d7 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Robert O'Callahan
0a7fb44e77 Bug 827577. Be a lot more careful about saving and restoring frame constructor state for fixed-pos descendants of CSS-transformed elements. r=bzbarsky
--HG--
extra : rebase_source : b78a8cb774b961696e59c2c27a8ade56d629b78f
2013-01-11 00:47:33 +13:00
Mounir Lamouri
af0ede0616 Bug 777283 - Adds <input type='time'> behind "dom.experimental_forms" pref. r=smaug 2013-01-08 17:10:00 +00:00
Cameron McCormack
f318d9c354 Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron 2013-01-09 10:25:48 +11:00
Cameron McCormack
4129a6997c Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE. 2013-01-08 19:36:21 +11:00
Cameron McCormack
e48c81d4fd Bug 508725 - Part 5: Record the <style scoped> elements in scope in preparation for selector matching. r=dbaron 2013-01-08 19:09:23 +11:00
Ehsan Akhgari
b7608f387d Merge mozilla-central into mozilla-inbound 2013-01-05 16:00:35 -05:00
Daniel Holbert
88dbb60006 (no bug) Clarify comment in ConstructFieldSetFrame (and fix typo s/list frame/fieldset frame/). comment-only, DONTBUILD 2013-01-05 11:52:53 -08:00
Robert O'Callahan
0f0950d70e Bug 826632. Part 2: Use nsRefPtr<nsViewManager> instead of nsCOMPtr. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 7245e7c988a208471d8c860449ff7b06c29a4a52
2013-01-05 16:12:42 +13:00
Robert O'Callahan
a9f8b202ea Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : d00947c925b17f860fcdc0e12b1ec3cc31b7c630
2013-01-05 16:12:24 +13:00
Phil Ringnalda
9297efcdad Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Daniel Holbert
6e095c82d5 Bug 824862: Don't skip over generated-content children of a flex container, even if they look like whitespace. r=bz 2013-01-04 20:05:44 -08:00
Robert O'Callahan
1d8aabf788 Bug 826632. Part 2: Use nsRefPtr<nsViewManager> instead of nsCOMPtr. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : c9eabd54bb43d711a8c24222620abfdde674a1f7
2013-01-05 16:12:42 +13:00
Robert O'Callahan
9abe8bbe09 Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 85587555e1f202809cd39fe899570644e6ca4eb3
2013-01-05 16:12:24 +13:00
Robert O'Callahan
106f5d95d1 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Robert O'Callahan
4282b68070 Bug 816359. Part 2: Make nsStyleDisplay::HasTransform take a frame parameter and check that the frame supports transforms. r=mats" 2012-12-31 11:45:57 +13:00
Robert O'Callahan
e2825e0682 Bug 816359. Part 1: When constructing inline frames, we should never treat transforms as making the inline an abs-pos containing block, since transforms don't apply to inlines. r=bz 2012-12-31 11:45:51 +13:00
Ryan VanderMeulen
af7ac0adf4 Merge m-c to inbound. 2012-12-28 12:57:30 -05:00
Raphael Catolino
5c4e542449 Bug 769385 - Add type attribute date for <input> behind "dom.experimental_forms" pref. r=mounir 2012-12-27 16:06:53 +00:00
Mats Palmgren
f75d0275c1 Bug 824641 - Move the destroyed frame check before any use of it. r=roc 2012-12-27 22:24:08 +01:00
Jonathan Watt
f995910c3f Bug 822378 - Update the overflow rects of the child frames when an nsSVGOuterSVGFrame's children-only transform changes. r=longsonr. 2012-11-29 18:24:14 +00:00
Jonathan Watt
1e1e657295 Bug 802628 - Part 1, Kill nsSVGUtils::InvalidateAndScheduleReflowSVG. r=mattwoodrow. 2012-11-28 09:42:13 +00:00
Jonathan Watt
d2dbf348b9 Bug 822025 - nsCSSFrameConstructor.cpp:9752:7: warning: variable 'wrapperType' is used uninitialized whenever switch default is taken. r=bz. 2012-11-27 11:49:01 +00:00
Jeff Walden
e0523203c9 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Jonathan Watt
7ff8545b8c Kill Windows line-endings in nsCSSFrameConstructor.cpp. r=me. No bug. DONTBUILD. 2012-11-26 08:14:23 +00:00
Trevor Saunders
55821aa041 bug 781409 - remove nsITableLayout r=roc,davidb 2012-08-08 09:05:17 -04:00
Nathan Froyd
d7fd75357d Bug 820889 - convert PendingBinding to use mozilla::LinkedList; r=dholbert 2012-12-12 11:58:26 -05:00
Nicholas Cameron
3575f84d30 Bug 780692; throttle OMTA (rollup patch). r=dbaron,bz
--HG--
extra : rebase_source : 1207275df5c509ac1974e2b9333c738b995f9d5e
2012-12-12 10:12:43 +13:00
Matt Woodrow
62137a7adb Bug 815666 - Use OverflowUpdateTracker to avoid calling UpdateOverflow on the same frame multiple times. r=roc 2012-12-10 15:33:04 +13:00
Robert O'Callahan
faea2c746e Bug 816458. Instead of removing the MAY_BE_TRANSFORMED bit in certain frame classes, add an nsIFrame::SupportsCSSTransforms method and call it when necessary. r=mats 2012-12-04 17:50:05 +13:00
Kartikaya Gupta
2898501127 Bug 814418 - Fix some warnings about unused variables. r=ehsan 2012-11-30 11:06:37 -05:00
Mats Palmgren
11281fb75a Bug 814677 - Replace XP_IS_SPACE with dom::IsSpaceCharacter and add form-feed to match DOM spec. r=bz 2012-11-30 17:04:11 +01:00
Mats Palmgren
b231b1fb07 Bug 812665 - Look for placeholders in continuations and special siblings too. r=roc 2012-11-19 20:35:12 +01:00
Robert O'Callahan
b37fa487a3 Bug 811301. Part 1: Save and restore state of root scroll frame when reframing the root element, and treat root scroll frame state like any other frame. r=mats 2012-11-14 22:39:58 -08:00
L. David Baron
beb7938e9e Bug 809533, patch 4: Remove null-checks of NS_New*Frame callers in the frame constructor. r=bzbarsky 2012-11-09 10:30:28 -08:00
Daniel Holbert
c35b3855b6 Bug 783415 part 1: Make "display" value of flex items compute to their blockified forms. r=dbaron 2012-11-07 11:28:59 -08:00
Robert Longson
9dc31645d1 Bug 779971 - Make nsSVGTextPathProperty::DoUpdate trigger nsSVGTextFrame::NotifyGlyphMetricsChange() off an asynchronous change hint (to avoid calling nsLayoutUtils::FrameNeedsReflow synchronously under nsISVGChildFrame::ReflowSVG or during frame teardown, and avoid infinite loops caused by using an event queue event). r=jwatt.
--HG--
extra : rebase_source : 4dc4e59cf423f6ffb02826fb2f357edda85c048c
2012-11-07 09:53:44 +00:00
Ed Morley
49fa790390 Backout 99a2125bd365 (bug 779971) for reftest failures 2012-11-07 12:31:00 +00:00
Robert Longson
699d16a0e0 Bug 779971 - Make nsSVGTextPathProperty::DoUpdate trigger nsSVGTextFrame::NotifyGlyphMetricsChange() off an asynchronous change hint (to avoid calling nsLayoutUtils::FrameNeedsReflow synchronously under nsISVGChildFrame::ReflowSVG or during frame teardown, and avoid infinite loops caused by using an event queue event). r=jwatt. 2012-11-07 09:53:44 +00:00
Robert Longson
17448030e0 Move assertion up. r=jwatt. no bug. DONTBUILD.
--HG--
extra : rebase_source : cbe99f683de3407ceb40b35c96d3d80d3d4a76a8
2012-11-06 18:57:58 +00:00
Matt Woodrow
1e525216af Bug 807563 - Update the overflow areas of all preserve-3d children when the transform changes. r=roc 2012-11-05 12:12:05 +13:00
Mats Palmgren
ee2b02a432 Bug 806056 - Add a frame bit that says if a frame is allowed to have abs/fixed pos. children when the style so indicates (position/transform usually). Copy the bit to next-in-flows. Don't call MarkAsAbsoluteContainingBlock for style changes on an existing frame unless that bit is set (style changes that recreates the frame resets it of course). Assert in MarkAs[Not]AbsoluteContainingBlock() that the bit is set. r=bz 2012-11-02 01:52:59 +01:00
Jonathan Watt
4eacf2cfcd Bug 806964 - Stop calling UpdateOverflow on frames that are scheduled to be reflowed. r=roc. 2012-10-31 04:10:47 +00:00
Jacek Szpot
bea8356b2c Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
L. David Baron
c0bec06ffc Bug 804970, patch 5: Handle dynamic changes to the basis for 'rem' units by rebuilding all style data. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
bd2ade79c8 Bug 804970, patch 4: Refactor part of RebuildAllStyleData into a helper function (slightly reordering it), so that we can share that part. r=bzbarsky 2012-10-26 19:04:20 +02:00
Jonathan Watt
2a46ad0735 Bug 795592 - Stop calling nsIFrame::FinishAndStoreOverflow on NS_STATE_SVG_NONDISPLAY_CHILD frames. r=mattwoodrow. 2012-10-26 11:56:48 +01:00
Robert O'Callahan
39e909adb2 Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky 2012-10-26 22:11:24 +13:00
Ryan VanderMeulen
0a11a998a5 Backout 1ebc3b1b8feb, 205c1c846d70 (bug 801488), and e4367fd2043f (bug 804323) due to b-c crashes. 2012-10-25 07:53:36 -04:00
Robert O'Callahan
c83b18cd3f Bug 804323. Mark newly-transformed frames as abs-pos containers (or not). r=bzbarsky 2012-10-25 00:35:29 +13:00
Olli Pettay
26c63deaa6 Bug 793848, faster svg:use check, r=bz 2012-10-21 15:33:38 +03:00
Robert Longson
f0e3d9926e Bug 791826 - Fix crash with SVG preserveAspectRatio, position:fixed. r=jwatt 2012-10-20 11:03:35 +01:00
Peter Van der Beken
a69ce442c1 Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02:00
David Zbarsky
ec66c8d312 Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc 2012-10-15 01:42:40 -04:00
Robert O'Callahan
e573a641c1 Bug 795657. Don't reframe for adding a transform when absolute descendants are present, when the frame is already positioned. r=bz
--HG--
extra : rebase_source : 4c4fbbe51069b58a023c7f40f70f9f13efc487e1
2012-10-10 23:25:57 +13:00
Robert O'Callahan
8aec82ec43 Bug 626245. Part 4: Compute plugin widget geometry updates via the refresh driver's painting, and defer actual widget updates until we've just composited the window. r=mats
Updating plugin widget geometry every time we paint means we don't have to
explicitly request plugin geometry updates.
This patch stops us from flushing plugin geometry changes in
FlushPendingNotifications(Flush_Layout). There are too many Flush_Layouts and
flushing plugin geometry changes on them produces frequent
desynchronization of the plugin geometry with the rendered window contents.
There is some Web compatibility risk there --- it means we have to change
our tests, for one thing --- but hopefully it's OK.

--HG--
extra : rebase_source : 87adde45795ea2cab362ed9df54e62c5cc97e16c
2012-10-07 02:03:23 +13:00
Boris Zbarsky
d9ec7ac515 Bug 790265. Changes that might attach a binding (e.g. state changes on <object> elements) should trigger a frame construction attempt even for display:none elements, so the binding will get attached. r=dholbert 2012-10-05 23:50:55 -04:00
Chris Jones
a734561c9e Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=mattwoodrow,roc 2012-10-02 22:55:52 -07:00
Chris Jones
263dc7d01e Back out bug 790505 for leaking 2012-10-03 00:21:08 -07:00
Chris Jones
6ed6eba931 Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc 2012-10-02 22:55:52 -07:00
Ms2ger
a77a250988 Bug 793314 - Remove PtrBits; r=mounir,roc 2012-10-02 10:24:11 +02:00
Matt Woodrow
1d675c61d6 Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
5a3b322459 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
49d4c24594 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Mats Palmgren
7d2088c451 Bug 765621 - Drain the parent frame's overflow list before attempting to insert/append new child frames. r=bz 2012-09-18 01:05:05 +02:00
Daniel Holbert
d47c88f280 Bug 791037: s/IsInlineOutside/IsInlineOutsideStyle/ in #ifdef MOZ_FLEXBOX code to fix compile error when flexbox is defined. r=dbaron (DONTBUILD because this is in code that's NPOTB for now) 2012-09-13 12:55:27 -07:00
L. David Baron
8127acf9cb Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones 2012-09-11 21:05:03 -07:00
Robert Longson
6f3a540d19 Bug 783995 - enable animation of view element attributes. r=dholbert 2012-09-09 12:44:03 +01:00
L. David Baron
74b4279416 Rename nsChangeHint_ReflowFrame to nsChangeHint_AllReflowHints to make it clearer that it's the one that contains multiple bits. (Bug 789592, patch 2) r=bzbarsky 2012-09-07 15:57:06 -07:00
Cameron McCormack
09aeb61301 Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
Robert O'Callahan
b3739ebb38 Bug 787089. Rip out mUpdatePluginGeometryForFrame optimization. It's not known to be a significant win, and creates problems when prescontext ancestor chains are broken; the complexity probably isn't worthwhile. Also, soon (or now) we can rework plugin bounds computation to be use the display list built for rendering. r=matspal
--HG--
extra : rebase_source : 0394fcb5111b8b96b5f8ce48e20d6e5503f9ccf7
2012-09-05 22:30:10 +12:00
Ehsan Akhgari
3eb46b7e1d Bug 782062 - Do not attempt to move frames with views in their subtree without doing a reflow to prevent the view position from getting out of sync; r=roc
--HG--
extra : rebase_source : 2e4ea7d139dc953a4c3d525b15e5753fb585e057
2012-08-29 09:46:09 -04:00
Ehsan Akhgari
8c296bbcd4 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
982100775b Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Robert O'Callahan
cde908d3c4 Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : ed990c17d2501ea5f4d09dea56baeada41cd3f35
2012-08-10 23:16:49 +12:00
Cameron McCormack
2d3a383cc3 Bug 655877 - Part 18: Ensure even line-ending white space SVG text frames are created. r=bz 2012-08-05 11:01:18 +10:00
Cameron McCormack
c0c27a68a3 Bug 655877 - Part 17: Ensure non-SVG child elements of SVG text elements do not get frames. r=bz 2012-08-05 11:01:18 +10:00
Cameron McCormack
45a49ac210 Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc 2012-08-02 21:38:51 +10:00
Cameron McCormack
d63a0ddfaa Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc 2012-08-02 21:38:50 +10:00
Cameron McCormack
b71d455883 Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc 2012-08-02 21:38:49 +10:00
Aryeh Gregor
2e7996f8d1 Bug 777292 - Convert incorrect conversions to nsresult and fix named constants; r=ehsan 2012-07-27 16:59:29 +03:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Jonathan Watt
1adb494274 Bug 776250 - Rename nsISVGChildFrame::UpdateBounds to nsISVGChildFrame::ReflowSVG to make it easier for non-SVG devs to understand the SVG code. r=roc.
--HG--
extra : rebase_source : 9c2d8f3d76dab1a842d6cc5607a13a49703061d6
2012-07-21 20:01:44 -04:00
Jonathan Watt
2d338f4adf Bug 614732 - Implement display list based painting and hit-testing for SVG. r=roc.
--HG--
extra : rebase_source : 77e55885fbbf428008f5be787ddeb7e561c0d9bd
2012-07-20 14:12:29 -04:00
Ehsan Akhgari
f5c730efe6 Bug 763223 - convert the assertion added in bug 157681 to a warning; r=dbaron 2012-06-18 20:58:08 -04:00
Jonathan Watt
f410406b60 Bug 769742 - Account for nsSVGOuterSVGFrames' border/padding offset by giving nsSVGOuterSVGFrame an anonymous child to wrap its real children. r=roc. 2012-07-09 02:04:56 +01:00
Jeff Muizelaar
9d0c428baf Bug 764188 - Expose a global frame tree generation number. r=dbaron
This generation number will be incremented every time that the frame
tree for a presshell changes. Callers need to deal with the case where
this value overflows. We use this to avoid a bunch of Android
screenshotting.
2012-07-04 11:42:29 -04:00
Mounir Lamouri
5885dd639e Bug 635498 - Make <input type='number'> behaves like <input type='text'>. r=sicking
--HG--
extra : rebase_source : 0754f845fd6223cd48ca8908ebf642636f0fd9ed
2012-06-10 22:23:17 +02:00
Ehsan Akhgari
6ef72aef93 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Ms2ger
62da2cddec Bug 769437 - Remove a check that has been dead since 2005 to fix a build warning; r=mounir 2012-07-02 08:23:56 +02:00
Matt Woodrow
1f0dbc7c74 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Ehsan Akhgari
9e198d3f62 Bug 766843 - Exempt inner table frames from optimized dynamic position change handling, as the required handling is performed for outer table frames; r=bzbarsky 2012-06-27 16:24:01 -04:00
Daniel Holbert
df94dd9bd8 Bug 666041 patch 3: Create boilerplate nsFlexContainerFrame class. r=bz 2012-06-26 15:12:13 -07:00
Daniel Holbert
0051caa58b Bug 666041 patch 2.5: Add nsCSSFrameConstructor code for detecting when a flex container needs to have its frames rebuilt. r=bz 2012-06-26 15:11:53 -07:00
Daniel Holbert
dd5d8688a3 Bug 666041 patch 2: Add "-moz-flex" & "-moz-inline-flex" values for "display" property. r=bz 2012-06-26 15:11:38 -07:00
Jonathan Watt
ec3416999b Bug 767996 - Prevent DoApplyRenderingChangeToTree calling nsSVGUtils::InvalidateBounds() and passing in an nsSVGOuterSVGFrame. r=me. 2012-06-25 18:55:30 +01:00
Robert O'Callahan
a0d0cba0e5 Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 22:51:05 +12:00
Mounir Lamouri
1f70fdd32a Back out bug 766007, bug 703241 and bug 752796 due to perma-orange (419f0d1b848b to 8661c74deeb5). 2012-06-22 11:13:32 +02:00
Robert O'Callahan
5480454568 Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 17:06:40 +12:00
Ehsan Akhgari
fc3761841a Bug 765597 - Invalidate the thebes layer as well as the overflow area when moving frames; r=dbaron 2012-06-19 16:47:27 -04:00
Kartikaya Gupta
a8f112f62d Bug 763570 - Part 2 - Add a scrollframe from frameset documents on Fennec, so that they work with async pan/zoom and touch events. r=bz 2012-06-15 17:49:53 -04:00
Boris Zbarsky
34f805faee Bug 763424. Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>). r=dbaron 2012-06-11 18:21:35 -04:00
Ed Morley
7d13aab294 Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Matt Woodrow
5076b975a0 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Mounir Lamouri
65040cbb94 Bug 760848 - Make select.size reflection follow the specifications. r=smaug 2012-06-07 01:27:53 +02:00
Ehsan Akhgari
ccdd37d975 Merge mozilla-central into mozilla-inbound 2012-06-06 12:46:50 -04:00
Ehsan Akhgari
d54aaab73b Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Boris Zbarsky
6543d621c5 Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron 2012-05-29 23:45:17 -04:00
Boris Zbarsky
e7ff5ec8dd Bug 758885. Don't apply the dynamic :hover reresolution skipping optimization to selectors which can match on mutable state other than :hover. r=dbaron 2012-05-29 00:17:45 -04:00
Neil Deakin
994d3d4070 Bug 757485, remove nsIXBLService and use nsXBLService directly, r=bz 2012-05-23 14:46:04 -04:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
2187798a40 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Aryeh Gregor
7cb03d1868 Bug 756045 - Turn "ASSERTION: anonymous nodes should not be in child lists" into an NS_WARNING; r=bz 2012-05-18 09:20:49 +03:00
Jonathan Watt
c8b52ec634 Bug 734082 - Compute and store bounds and visual overflow bounds for both SVG leaf and container frames. r=roc. 2012-05-17 05:05:09 +01:00
Vincent LAMOTTE
2c02cd383c Bug 657953 (1/2) - Implement the layout part of the meter element. r=roc 2012-05-16 17:47:10 +02:00
Boris Zbarsky
15639de868 Bug 751012. When saving frame state, make sure to walk through placeholders so we save the state of out-of-flow descendants properly. Also make sure to walk the continuations and special siblings of the root frame that we're saving state for. r=roc 2012-05-09 21:27:47 -04:00
Ehsan Akhgari
2be6b796b2 Bug 612128 - Prevent the editor from modifying nodes which are not under an editing host; r=roc,bzbarsky
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host.  Things like text controls which used to have that flag
previously will not have it any more.  The flag would be set on their anonymous
div node instead.  Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.

This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
2010-11-16 15:45:49 -05:00
Daniel Holbert
f5e19aafd6 Bug 745991: In nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval, add explicit parenthesis around '&&' within '||' to silence GCC warning. r=smontagu 2012-04-17 09:56:15 -07:00
Mats Palmgren
7c5f8ba182 Bug 740743 - Implement CSS overflow for <legend>. r=bz 2012-04-13 17:52:13 +02:00
Phil Ringnalda
62e25bcddc Back out b00bf7f3869c (bug 737976) for apparently causing mochitest-1 leaks on a CLOSED TREE 2012-03-28 22:43:09 -07:00
Kyle Huey
5639dfdb41 Bug 737976: Remove nsINodeInfo. rs=bent 2012-03-28 19:07:37 -07:00
Daniel Holbert
5f9dc21353 Bug 740067: Make nsCSSFrameConstructor::CreateNeededTablePseudos return void. r=bz 2012-03-28 12:43:15 -07:00
Alexander Surkov
a9082ae143 Bug 656225 - XUL listbox accessible tree doens't get updated, r=tbsaunde, bz 2012-03-27 16:29:51 +09:00
Daniel Holbert
1081c5960c Bug 739439: Make nsFrameConstructorState::GetGeometricParent() a const method. r=bz 2012-03-26 15:36:13 -07:00
Daniel Holbert
a41e5d0dfb Bug 738007: Minor code cleanup in nsCSSFrameConstructor::FlushAccumulatedBlock. r=bz 2012-03-22 10:31:19 -07:00
Jim Mathies
b3261a33f5 Bug 737983 - win8 fixup for generic keyword collision, r=smaug. 2012-03-22 09:18:41 -05:00
Daniel Holbert
8e81617ab4 Bug 737313: Make nsCSSFrameConstructor::ConstructInline more robust when one of its child frames fails to construct. r=bz 2012-03-20 10:23:03 -07:00
Jonathan Watt
c9836192c8 Bug 734079, part 2 - Use a mark and asynchronously sweep scheme (similar to HTML reflow) to invalidate and update SVG frame bounds. r=longsonr. 2012-03-20 12:15:53 +00:00
Boris Zbarsky
42379a0010 Bug 537624. Don't set up undisplayed entries until we're sure we're creating frames from the relevant FrameConstructionItemList. r=roc 2012-03-19 18:22:02 -04:00
Boris Zbarsky
09fd9002b2 Bug 732667. Only do checks for :hover selectors when hover state changes on nodes which have relevant hover rules. r=dbaron 2012-03-12 22:54:15 -05:00
Boris Zbarsky
dd4557672b Bug 705877 part 6. Make frame construction use ancestor filters when resolving style. r=dbaron 2012-03-12 22:54:15 -05:00
Phil Ringnalda
47dd3c842e Back out 83a33626d965:6e9330f5a9bd (bug 732667 and bug 705877) for Windows build bustage 2012-03-12 22:12:41 -07:00
Boris Zbarsky
82ab90bd3f Bug 732667. Only do checks for :hover selectors when hover state changes on nodes which have relevant hover rules. r=dbaron 2012-03-12 22:54:15 -05:00
Boris Zbarsky
afdc791a4a Bug 705877 part 6. Make frame construction use ancestor filters when resolving style. r=dbaron 2012-03-12 22:54:15 -05:00
Daniel Holbert
9c55e83277 Bug 640443: Allow positioned display:-moz-box elements to be containers for absolutely-positioned content. r=bz 2012-03-10 14:49:10 -08:00
Boris Zbarsky
8ef15bf2e4 Bug 734406. Fix printing and print preview for <canvas> by checking for script-enabled on the original document, not on the printing document. r=tnikkel 2012-03-09 22:32:51 -06:00
Jonathan Watt
667ba4d4ec Bug 734218 - nsChangeHint_RepaintFrame should only invalidate the bounds of SVG frames, not update them. r=dholbert. 2012-03-09 08:55:28 +00:00
Nathan Froyd
7adb7a65ea Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Mats Palmgren
4055535431 Bug 727601 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint" with display:table. r=roc 2012-03-01 13:34:19 +01:00
David Bolter
38d7fde319 Bug 495912 - Expose content in HTML canvas elements. r=bz,roc r=surkov(tests)
layout-mentor: bz (mucho thanks!)

We make html canvas frame a container and render frames for its content which makes a lot of what we need for accessibility "just work".
2012-02-17 23:26:37 -05:00
Ed Morley
d9eda11faf Backout 547de632a3e2 (bug 495912) for mochitest-a11y orange 2012-02-29 18:42:58 +00:00
David Bolter
28fe167db3 Bug 495912 - Expose content in HTML canvas elements. r=bz,roc r=surkov(tests)
layout-mentor: bz (mucho thanks!)

We make html canvas frame a container and render frames for its content which makes a lot of what we need for accessibility "just work".
2012-02-17 23:26:37 -05:00
Boris Zbarsky
3361b1a265 Bug 728516. Refactor frame construction for things that want to wrap kids in a block. r=roc 2012-02-21 18:01:40 -05:00
Boris Zbarsky
d389408e85 Bug 728111. Fix the block inside foreignObject to really be the absolute containing block for its kids. r=roc 2012-02-21 18:01:40 -05:00
Mats Palmgren
40d237437d Bug 725535 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint". r=roc 2012-02-12 22:21:50 +01:00
Phil Ringnalda
e66d5e8494 Back out 1cd8c9b40035 (bug 725376), df43cc1f72e1 (bug 725535), and 8a820e4ee7f6 (bug 726364) for reftest orange 2012-02-12 14:01:58 -08:00
Mats Palmgren
d8827751c4 Bug 725535 - "ASSERTION: Only transformed frames should have UpdateTransformLayer hint". r=roc 2012-02-12 22:21:50 +01:00
Chris Lord
a9e19ab710 Bug 722325 - Revert bug 720987 for transformed frames. r=roc
The fix checked in for bug 720987 caused a major rendering regression with
native fennec. Revert it for transformed frames until the correct fix is found.
2012-02-09 16:42:14 +01:00
Robert O'Callahan
3f0ffee8df Bug 722923. Part 1: Strip opacity/transform update hints when we recursively invalidate over our children. r=mats 2012-02-08 11:52:59 +13:00
Mats Palmgren
9a96be0645 Bug 724432 - Skip UpdateOverflow if we did Reflow. Don't propagate UpdateOverflow in ReResolveStyleContext. r=roc 2012-02-07 12:31:47 +01:00