Commit Graph

10955 Commits

Author SHA1 Message Date
L. David Baron
d01753dad0 Bug 828312 patch 11: Don't generate change hints for restyling of later continuations, since the handling of the change hints from the first continuation is required to do the necessary work. r=bzbarsky
This depends on bug 898333 in order to avoid causing:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/chrome/dom/tests/mochitest/chrome/test_focused_link_scroll.xul | Assertion count 1 is greater than expected range 0-0 assertions.
due to the assertion:
###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file ../../../layout/base/nsStyleChangeList.cpp, line 62

The assertion count change in layout/generic/crashtests/571995.xhtml is
expected because it changes us from having 7 of:
###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file ../../../layout/base/nsStyleChangeList.cpp, line 62
with the stack:
  mozilla::ElementRestyler::CaptureChange(nsStyleContext*, nsStyleContext*, nsChangeHint) [layout/base/nsChangeHint.h:191]
  mozilla::ElementRestyler::RestyleSelf(nsRestyleHint) [layout/base/RestyleManager.cpp:2304]
to only having one.  This is expected since this patch changes
RestyleSelf to only call CaptureChange for the first continuation or
block-in-inline sibling.
2013-09-25 12:28:08 -07:00
L. David Baron
36acc15f31 Bug 828312 patch 10: Add assertions to check that handling of nsChangeHint_ChildrenOnlyTransform doesn't need to check continuations. r=bzbarsky
This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
2013-09-25 12:28:08 -07:00
L. David Baron
4e703ff333 Bug 828312 patch 9b: Make handling of RecomputePosition hint check continuations. r=bzbarsky
This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
2013-09-25 12:28:08 -07:00
L. David Baron
d0255c650f Bug 828312 patch 9a: Make sticky positioning handle block-in-inline splits correctly. r=dholbert
This assumes that the specification for how position:sticky behaves for
block-in-inline splits matches the specification for position:relative,
in other words, matches
http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level .

It's also necessary for patch 9b since the new rule for handling of
style change hints is that a style change hint applies to all
continuations and all block-in-inline siblings ("special siblings").

The change in StickyScrollContainer::GetScrollRanges is really the fix
for bug 918994, but adjusted for the change here to use block-in-inline
siblings ("special siblings") in addition to continuations.
2013-09-25 12:28:08 -07:00
L. David Baron
95e754510e Bug 828312 patch 8: Make handling of UpdateEffects hint check continuations. r=bzbarsky
This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
2013-09-25 12:28:07 -07:00
L. David Baron
82151d1958 Bug 828312 patch 7: Use more typical loop structure and don't mutate |frame| in UpdateOverflow hint handling. r=bzbarsky 2013-09-25 12:28:07 -07:00
L. David Baron
b741eb1e7b Bug 828312 patch 6: Make early transform handling check continuations. r=bzbarsky
This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.
2013-09-25 12:28:07 -07:00
L. David Baron
ee558d6e79 Bug 828312 patch 5: Don't handle UpdateCursor more than once per round of style change processing, since it's global. r=bzbarsky
(This is part of the patch stack making change hints apply across all
continuations and block-in-inline siblings.  In this case, however, the
change hint only needs to apply once, globally.)
2013-09-25 12:28:07 -07:00
L. David Baron
e1a486d3f2 Bug 898209 patch 16: Move a comment that should have been moved in patch 15. No review. 2013-09-25 12:28:07 -07:00
L. David Baron
c18e1d2515 Bug 898333, patch 2: Change RestyleManager::Restyle's tree traversal to reach next-continuations (and same-display block-in-inline siblings) from their prev-continuation rather than from their parent. r=bzbarsky
This patch fundamentally makes three changes:

 (1) Change the way RestyleSelf is used so that it is called in a loop,
     over all of the same-style continuations and block-in-inline
     siblings.
     (I had a note here reminding myself:
       TODO: Don't set hints for descendants!
     but I no longer remember what it meant.)

 (2) Change the traversal of children to traverse all of the children of
     the items traversed in (1).

 (3) When traversing children, skip children that are continuations,
     since we already reached them in (1) and (2).

A later patch will change the RestyleSelf loop to copy for the later
continuations rather than repeating the work.  This will mean reverting
many of the RestyleSelf changes contained here.

