L. David Baron
63165100f0
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
daa781efb8
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
79fcd060ed
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
6a6480e7d4
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
4d0b1002d7
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
2001483389
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
4b9e4cbc76
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
37d68aa08d
Bug 901269 - Part b: Stop including nsContentUtils.h in Element.h; r=jlebar
2013-08-14 08:55:46 +02:00
Corey Ford
6a0ae7831b
Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron
2013-08-08 17:20:17 -07:00
Cameron McCormack
47a3c63c59
Bug 899894 - Don't null check nsStyleSet::ResolveBlah return values. r=dbaron
2013-08-03 14:11:06 +10:00
Alex Xu
5c275a263f
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
e5ae0c8771
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
f5494b3230
Bug 898329 patch 9: Fix indentation from previous patches. r=heycam
2013-07-30 17:36:12 -07:00
L. David Baron
da1c821dd0
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
644b18c353
Bug 898329 patch 7: Split ElementRestyler::Restyle into multiple functions. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
f3c3544441
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
0ef31f3a1b
Bug 898329 patch 5: Create and use ElementRestyler::mResolvedChild. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
1cbbc782a7
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
999d9026ff
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
5e9a6eec2d
Bug 898329 patch 3: Create and use ElementRestyler::mWasFrameVisible. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
835dff2845
Bug 898329 patch 2: Fix indentation in ReParentStyleContext from patch 1. r=heycam
2013-07-30 17:36:11 -07:00
L. David Baron
26fe7108f3
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
403e1e0e11
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
bada68a233
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
ba4d2c72e0
Bug 898209 patch 13: Create and use ElementRestyler::mTreeMatchContext. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
5142ed9ab7
Bug 898209 patch 12: Create and use ElementRestyler::mVisibleKidsOfHiddenElement. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
a5ed526004
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
9f6cef8a46
Bug 898209 patch 10: Create and use ElementRestyler::mRestyleTracker. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
322be2e39a
Bug 898209 patch 9: Create and use ElementRestyler::mParentFrameHintsNotHandledForDescendants and mHintsNotHandledForDescendants. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
4e0c72ea38
Bug 898209 patch 8: Create and use ElementRestyler::mChangeList. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
70133ecfe4
Bug 898209 patch 7: Fix remaining variable shadowing warning. r=heycam
2013-07-30 17:36:10 -07:00
L. David Baron
58cdfbffde
Bug 898209 patch 6: Create and use ElementRestyler::mParentContent and mContent. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
a9d8ce24c7
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
dfc812063a
Bug 898209 patch 4: Remove aPresContext parameter to ElementRestyler::Restyle. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
21507c7d3e
Bug 898209 patch 3: Create and use ElementRestyler::mFrame. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
1698387b98
Bug 898209 patch 2: Create and use ElementRestyler::mHintsHandled. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
f7b2c1624d
Bug 898209 patch 1: Add ElementRestyler class to begin refactoring ReResolveStyleContext. r=heycam
2013-07-30 17:36:09 -07:00
L. David Baron
0b56cfff8c
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
1ab9c7bcb4
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])
2013-07-18 13:59:53 -04:00
Corey Ford
e608601898
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
ef09163ea1
Fix bustage for bug 886295
2013-07-22 16:30:18 +12:00
Robert O'Callahan
a7df546a7f
Bug 886295. Backout fix for bug 880854 to fix regression. r=mats
2013-07-22 14:04:46 +12:00
L. David Baron
b578776956
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
03e7bf4a60
Bug 896138 patch 7: Remove unused aFrameManager parameters to some functions. r=heycam
2013-07-20 12:14:25 -07:00
L. David Baron
82f7e7134b
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
bb2688431e
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
c8179fbf32
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