Commit Graph

447 Commits

Author SHA1 Message Date
Ting-Yu Lin
db635bcd47 Bug 1304598 Part 6 - Rename nsViewportFrame.h/cpp to ViewportFrame.h/cpp, and move exported header to mozilla/ subdir. r=dholbert
The class ViewportFrame doesn't have ns-prefix, so it's better to drop the
ns-prefix in the file names to avoid confusion.

MozReview-Commit-ID: 8Jrmfzb3tVR
2016-11-30 11:14:29 +08:00
Mantaroh Yoshinaga
4af39d9541 Bug 1287983 part 5 - Clarify the function name of creating transition. r=hiro
MozReview-Commit-ID: AW5qD8uBQxf
2016-10-19 15:16:52 +09:00
Hiroyuki Ikezoe
0d6fbdaea1 Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

Note about no-stacking-context-(opacity|transform)-removing-animation-in-delay.html
Before this patch we don't create any stacking context for animations overridden
by !important rules, but after this patch we do create a stacking context for
such animations.  As a result, in the test case we did paint a stacking context
in the first rAF callback and then in the second rAF callback we did clear the
painted stacking context. Unfortunately sometimes the second rAF callback was
called prior to clear the stacking context on the compositor because of
compositor delay. To avoid this situation, we have to wait for MozAfterPaint
instead of rAF callback.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-13 16:54:25 +09:00
Phil Ringnalda
2ab744056c Backed out 2 changesets (bug 1278136) for failures in no-stacking-context-opacity-removing-animation-in-delay.html
Backed out changeset 62cf4a7d6007 (bug 1278136)
Backed out changeset 5f2db29e67ca (bug 1278136)

MozReview-Commit-ID: K9WcZFjL2XB
2016-10-11 20:40:36 -07:00
Hiroyuki Ikezoe
ecfa2ce611 Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-12 09:59:03 +09:00
Manish Goregaokar
49b3b83008 Bug 1300337 - Replace None_ variants from nsStyleConsts.h with None; r=heycam,TYLin
MozReview-Commit-ID: CxHzbEzjLxT
2016-09-04 00:16:58 +05:30
Michael Layzell
c987b38274 Bug 1018486 - Part 4: Changes in layout/, r=bz
MozReview-Commit-ID: BsaKGHsoqOq
2016-09-07 10:50:40 -04:00
Emilio Cobos Álvarez
2efcfaad38 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Bobby Holley
7cba59f144 Bug 1292279 - Add a helper to get the real container and use it in nsPresShell::Content{Inserted,Removed}. r=heycam
The existing static_cast checks are totally wrong, by the way, since
nsIDocuments are never nsIContent. Looks like they were erroneously
added in bug 862763.
2016-08-25 21:36:41 -07:00
Bobby Holley
d78f7933b3 Bug 1292279 - Explicitly style new children in Content{Appended/Inserted} rather than using restyle hints. r=heycam
This gives us more control over what gets restyled when.
2016-08-25 21:36:32 -07:00
Emilio Cobos Álvarez
5950db2188 Bug 1292930: Hoist ChangeHintToString to RestyleManagerBase. r=heycam
MozReview-Commit-ID: BLW40PYhc0o
2016-08-10 22:00:49 -07:00
Emilio Cobos Álvarez
ce22257791 Bug 1292930: stylo: Reuse RestyleManager::PostRestyleEventInternal. r=heycam
MozReview-Commit-ID: J6rw1feAYWh
2016-08-10 22:00:33 -07:00
Emilio Cobos Álvarez
d529d90d3b Bug 1290335: Reuse the OverflowChangedTracker between both restyle managers. r=heycam
MozReview-Commit-ID: objnqfecZD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
77e50b3925 Bug 1290335: Hoist GetNextContinuationWithSameStyle to RestyleManagerBase. r=heycam
MozReview-Commit-ID: 3Jz9Od5xav0
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
7a245cf103 Bug 1290335: Hoist frame-construction logic in RestyleManager to static members in RestyleManagerBase. r=heycam
MozReview-Commit-ID: BqywJXZ0CYU
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
85da92ad01 Bug 1288873: stylo: Improve the error message when we don't handle a restyle hint. r=heycam
MozReview-Commit-ID: 3FCCCCF5gQS
2016-07-27 09:35:20 -07:00
Ting-Yu Lin
d3e8cf1818 Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
10912a51e3 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc
2016-07-21 18:36:35 +08:00
Jeremy Chen
1c37f4afe4 Bug 1287728 - part2: convert RestyleResult to enum class. r=heycam
MozReview-Commit-ID: LofE7oAJj6K
2016-07-19 21:10:59 +08:00
Jeremy Chen
6b59742617 Bug 1287728 - part1: explicitly define default value for RestyleResult. r=heycam
After explicitly define default value for RestyleResult, we have a value
starting from 0 now. So, we can drop the explicity numbering.