Some of the pieces marked temporary will be removed in bug 828312 patch
11, and the rest should hopefully be removed in bug 918064.
2013-09-25 12:28:07 -07:00
L. David Baron
38a76e02ae Bug 898333, patch 1: Restyle the :after pseudo-element after the content children. r=bzbarsky 2013-09-25 12:28:07 -07:00
Mats Palmgren
4974add798 Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert 2013-09-25 11:42:34 +00:00
Masayuki Nakano
f90a5b1125 Bug 912956 part.18 Remove nsGUIEvent.h r=roc 2013-09-25 20:21:22 +09:00
Masayuki Nakano
015140fe0d Bug 912956 part.15 mozilla/TextEvents.h should be included directly r=roc 2013-09-25 20:21:19 +09:00
Masayuki Nakano
4983de6d4c Bug 912956 part.14 mozilla/MouseEvents.h should be included directly r=roc 2013-09-25 20:21:18 +09:00
Masayuki Nakano
743fbc6e59 Bug 912956 part.13 mozilla/TouchEvents.h should be included directly r=roc 2013-09-25 20:21:16 +09:00
Benoit Jacob
55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Jonathan Watt
87073cc853 Bug 920158 - Make nsCSSFrameConstructor::ConstructFrameFromItemInternal handle frames that should suppress floating of descendants. r=bz
--HG--
extra : rebase_source : 3f0b806dad1c1381bd30bd25e943866415e226f2
2013-09-24 21:29:29 +01:00
Jonathan Watt
2266364c41 Bug 920154 - Rename nsIContent's SetNativeAnonymous method to SetIsNativeAnonymousRoot to be clear that it should only be called for the root native anonymous element. r=bz
--HG--
extra : rebase_source : 9be498a3ae51a4a4587c8035cb7bc58002b3a268
2013-09-24 21:29:27 +01:00
Jonathan Watt
06ac2cb0e3 Bug 920146 - Rename NODE_IS_ANONYMOUS to NODE_IS_ANONYMOUS_ROOT to avoid misinterpretation and for symmetry with NODE_IS_NATIVE_ANONYMOUS_ROOT. r=bz
--HG--
extra : rebase_source : ea8c2377f1f85248239a3f6b0f6f64bfe40e44ea
2013-09-24 20:28:32 +01:00
Ryan VanderMeulen
1d956c2ad1 Backed out changeset dec7ac293e74 (bug 782546) for breaking the test it was trying to annotate. 2013-09-24 13:45:59 -04:00
Ryan VanderMeulen
5a8376bb50 Bug 782546 - Mark test_transformed_scrolling_repaints_3.html as random on Linux 64. 2013-09-24 11:56:29 -04:00
Masayuki Nakano
c28e4cad25 Bug 912956 part.12 All event utils (macros and inline methods) should be methods of mozilla::WidgetEvent r=roc 2013-09-24 19:04:16 +09:00
Masayuki Nakano
0fbfe07d7e Bug 912956 part.2 Rename nsEvent.h to mozilla/EventForwards.h and sort out it r=roc
--HG--
rename : widget/nsEvent.h => widget/EventForwards.h
2013-09-24 19:04:14 +09:00
Jeff Muizelaar
7480685294 Bug 916535. Avoid using repeating gradients for tiling when it won't work. r=roc
Avoiding normalization introduced in bug 895135 caused gradientStart/Stop to
not correspond to the firstStop and lastStop. This can cause us to incorrectly
decide to use the repeat fast path. This patch switches takes us back to the
same condition as we had before the regression.

--HG--
extra : rebase_source : f335e1db9166213115354eb14dbe90b09127a68b
2013-09-24 00:04:36 -04:00
Ehsan Akhgari
8c43a4f37f Bug 919505 - Minimize the #includes in dom/ipc; r=jst 2013-09-23 17:30:40 -04:00
Ehsan Akhgari
3c5faf2f1e Bug 919355 - Part 2: Don't #include nsDeviceContext.h in Units.h; r=roc 2013-09-23 07:55:35 -04:00
Ehsan Akhgari
666756002e Bug 919355 - Part 1: Don't #include nsDeviceContext.h in nsPresContext.h; r=roc 2013-09-23 07:52:25 -04:00
Timothy Nikkel
a75f2ee683 Bug 919129. Fix nsLayoutUtils::UpdateImageVisibilityForFrame so that it doesn't expand the image rect so much by replacing it with the scroll port rect. r=matspal 2013-09-21 16:20:22 -05:00
Matt Woodrow
6f144ccfab Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Robert O'Callahan
29b44fab90 Bug 913438. Remove mAnchor check since it doesn't help correct inconsistency between ImageLayer snapping and regular snapped image drawing, and can hurt performance. r=tnikkel
--HG--
extra : rebase_source : 5f62e052d20a9acb0a428b988e2d9b16c7b19dbc
2013-09-09 17:08:41 -07:00
Phil Ringnalda
c56305c3a6 Backed out 2 changesets (bug 918176) for assertions
CLOSED TREE

