L. David Baron
a26324d12e
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
7888d4666c
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
807a64dd8e
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
9df875e7c8
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
79bf825f33
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
57bc767f95
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
239302f5ee
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
de0fdd8b25
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
790b84762c
Bug 898333, patch 1: Restyle the :after pseudo-element after the content children. r=bzbarsky
2013-09-25 12:28:07 -07:00
Corey Ford
1a19b79ce1
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
Corey Ford
b3400abc97
Bug 886646 - Part 6: Implement sticky positioning, calculated on reflow and scroll. r=dbaron, r=dholbert
2013-09-06 09:35:16 -04:00
Ms2ger
f2457c6b24
Bug 901269 - Part b: Stop including nsContentUtils.h in Element.h; r=jlebar
2013-08-14 08:55:46 +02:00
Corey Ford
b2510f37c3
Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron
2013-08-08 17:20:17 -07:00
Cameron McCormack
e9318247c3
Bug 899894 - Don't null check nsStyleSet::ResolveBlah return values. r=dbaron
2013-08-03 14:11:06 +10:00
Alex Xu
3bb4b7a43b
Bug 900284: Use #ifdef ACCESSIBILITY around member variables only used inside #ifdef ACCESSIBILITY, to avoid clang warnings (and reduce object size with --disable-accessibility). r=dbaron
2013-07-31 19:15:19 -07:00
L. David Baron
da01c5cc19
Bug 898329 patch 10: Fix wrapping of comment that I just reintended. r=heycam
2013-07-30 17:36:12 -07:00
L. David Baron
57f958e14c
Bug 898329 patch 9: Fix indentation from previous patches. r=heycam
2013-07-30 17:36:12 -07:00
L. David Baron
a02c243076
Bug 898329 patch 8: Use for loops instead of while loops for iterating extra style contexts. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
98a4c2fb01
Bug 898329 patch 7: Split ElementRestyler::Restyle into multiple functions. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
2af34355c3
Bug 898329 patch 6: Avoid using pseudoTag outside of what will be in RestyleManager::RestyleSelf. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
710616ca5c
Bug 898329 patch 5: Create and use ElementRestyler::mResolvedChild. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
91506255f9
Bug 898329 patch 4: Avoid using newContext outside of what will be in RestyleManager::RestyleSelf. r=heycam
...
This replaces newContext with mFrame->StyleContext(), which is a valid
replacement since all of the replacements are inside a test that we
don't have a framechange hint. If we have a framechange hint, then
mFrame still has its old style context.
2013-07-30 17:36:11 -07:00
L. David Baron
3975fd1525
Bug 898329 patch 3.5: Don't check undisplayed content if we're going to reframe. r=heycam
...
This avoids doing work that is unnecessary; if we're going to reframe
anyway, the frame destruction will clear the undisplayed content list,
and we'll then rebuild it when we recreate the frame (if needed).
It is also a prerequisite for patch 4, which replaces some uses of
newContext with mFrame->StyleContext(). These are the same as long as
we don't have a framechange hint, since when we do have a framechange
hint we leave the old style context on the frame to avoid violating
invariants. This patch ensures that all such uses replaced in patch 4
are actually inside a check that we don't have a framechange hint.
(Most of them already were.)
2013-07-30 17:36:11 -07:00
L. David Baron
d0a38cd3d7
Bug 898329 patch 3: Create and use ElementRestyler::mWasFrameVisible. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
d9183ecce5
Bug 898329 patch 2: Fix indentation in ReParentStyleContext from patch 1. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
bf823bc2af
Bug 898329 patch 1: Remove null-checks on oldContext and newContext and avoid manual reference counting. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
adc472405b
Bug 898209 patch 15: Use constructor flags on ElementRestyler's regular constructor to avoid manipulating mHintsHandled from the outside. r=heycam
...
This is the second of two patches added on top to address review
comments on patch 2.
2013-07-30 17:36:10 -07:00
L. David Baron
2b712678c7
Bug 898209 patch 14: Add constructor flags to ElementRestyler's regular constructor so we can avoid manipulating mHintsHandled from the outside. r=heycam
...
This is the first of two patches added on top to address review comments
on patch 2.
2013-07-30 17:36:10 -07:00
L. David Baron
44f4309783
Bug 898209 patch 13: Create and use ElementRestyler::mTreeMatchContext. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
5c401f6edc
Bug 898209 patch 12: Create and use ElementRestyler::mVisibleKidsOfHiddenElement. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
6b2087e3e9
Bug 898209 patch 11: Create and use member variables for accessibility notifications. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
52da8b2e0f
Bug 898209 patch 10: Create and use ElementRestyler::mRestyleTracker. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
ffab6ee16c
Bug 898209 patch 9: Create and use ElementRestyler::mParentFrameHintsNotHandledForDescendants and mHintsNotHandledForDescendants. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
ab9add6061
Bug 898209 patch 8: Create and use ElementRestyler::mChangeList. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
18534428b7
Bug 898209 patch 7: Fix remaining variable shadowing warning. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
529ddab6a0
Bug 898209 patch 6: Create and use ElementRestyler::mParentContent and mContent. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
a376d8d7e4
Bug 898209 patch 5: Remove the localContent variable in favor of writing mFrame->GetContent(). r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
68918352db
Bug 898209 patch 4: Remove aPresContext parameter to ElementRestyler::Restyle. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
3cc8ad7edd
Bug 898209 patch 3: Create and use ElementRestyler::mFrame. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
d809931f96
Bug 898209 patch 2: Create and use ElementRestyler::mHintsHandled. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
7ad914dbc3
Bug 898209 patch 1: Add ElementRestyler class to begin refactoring ReResolveStyleContext. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
dec690eacf
Bug 896138 patch 10: Move beginning and ending of ProcessPendingRestyles into helper functions on the RestyleManager. r=heycam
2013-07-30 17:36:08 -07:00
Ehsan Akhgari
5ee21d6d3f
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
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 "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Corey Ford
2e7839e1b0
Bug 894629 - Reference containing block's content box for relatively positioned elements in RestyleManager::RecomputePosition. r=dbaron
2013-07-22 09:28:31 -07:00
Robert O'Callahan
f263be618e
Fix bustage for bug 886295
2013-07-22 16:30:18 +12:00
Robert O'Callahan
b8737f4a7f
Bug 886295. Backout fix for bug 880854 to fix regression. r=mats
...
--HG--
extra : rebase_source : 66bc089c3ece4dbe4f6533fce97a902abdd4871a
2013-07-22 14:04:46 +12:00
L. David Baron
a7c92a8198
Bug 896138 patch 9: Move RecomputePosition to a more logical place in the .cpp file, near other hint handling implementations. No review.
2013-07-20 12:14:25 -07:00
L. David Baron
2f2bcdb660
Bug 896138 patch 7: Remove unused aFrameManager parameters to some functions. r=heycam
2013-07-20 12:14:25 -07:00
L. David Baron
af0d77ef1f
Bug 896138 patch 6: Move restyle management code from nsFrameManager to RestyleManager. r=heycam
...
This is the second of two big chunks of code moved into the new
RestyleManager class from another sources.
Note that the undisplayed map remains in nsFrameManager, although it
could perhaps have moved.
2013-07-20 12:14:25 -07:00
L. David Baron
a187fb3edb
Bug 896138 patch 4: Move restyle management code from nsCSSFrameConstructor to RestyleManager. r=heycam
...
This moves restyling management out of nsCSSFrameConstructor (thus
reducing its size), and keeps the restyling code closer together.
This is the first of two big chunks of code moved in this patch series.
A later patch in this series will move related code from nsFrameManager
into the same destination file.
2013-07-20 12:14:25 -07:00
L. David Baron
7a1d9ead26
Bug 896138 patch 2: Add a RestyleManager class. r=heycam
...
The later patches in this series will move restyling code into this file
from nsCSSFrameConstructor and nsFrameManager.
2013-07-20 12:14:24 -07:00