MozReview-Commit-ID: 1UlpkUT6mAL
2016-07-19 21:10:59 +08:00
Jeremy Chen
4163429c03 Bug 1287308 - part2: remove old NS_STYLE_HINT_NONE constant. r=dbaron
Remove NS_STYLE_HINT_NONE definition in nsChangeHint.
Fix related debug log in RestyleManager.

MozReview-Commit-ID: 4pA8u8MQDnv
2016-07-17 22:20:22 +08:00
Jeremy Chen
a8e6c93d07 Bug 1287308 - part1: replace uses of NS_STYLE_HINT_NONE with nsChangeHint(0). r=dbaron
MozReview-Commit-ID: CN66AimiuEu
2016-07-17 22:20:21 +08:00
Emilio Cobos Álvarez
d3a2ca57e6 Bug 1285474: Add mozilla::RestyleManagerBase to share logic between RestyleManager and ServoRestyleManager. r=bholley
Partially implement some restyling APIs to take rid of some gecko-only code
paths.

MozReview-Commit-ID: L5i6Kr2Qars
2016-07-12 00:33:57 -07:00
Emilio Cobos Álvarez
6fdfeb30ce Bug 1285474: stylo: Add nsINode method for knowing if the current document is using Servo's style back-end. r=bholley
MozReview-Commit-ID: 3sRE7BZj1tu
2016-07-12 00:33:57 -07:00
Carsten "Tomcat" Book
be1f176507 Merge mozilla-central to autoland 2016-07-11 11:51:22 +02:00
Hiroyuki Ikezoe
a9ac4f3282 Bug 1279403 - Part 1: Force to apply corresponding change hint if there is no corresponding layer to generate display item even if animation's segment is transform:none or 100% opacity. r=birtles
To create a stacking context for animations on transform:none segment,
we need to set NS_FRAME_MAY_BE_TRANSFORMED.  The fix is comming in part 2.

Note that in case of animations which has properties preventing running on
the compositor, e.g., width or height, corresponding layer is not created
at all, but even in such cases, we normally set valid change hint for such
animations in each tick, i.e. restyles in each tick. For example:

div.animate([{ opacity: 1, width: '100px' }, { opacity: 0, width: '200px' }], 1000);

This animation causes restyles in every ticks without this patch, this patch
does not affect such animations at all. The only animations which will be
affected by this patch are animations which has opacity/transform but
did not have those properies. e.g,  setting transform by setKeyframes or
changing target element from other target which prevents running on the
compositor, etc.

MozReview-Commit-ID: 78fYqyX8uDX
2016-07-11 08:27:02 +09:00
Masayuki Nakano
58f2b7d302 Bug 1260651 part.56 Rename nsHTMLEditor to mozilla::HTMLEditor and related stuff r=mccr8
This patch renames classes/structs as:

nsHTMLEditor -> mozilla::HTMLEditor
nsHTMLEditor::BlobReader -> mozilla::HTMLEditor::BlobReader
SetSelectionAfterTableEdit -> mozilla::AutoSelectionSetterAfterTableEdit

nsHTMLEditor.h -> HTMLEditor.h (exposed as mozilla/editor/HTMLEditor.h)
nsHTMLAbsPosition.cpp -> HTMLAbsPositionEditor.cpp
nsHTMLAnonymousUtils.cpp -> HTMLAnonymousNodeEditor.cpp
nsHTMLDataTransfer.cpp -> HTMLEditorDataTransfer.cpp
nsHTMLEditorStyle.cpp -> HTMLStyleEditor.cpp
nsHTMLInlineTableEditor.cpp -> HTMLInlineTableEditor.cpp
nsHTMLObjectResizer.cpp -> HTMLEditorObjectResizer.cpp
nsTableEditor.cpp -> HTMLTableEditor.cpp

These new file names are clearer names which related to HTMLEditor than old names.

MozReview-Commit-ID: DTWaoFvy0DF
2016-07-09 11:42:33 +09:00
Jeremy Chen
c98eb0d732 Bug 906116 - part4: Remove NS_STYLE_HINT_FRAMECHANGE. r=dbaron
MozReview-Commit-ID: IXPWY2B6k48
2016-07-06 13:06:14 +08:00
Jeremy Chen
7f7e952b2b Bug 906116 - part3.3: Replace NS_STYLE_HINT_FRAMECHANGE with nsChangeHint_ReconstructFrame. r=dbaron
Use ReconstructFrame to replace NS_STYLE_HINT_FRAMECHANGE in many places, such
as HTML*Element::GetAttributeChangeHint and HTMLFrameSetElement::SetAttr.