Backed out changeset 9d5728797e77
Backed out changeset 1a895d95c88b (bug 918176)
2013-09-19 19:56:02 -07:00
Cameron McCormack
98cdad98f5 Bug 918176 - Silence uninitialized variable warning in nsRuleNode::ComputeContentData. r=dholbert 2013-09-20 11:24:04 +10:00
Wes Kocher
c83409e3af Backed out 5 changesets (bug 907926, bug 911393, bug 917703) due to OSX reftest bustage during an unrelated CLOSED TREE
Backed out changeset 94a6733b01dc (bug 907926)
Backed out changeset 44108fb6f7cc (bug 917703)
Backed out changeset f2dd2a27af69 (bug 911393)
Backed out changeset fdb0d1053128 (bug 907926)
Backed out changeset b3616b786e8f (bug 907926)
2013-09-19 17:56:18 -07:00
Matt Woodrow
9c24a68820 Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Phil Ringnalda
95c5bfc8b9 Merge m-c to m-i 2013-09-18 23:28:41 -07:00
Phil Ringnalda
2de877323b Backed out 10 changesets (bug 907926, bug 911393, bug 740200, bug 917703) for b2g build bustage
CLOSED TREE

Backed out changeset ae02054863f7 (bug 907926)
Backed out changeset 8fcdbbc2dac2 (bug 917703)
Backed out changeset aa253a1fd7e5 (bug 911393)
Backed out changeset ec63e6d6d874 (bug 907926)
Backed out changeset 0042a2722aab (bug 907926)
Backed out changeset dc8bddfca5f1 (bug 740200)
Backed out changeset 439ff7e64d35 (bug 740200)
Backed out changeset d871c0d61510 (bug 740200)
Backed out changeset 3b248c5a0dc2 (bug 740200)
Backed out changeset 3466e81d3a41 (bug 740200)
2013-09-18 23:08:41 -07:00
Wes Kocher
bf4520a53b Merge inbound to m-c 2013-09-18 16:48:24 -07:00
Matt Woodrow
4dae853ee1 Bug 907926 - Try avoid having multiple path objects around since this is slow with DrawTargetCairo. r=Bas 2013-09-19 17:23:30 +12:00
Robert O'Callahan
81d19c4037 Bug 918185. When Range.getBoundingClientRect/getClientRects needs a textframe for a node, create one if the textframe was optimized away. r=bz 2013-09-19 16:23:48 +12:00
Paul Rouget
b5a1da4913 Backed out changeset 184a0076278b (bug 890195). Almost-perma orange 2013-09-18 17:53:15 +02:00
Ryan VanderMeulen
8e0a6c6e41 Merge m-c to fx-team on a CLOSED TREE. 2013-09-17 20:27:03 -04:00
Martijn Wargers
4d7138739f Bug 916086 - Remove some more enablePrivilege calls. r=jmaher
CLOSED TREE

--HG--
rename : layout/base/tests/test_bug458898.html => layout/base/tests/chrome/test_bug458898.html
2013-09-16 22:12:29 +02:00
Daniel Holbert
ec8a827b6e Bug 918109: Move some null-initialized static variables in nsLayoutUtils.cpp to function-scope. r=mats 2013-09-18 19:19:23 -07:00
Corey Ford
7597b90beb Bug 904197 - Use the union of continuations' rects in sticky positioning calculations. r=dholbert
Reftest inline-3.html fails because handling the sticky element's margin correctly will take more work; similarly, border/padding on containing-block continuations won't be handled quite right. Reftest column-contain-1a fails because some of the anonymous blocks inside an nsColumnSetFrame have 0 height.
2013-09-13 16:53:48 -07:00
Cameron McCormack
633b59f1ac Bug 874507 - Make clip-path, filter, mask and opacity work on <marker> elements. r=longsonr 2013-09-16 15:06:29 +10:00
Rik Cabanier
8c416eb225 Bug 902525 - Part 7: fix to turn off text anti-aliasing r=roc 2013-09-15 16:48:14 -07:00
Rik Cabanier
fc566afdce Bug 902525 - Part 3: create a layer for content that stores the blend mode r=roc 2013-09-14 20:40:11 -07:00
Rik Cabanier
0383e51844 Bug 902525 - Part 2: Create layers for isolated groups when blending is involved r=roc 2013-09-14 20:30:00 -07:00
Paul Rouget
b042dc9c82 Bug 890195 - device-width media queries should use the page width, not the actual device width. r=bz 2013-07-17 05:08:00 +02:00