MozReview-Commit-ID: EHbc4RMeuu0
2016-07-06 13:06:14 +08:00
Carsten "Tomcat" Book
de5949e087 Backed out changeset 8c1f9996a7d6 (bug 906116) 2016-07-06 05:40:06 +02:00
Carsten "Tomcat" Book
8456942611 Backed out changeset 1ec6e0357c42 (bug 906116) 2016-07-06 05:40:05 +02:00
Jeremy Chen
e3259ed9f8 Bug 906116 - part4: Remove NS_STYLE_HINT_FRAMECHANGE. r=dbaron
MozReview-Commit-ID: IXPWY2B6k48
2016-07-06 09:59:56 +08:00
Jeremy Chen
7d67fc920f Bug 906116 - part3.3: Replace NS_STYLE_HINT_FRAMECHANGE with nsChangeHint_ReconstructFrame. r=dbaron
Use ReconstructFrame to replace NS_STYLE_HINT_FRAMECHANGE in many places, such
as HTML*Element::GetAttributeChangeHint and HTMLFrameSetElement::SetAttr.

MozReview-Commit-ID: EHbc4RMeuu0
2016-07-06 09:59:56 +08:00
Brad Werth
69ccb7e3db Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Phil Ringnalda
ae1f6b874d Back out changeset 0bb00282a4c2 (bug 1243559) for widespread SVG assertion failures
CLOSED TREE
2016-06-22 18:45:08 -07:00
Brad Werth
665cd94da6 Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Astley Chen
ca13d10ee9 Bug 1277131 : Part 1 - rename nsTableOuterFrame to nsTableWrapperFrame. r=heycam
MozReview-Commit-ID: KrSHLbmovTM
2016-06-16 13:14:08 +01:00
Tooru Fujisawa
0a797f26dc Bug 382721 - Part 4: Support dotted/dashed border-radiused corners. r=jrmuizel 2015-08-06 11:42:09 +09:00
Carsten "Tomcat" Book
b97b603ae2 Backed out changeset 0863ce40d2f7 (bug 382721) 2016-06-10 15:38:37 +02:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Tooru Fujisawa
400ced362d Bug 382721 - Part 4: Support dotted/dashed border-radiused corners. r=jrmuizel 2015-08-06 11:42:09 +09:00
Sebastian Hengst
6451de40b7 Backed out changeset 6f2840c13fb0 (bug 382721) 2016-06-08 11:07:51 +02:00
Tooru Fujisawa
6caadbba36 Bug 382721 - Part 4: Support dotted/dashed border-radiused corners. r=jrmuizel 2015-08-06 11:42:09 +09:00
Jeremy Chen
e18b390d40 Bug 1273766 - part3: purge NS_UpdateHint inline. r=heycam
MozReview-Commit-ID: IIOT9jq8hOl
2016-05-23 11:26:03 +08:00
Jeremy Chen
7f5f219f9b Bug 1273766 - part2: purge NS_SubtractHint inline. r=heycam
MozReview-Commit-ID: 1UX1wZJNnat
2016-05-23 11:26:03 +08:00
Jeremy Chen
ae9b673d54 Bug 1273766 - part1: purge NS_CombineHint inline. r=heycam
MozReview-Commit-ID: CWlyjREgoEk
2016-05-23 11:26:03 +08:00
Hiroyuki Ikezoe
5c3ea8ae5a Bug 1268385 - Clear isRunningOnCompositor for script animations if associated nsIFrame is destroyed. r=birtles
MozReview-Commit-ID: 3tTkDtxkHcT
2016-05-16 16:25:46 +09:00
L. David Baron
dddcc1ccd1 Bug 1271015 patch 1 - Add mechanism for testing the number of elements restyled. r=heycam
This is useful for writing tests that test particular optimizations,
such as that a particular operation doesn't cause restyles.  It sits
next to similar counters for frames constructed and frames reflowed.

I also snuck in a preference for the less-expensive mPresContext over
the more expensive mFrame->PresContext() (which dereferences multiple
pointers).

(Originally written for work I planned to be part of bug 1189598.)

MozReview-Commit-ID: 8PN7nwLJG9r
2016-05-09 11:26:35 -07:00
Markus Stange
feefd17b7e Bug 1227327 - Invalidate table parts and MathML frames when background-position changes on them. r=dbaron
Theoretically we should do the same for nsTreeBodyFrame, but that frame type is
harder to detect and I'm not sure it's worth adding code to support updating
background-position on XUL trees.

MozReview-Commit-ID: 8HPT53MX6bO
2016-04-28 13:01:22 -04:00
Phil Ringnalda
a821e6f3f5 Back out 6 changesets (bug 1227327) for Android reftest failures in 942672-1.html, background-position-2b.html and background-position-2c.html
CLOSED TREE

Backed out changeset c9b0ba301426 (bug 1227327)
Backed out changeset c857ad1fa01c (bug 1227327)
Backed out changeset 4ba58cd94310 (bug 1227327)
Backed out changeset 30e394faeb23 (bug 1227327)
Backed out changeset ce7fd04cc749 (bug 1227327)
Backed out changeset e0fe45294034 (bug 1227327)
2016-05-03 21:49:07 -07:00