Commit Graph

39203 Commits

Author SHA1 Message Date
Gavin Sharp
0c3c92e2ae Bug 379975 - crashtest. 2013-12-23 16:51:58 +00:00
bzbarsky@mit.edu
09adf43a53 Bug 375299 - crashtest. 2013-12-23 16:51:58 +00:00
Martijn Wargers
fb313d622c Bug 374420 - crashtest. 2013-12-23 16:51:58 +00:00
Martijn Wargers
61b6c7eedb Bug 374090 - crashtest. 2013-12-23 16:51:57 +00:00
Martijn Wargers
339be66828 Bug 373919 - crashtest. 2013-12-23 16:51:57 +00:00
Martijn Wargers
aeb2dde695 Bug 373533 - crashtests. 2013-12-23 16:51:57 +00:00
Martijn Wargers
dd00b7ce93 Bug 370967 - crashtest. 2013-12-23 16:51:57 +00:00
Martijn Wargers
20f9dc2ba4 Bug 370174 - crashtests. 2013-12-23 16:51:57 +00:00
Martijn Wargers
29c61ca56a Bug 369547 - crashtests. 2013-12-23 16:51:57 +00:00
Martijn Wargers
fcffa3ed10 Bug 317876 - crashtest. 2013-12-23 16:51:57 +00:00
Martijn Wargers
e15a9debfc Bug 290743 - crashtest. 2013-12-23 16:51:57 +00:00
Martijn Wargers
eb727c6ac8 Bug 275625 - crashtest. 2013-12-23 16:51:56 +00:00
Patrick Reiter Horn
6e233a465c Bug 255468 - crashtest. 2013-12-23 16:51:56 +00:00
Robert Longson
159c018097 Bug 939775 - Remove UpdateTextFragmentTrees and nsSVGMutationObserver. r=dholbert 2013-12-23 09:40:50 +00:00
Daniel Holbert
12c8ad6e3a Bug 952857: Fix some typos in reftests that cause JavaScript errors in output. (test-only, no review) 2013-12-22 13:00:28 -08:00
Daniel Holbert
37444b82b9 (no bug) Convert DOS line endings to UNIX line endings, in reftest files 690643-1*. (test-only, whitespace-only, DONTBUILD) 2013-12-22 13:11:58 -08:00
Cameron McCormack
178b8fa7cb Bug 952338 - Temporarily avoid passing in sheet to ParsePropertyWithVariableReferences to avoid a crash. rs=sfink 2013-12-22 15:00:08 +11:00
Olli Pettay
f166efb4c2 Bug 899910, random failure in test_leaf_layers_partition_browser_window.xul (windows only), r=tn
--HG--
rename : mobile/android/base/resources/xml-v11/preferences_search.xml => mobile/android/base/resources/xml/preferences_search.xml
extra : rebase_source : 02620212a533367a47bd112cddb716e7b84a903f
2013-12-21 03:26:53 +02:00
William Chen
a77e9ae737 Bug 887538 - Implement web components shadow element. r=mrbkap 2013-12-20 22:43:58 -08:00
Wes Kocher
53c4b1ac6a Merge inbound to m-c 2013-12-20 18:42:04 -08:00
Daniel Holbert
1bdeb67c5f Bug 946835 part 7: Add vertical variants of existing reftests for checking the baseline of a multi-line flex container. (no review)
--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-1-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-vert-1-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-1.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-vert-1.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-2-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-vert-2-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-2.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-vert-2.html
2013-12-20 15:07:58 -08:00
Daniel Holbert
c07d47e936 Bug 946835 part 6: In reftests flexbox-baseline-multi-line-horiz-*, increase some sizes from 18px (arbitrary) to 20px (half the container width) to make upcoming vertical variants simpler. (no review) 2013-12-20 15:07:56 -08:00
Robert Longson
2b4ee5d7ba Bug 940193 - rename nsSVGTextFrame2 to SVGTextFrame. r=dholbert
--HG--
rename : layout/svg/nsSVGTextFrame2.cpp => layout/svg/SVGTextFrame.cpp
rename : layout/svg/nsSVGTextFrame2.h => layout/svg/SVGTextFrame.h
2013-12-20 16:38:51 +00:00
Carsten "Tomcat" Book
8ba68170dd Backed out changeset 70befb4cf2f4 (bug 878935) for mochitest -4 and bc test failures 2013-12-20 12:42:54 +01:00
Carsten "Tomcat" Book
76b3c9c6c0 merge fx-team to mozilla-central 2013-12-20 10:22:29 +01:00
Cameron McCormack
fbaa80f98d Bug 952270 - Null check result of GetPathForLengthOrPositionMeasuring in nsSVGTextFrame2::GetTextPath. r=longsonr 2013-12-20 15:26:28 +11:00
Wes Kocher
b27e63c236 Merge m-c to inbound 2013-12-19 19:51:23 -08:00
Wes Kocher
56d9fc8c65 Merge fx-team to m-c 2013-12-19 19:09:04 -08:00
Wes Kocher
3f7a546e4f Merge inbound to m-c 2013-12-19 18:58:45 -08:00
Brad Lassey
bdfab24d3e Backed out changeset 93d8c8703f4d 2013-12-19 17:49:05 -05:00
Kartikaya Gupta
7951bd2cf8 Bug 946408 - Always layerize a scrollable element if it's focused. r=kats,tn 2013-12-16 14:53:06 -05:00
Kartikaya Gupta
a1a0eea188 Bug 946408 - Small refactoring for readability. r=tn 2013-12-16 14:53:02 -05:00
Brian Birtles
733a6f94da Bug 946540 part 2 - Reftest for motion paths with inflection points outside (0,1); r=longsonr 2013-12-19 08:52:37 +09:00
L. David Baron
bbd8a11e3c Bug 782610 followup: Add a version of css-supports-027 that does not use @-moz-document. (We already have css-supports-026 to pair with css-supports-028.)
--HG--
rename : layout/reftests/w3c-css/submitted/conditional3/css-supports-027.xht => layout/reftests/w3c-css/submitted/conditional3/css-supports-046.xht
2013-12-18 17:05:54 -05:00
Daniel Holbert
2e9579e077 Bug 951843: Fix some flexbox-items-as-stacking-contexts-* reftests to link to a subsection of flexbox spec, & clarify the reftest titles. test-metadata-only, DONTBUILD 2013-12-18 13:38:54 -08:00
Daniel Holbert
fd62309c56 Bug 946835 followup: drop <link> tags that the w3c test harness doesn't like in reference cases. (test-metadata-only, no review, DONTBUILD) 2013-12-18 13:04:32 -08:00
L. David Baron
1e5359e313 Bug 826582 followup: remove link rel=help from test references, since it's considered an error in the CSS WG test suite management system. No review. 2013-12-18 15:35:04 -05:00
Robert O'Callahan
2f559956a1 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
--HG--
extra : rebase_source : 59ce23c3ab81afc624921e4543fe48dd7ae47ce2
2013-12-18 18:37:24 +13:00
Daniel Holbert
2e5284f31f Bug 946835 part 5: Add reftest for finding baseline of multi-line flex container, with baseline-aligned items on first line and flex-wrap:wrap-reverse. r=mats
--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-3-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-4-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-3.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-baseline-multi-line-horiz-4.html
2013-12-18 10:34:48 -08:00
Daniel Holbert
8d8da19952 Bug 946835 part 4: Add reftest for finding baseline of multi-line flex container, with baseline-aligned items on first line and flex-wrap:wrap. r=mats 2013-12-18 10:34:47 -08:00
Daniel Holbert
c63a12abc0 Bug 934123: When measuring flex items, pass the same flags into ReflowChild and FinishReflowChild. r=mats 2013-12-18 10:34:46 -08:00
L. David Baron
0028f18972 Bug 951765: Make CSS variables reftests point to TR draft rather than dev.w3.org draft so the CSS WG test system understands them. No review. 2013-12-18 13:24:04 -05:00
Wes Kocher
01cddd87c4 Merge m-c to fx-team 2013-12-19 19:53:30 -08:00
Daniel Holbert
d8219757a9 Bug 951755: Fix some flexbox reftests to point to official flexbox spec instead of dev spec. (test-only, metadata-only) DONTBUILD 2013-12-18 10:07:38 -08:00
Gijs Kruitbosch
c9bcd44acf Bug 950336 - add a pref to disable onbeforeunload, r=bz
--HG--
extra : rebase_source : 37eaa4764a662837ae12354b9cde0e2d17a4c90d
2013-12-18 14:56:40 +00:00
Mats Palmgren
7293495624 Bug 950467, part 3 - Remove the unused aFrame param from nsFontFaceList::AddFontsFromTextRun. r=roc 2013-12-18 13:25:54 +00:00
Mats Palmgren
30da68c20f Bug 950467, part 2 - Only call GetFontFacesForText for the first text continuation, but with aFollowContinuations=true, and optimize GetFontFacesForText for that case. r=roc 2013-12-18 13:25:54 +00:00
Mats Palmgren
626f9af8d7 Bug 950467, part 1 - Iterate continuations only at the outermost level, recursing into each. r=roc 2013-12-18 13:25:54 +00:00
Phil Ringnalda
d12a89d025 Back out f55504b0184f (bug 950427) for mochitest-4 and mochitest-oth bustage (at least)
CLOSED TREE
2013-12-17 23:22:20 -08:00
Robert O'Callahan
4e5e1fbf10 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Timothy Nikkel
9e366145a2 Bug 951467. Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc
The bounds of the scroll port match what will actually be drawn on the screen.

The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.

We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.

We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).

We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
2013-12-17 23:02:56 -06:00
Matt Woodrow
b9a51038c4 Bug 946929 - Add some debug logging to IsDOMPaintEventPending. r=mats 2013-12-18 14:58:57 +13:00
Matt Woodrow
26e54b6c6a Bug 950490 - Don't apply the transform twice when doing blurring in user-space. r=roc 2013-12-18 14:58:21 +13:00
Ryan VanderMeulen
f7385ac1e9 Merge m-c to inbound. 2013-12-17 16:20:31 -05:00
Ryan VanderMeulen
f0ceb6aaa5 Merge b2g-inbound to m-c. 2013-12-17 16:17:49 -05:00
Kartikaya Gupta
0ea9aefa0c Bug 950487 - Remove unnecessary UpdateCompositionBounds function on APZC. r=Cwiiis 2013-12-17 14:25:57 -05:00
Olli Pettay
8c23327abc Bug 867505 - Intermittent test_bug536567_perwindowpb.html, r=ehsan
--HG--
extra : rebase_source : eeda74ec9f14c82944e1d2797596f61880deeaca
2013-12-19 15:02:08 +02:00
Ehsan Akhgari
2909676a03 Bug 949445 - Part 2: Move Selection to WebIDL; r=bzbarsky 2013-12-17 09:12:33 -05:00
Ehsan Akhgari
00099f85c8 Bug 949445 - Part 1: Move selectionLanguageChange to nsISelectionPrivate; r=bzbarsky 2013-12-17 09:12:17 -05:00
Ehsan Akhgari
256bf7e59c Bug 950659 - Remove nsIDOMMediaQueryList and nsIDOMMediaQueryListListener; r=bzbarsky
X-Git-Commit-ID: 8584a27a3b3f2a749273cf6c56057b0276854f3b
2013-12-17 08:40:06 -05:00
Mats Palmgren
c652354cb3 Bug 947158 - Drain the overflow list on inlines before traversing children for bidi processing. r=smontagu 2013-12-17 13:30:25 +00:00
Mats Palmgren
8882c5de34 Bug 947158 - Implement DrainSelfOverflowList for nsInlineFrame and nsFirstLineFrame. r=bz 2013-12-17 13:30:24 +00:00
Cameron McCormack
ebb7bfe9b8 Bug 950497 - Make self-referencing CSS variables invalid even if they have fallback. r=dbaron 2013-12-17 16:16:42 +11:00
Bill McCloskey
bc4112895d Bug 673569 - Let each frame script have its own anonymous scope (r=smaug,Waldo,mrbkap,bsmedberg) 2013-11-23 21:32:45 -08:00
Gregory Szorc
e396fc159d Bug 774572 - Part 2: Define JAR_MANIFESTS in moz.build files; r=glandium
Every directory with a jar.mn now has JAR_MANIFESTS defined in its
moz.build file.

We also removed the may_skip special consideration of jar.mn files
because this information is now available during tier traversal by the
reader courtesy of the variables being present in moz.build files.

--HG--
extra : rebase_source : 21049b15e6bd9cf65b0805ccaccc4ba5aae93c98
extra : amend_source : 0b1ea866d725beef92d37c6f6d475369ac002e19
2013-12-10 16:18:11 +09:00
Daniel Holbert
dcdc7488e2 Bug 946273 part 3: Add reftests for box-sizing on vertical flex container and on flex items in vertical container. r=mats
--HG--
rename : layout/reftests/flexbox/flexbox-box-sizing-on-container-horiz-1-ref.html => layout/reftests/flexbox/flexbox-box-sizing-on-container-vert-1-ref.html
rename : layout/reftests/flexbox/flexbox-box-sizing-on-container-horiz-1.html => layout/reftests/flexbox/flexbox-box-sizing-on-container-vert-1.html
rename : layout/reftests/flexbox/flexbox-box-sizing-on-items-horiz-1-ref.html => layout/reftests/flexbox/flexbox-box-sizing-on-items-vert-1-ref.html
rename : layout/reftests/flexbox/flexbox-box-sizing-on-items-horiz-1a.html => layout/reftests/flexbox/flexbox-box-sizing-on-items-vert-1a.html
rename : layout/reftests/flexbox/flexbox-box-sizing-on-items-horiz-1a.html => layout/reftests/flexbox/flexbox-box-sizing-on-items-vert-1b.html
2013-12-19 15:37:14 -08:00
Daniel Holbert
055155f5df Bug 946273 part 2: Add reftest for box-sizing on flex items with "flex-basis" set, instead of "width". r=mats
--HG--
rename : layout/reftests/flexbox/flexbox-box-sizing-on-items-horiz-1a.html => layout/reftests/flexbox/flexbox-box-sizing-on-items-horiz-1b.html
2013-12-19 15:37:12 -08:00
Daniel Holbert
06f9ca3e5c Bug 946273 part 1: Add reftests for box-sizing on horizontal flex container and on flex items with "width" set in horizontal container. r=mats 2013-12-19 15:37:11 -08:00
Ryan VanderMeulen
1037218183 Merge inbound to m-c. 2013-12-16 16:58:27 -05:00
Kartikaya Gupta
0b8bb93d3e Bug 949132 - Use the FrameMetrics flag on the layers update to update APZC scroll offset instead of tracking it in widget code. r=Cwiiis 2013-12-16 12:04:46 -05:00
Kartikaya Gupta
4ad1847fb9 Bug 949132 - Add a flag to FrameMetrics indicating a non-APZ scroll (original patch by mstange). r=tn 2013-12-16 12:04:45 -05:00
Carsten "Tomcat" Book
da99640122 Merge mozilla-central to b2g-i on a CLOSED TREEx 2013-12-16 16:25:31 +01:00
Morris Tseng
1725da86f8 Bug 930056 - Force invalidate frame when displayitem is remote type. r=mattwoodrow 2013-12-16 08:37:34 -05:00
Boris Zbarsky
957cfde95a Bug 950657. Give WebIDL callbacks an operator== that does the right thing. r=smaug 2013-12-16 13:06:35 -05:00
Matt Woodrow
b51b6f7228 Bug 913503 - Fix reversed if() condition to fix bustage. 2013-12-16 21:05:20 +13:00
Matt Woodrow
0b806c9170 Bug 913503 - Update windowed plugin positions before we schedule a composite with OMTC. r=roc 2013-12-16 18:38:42 +13:00
Matt Woodrow
9a1498bda7 Bug 948848 - Fold transform scale factors down to leaf layers even for temporary layer managers since it can make a difference for clips that are snapped to pixel boundaries. r=roc 2013-12-16 18:37:47 +13:00
Phil Ringnalda
fde711cd67 Bug 934301 - Disable test_bug450930.xhtml for constant failures
--HG--
extra : rebase_source : 9d1dc6c2ff2875272abb0af06d6eb769065e5777
2013-12-15 21:14:50 -08:00
Corey Ford
8f24e87927 Bug 950418 - Enable sticky pref for sticky-legend-1.html reftest. r=dholbert 2013-12-14 20:00:23 -08:00
Ehsan Akhgari
be4a974b23 Bug 950523 - Part 2: Move MediaQueryList to WebIDL bindings; r=bzbarsky 2013-12-16 09:03:34 -05:00
Ehsan Akhgari
e0dbe161ac Bug 950523 - Part 1: Rename nsDOMMediaQueryList to mozilla::dom::MediaQueryList; r=bzbarsky
--HG--
rename : layout/style/nsDOMMediaQueryList.cpp => layout/style/MediaQueryList.cpp
rename : layout/style/nsDOMMediaQueryList.h => layout/style/MediaQueryList.h
2013-12-16 09:03:19 -05:00
Jonathan Watt
ded0687153 Bug 944704, part 5 - Reftest for stroke-dasharray on circle. r=Bas 2013-12-14 11:09:36 +00:00
Masatoshi Kimura
b83c984db1 Bug 941300 - Make circle radial-gradient invalid if two radii values are given. r=dbaron 2013-12-14 13:22:48 +09:00
Mike Hommey
34b94bf852 Bug 949334 - Use FINAL_LIBRARY for webrtc. r=gps 2013-12-14 11:38:53 +09:00
Chris Lord
fd192955fd Bug 936500 - Always build layers for nsDisplayScrollLayer. r=tn
APZC information is associated with layers, and having those layers suddenly
disappear because they became occluded, or their displayports are off-screen
has undesired effects.
2013-12-13 19:37:34 +00:00
Benoit Girard
892081b54a Bug 941095 - Part 2: Disable subpixelaa + component alpha. r=mattwoodrow
--HG--
extra : rebase_source : 7e3a0d3710fb29b47615cc0254135d3b44637ed8
2013-12-13 13:53:18 -05:00
Mats Palmgren
47faef9328 Bug 949932 - Null-check the new StickyScrollContainer in case we don't have any scroll frame ancestors, e.g. in a position:fixed sub-tree. r=roc 2013-12-13 12:46:59 -05:00
Quentin Headen
3a7159dca8 Bug 731667 - Rewrite mtable implementation to avoid use of _moz-* attributes - tests. r=fredw 2013-12-13 12:43:17 -05:00
Quentin Headen
7e48d344d0 Bug 731667 - Rewrite mtable implementation to avoid use of _moz-* attributes - remove legacy code. r=karlt 2013-12-13 12:42:57 -05:00
Quentin Headen
6f30920da5 Bug 731667 - Rewrite mtable implementation to avoid use of _moz-* attributes - implement parsing and rendering. r=karlt, r=bz 2013-12-13 12:42:43 -05:00
Tor Arvid Lund
3d5f99f7f3 Bug 929513 - Replace some instances of gfxIntSize with gfx::IntSize r=nical 2013-12-13 18:32:02 +01:00
Jonathan Watt
c21b58cae2 Bug 944704 follow-up to mark zoomed-svg-with-viewBox-01.svg very slightly fuzzy on windows. r=orange 2013-12-13 13:43:58 +00:00
Jonathan Watt
12453ea7a3 Bug 944704 follow-up to mark zoomed-svg-with-viewBox-01.svg very slightly fuzzy on windows. r=orange 2013-12-13 13:41:46 +00:00
Jonathan Watt
609fb5fc12 Bug 944704, part 3 - Fix stroke dashing for SVG ellipses so that the dashing starts from the correct point and progresses in the correct direction. r=Bas 2013-12-13 12:14:37 +00:00
Simon Montagu
cd447e7fa5 Add NS_FRAME_IS_BIDI bit even when short-circuiting bidi resolution. Bug 942690, r=roc 2013-12-13 12:09:26 +02:00
Jonathan Watt
7da8970d0e Bug 944442 - DeCOMify imgIContainer::GetFrame. r=seth
--HG--
extra : rebase_source : 612c1923f3ed8a01fc30f2d306b4682e585e53fe
2013-12-13 08:34:24 +00:00
Brian Birtles
11ce2f8504 Bug 948245 part 2 - Allow the min attribute to extend the active duration; r=dholbert
The min attribute on an animation element can extend the active duration making
it longer than the "repeat duration" (the amount of the time the animation runs
including all repeats). For the remaining time after the repeat duration has
completed until the end of the active duration the animation should apply its
fill behavior.

Previously this was not implemented and min could not extend the active
duration. Allowing this effectively introduces an additional kind of state where
we are both within the active interval but not animating. In this case we
set the animation function (referred to as the "client" for historical reasons)
to inactive so that effectively the timing model is active but the animation
model is inactive.

(In the future we will come up with something a little easier to understand when
we rework this in terms of Web Animations components.)
2013-12-13 13:41:52 +09:00
Wes Kocher
898b147d75 Merge inbound to m-c 2013-12-12 19:12:51 -08:00
Kartikaya Gupta
5642127a72 Bug 933264 - Add functions to print nsDisplayListSet instance. r=tn 2013-12-12 13:27:07 -05:00
Olli Pettay
d1c5c697a3 Bug 899910 - Intermittent TEST-UNEXPECTED-FAIL | layout/base/tests/chrome/test_leaf_layers_partition_browser_window.xul, r=tn
--HG--
extra : rebase_source : 58d21857e892a875acbea32d653f243ba9c75ad6
2013-12-12 00:09:29 +02:00
Ryan VanderMeulen
8c7c4ef7ab Merge m-c to inbound on a CLOSED TREE. 2013-12-11 22:39:20 -05:00
Dale Harvey
543aa991a9 Bug 942929 - Use longtapup event to handle firing clicks when longtap not handled. r=kats 2013-12-12 00:39:06 +00:00
Ryan VanderMeulen
f88ec242eb Merge inbound to m-c. 2013-12-11 13:32:11 -05:00
Ryan VanderMeulen
464d00d6ad Merge b2g-inbound to m-c. 2013-12-11 13:24:26 -05:00
Henri Sivonen
c007e66c29 Bug 946647 - Remove bidi options from nsIMarkupDocumentViewer as dead code. r=smontagu. 2013-12-11 15:47:50 +02:00
Cameron McCormack
0fdf8ce2d7 Bug 773296 - Part 28: Avoid some crashes in the inspector when variables are present. r=roc 2013-12-12 13:09:47 +11:00
Cameron McCormack
9587a15ea9 Bug 773296 - Part 27: Support 'unset' in CSS variables. r=dbaron 2013-12-12 13:09:47 +11:00
Cameron McCormack
25f94a2c72 Bug 773296 - Part 26: Tests. r=dbaron 2013-12-12 13:09:47 +11:00
Cameron McCormack
e47788ff1e Bug 773296 - Part 25: Parse variable declarations in @supports conditions. r=dbaron
Since we cannot parse and discard a white space token after the ':' in a
custom property declaration, we instead explicitly skip over it when
parsing a non-custom property's value.
2013-12-12 13:09:46 +11:00
Cameron McCormack
56b65e99dd Bug 773296 - Part 24: Recognize variables in CSS.supports("var-blah", "whatever") calls. r=dbaron 2013-12-12 13:09:46 +11:00
Cameron McCormack
5e31fc11d0 Bug 773296 - Part 23: Support variables in CSSStyleDelcaration methods. r=dbaron
This adds support for custom properties on the remainder of the
CSSStyleDeclaration methods.

A shorthand that was specified using a variable reference is serialized
to its originally specified value, rather than by concatenating the
serializations of its longhand components.

A shorthand that was not specified using a variable references but which
has a component longhand that was is serialized to the empty string.
2013-12-12 13:09:46 +11:00
Cameron McCormack
99b85f3cd1 Bug 773296 - Part 22: Expose variables through the nsComputedDOMStyle indexed getter. r=dbaron
This exposes the names of the custom properties on a computed style
object through its indexed property getter, just after all of the
built-in properties.
2013-12-12 13:09:45 +11:00
Cameron McCormack
be805d8bf5 Bug 773296 - Part 21: Factor out style context getting from nsComputedDOMStyle::GetCSSPropertyValue. r=dbaron
This just factors out some code from
nsComputedDOMStyle::GetCSSPropertyValue into a
UpdateCurrentStyleSources and ClearCurrentStyleSources function.
These will will be needed in nsComputedDOMStyle::IndexGetter so that it
can have up to date information on how many custom properties there are
on the node.
2013-12-12 13:09:45 +11:00
Cameron McCormack
126a20fc01 Bug 773296 - Part 20: Return variables from getComputedStyle().get{,CSS}Property(). r=dbaron 2013-12-12 13:09:45 +11:00
Cameron McCormack
4daf822cec Bug 773296 - Part 19: Compare style structs even for the same rule node when variables have changed. r=dbaron
This makes updates work correctly when variable values change.
Rather than handling nsStyleVariables with a DO_STRUCT_DIFFERENCE,
we explicitly compare the two nsStyleVariables objects in
nsStyleContext::CalcStyleDifference before looking at the other
style structs.  This is because we need to force those other
style structs to be compared if variable values are changing.
nsStyleVariables::CalcDifference still returns 0, since the change in
variable values themselves doesn't require any updates.
2013-12-12 13:09:45 +11:00
Cameron McCormack
3a3a7216b5 Bug 773296 - Part 18: Add error reporting for invalid variable references. r=dbaron
This adds CSS parser error reporting for parsing of custom properties
and normal properties that have variable references.

When re-parsing a normal property that had a variable reference, we
report any parse error to be at the beginning of the property value.
This is because it is difficult to keep track of where exactly each
variable substitution came from to point to the particular value
that would have caused the parse error.  For example, with this:

  :root {
    var-a: 1px 2px;
    var-b: 3px var(a);
  }
  p {
    margin: var(a) var(b);
  }

we would end up resolving the value of 'margin' to:

  "  1px 2px  3px  1px 2px"

In this string, the parse error occurs when we encounter the final
"2px", but by this point we don't know where that value came from.
So instead we just point to the line on which 'margin' was declared.

We extend ErrorReporter with an OutputError overload that takes the
specific line and column number to use in the error report to get this
right, and we store the line and column number for each token stream
we parse on the nsCSSValueTokenStream object.
2013-12-12 13:09:44 +11:00
Cameron McCormack
7eb5d97a49 Bug 773296 - Part 17: Resolve property values that have variable references at computed value time. r=dbaron
This re-parses property values at computed value time if
they had a specified value that was a token stream.  We add
a function nsRuleNode::ResolveVariableReferences that looks
at all the values in the nsRuleData and calls in to a new
nsCSSParser::ParsePropertyWithVariableReferences function if they have a
token stream value.

We add a nsCSSExpandedDataBlock::MapRuleInfoInto function that will
take the re-parsed property value and copy it back into the nsRuleData.

nsRuleNode::ResolveVariableReferences returns whether any variables
were attempted to be resolved, so that nsRuleNode::WalkRuleTree wil
recompute the rule detail in case any became 'inherit'.
2013-12-12 13:09:44 +11:00
Cameron McCormack
a9096d4a6d Bug 773296 - Part 16a: Followup to move to using nsCSSValueSharedList in OMTA code. r=roc 2013-12-12 13:09:44 +11:00
Cameron McCormack
ae655160b2 Bug 773296 - Part 16: Add a ref-counted list nsCSSValue unit and use it for tranform lists; hold a strong reference to one on nsStyleDisplay. r=dbaron
This adds a new eCSSUnit_SharedList type for nsCSSValue, which is a
reference counted object that contains an nsCSSValueList.  We need this
so that nsStyleDisplay::mSpecifiedTransform can hold a strong reference
to a specified transform list value.  When 'transform' is specified
using a variable reference, the resulting nsCSSValue does not stick
around in the Declaration object, so we wouldn't be guaranteed that
it lives long enough for nsStyleDisplay to keep referencing it.
2013-12-12 13:09:44 +11:00
Cameron McCormack
d0bc28c55f Bug 773296 - Part 15: Factor out mapping of a single property from an nsCSSCompressedDataBlock to an nsRuleData. r=dbaron
This factors out the part of nsCSSCompressedDataBlock::MapRuleInfoInto
that starts image loading and maybe-copies an nsCSSValue into
an nsRuleData.  We will need this functionality for mapping re-parsed
properties that had variable references into an nsRuleData, which
will be done from an nsCSSExpandedDataBlock.
2013-12-12 13:09:43 +11:00
Cameron McCormack
f2fee64fca Bug 773296 - Part 14: Add an nsCSSProps::IsInherited function. r=dbaron
Add a helper function to nsCSSProps to look up whether a given
nsCSSProperty lives in a style struct for inherited properties.
2013-12-12 13:09:43 +11:00
Cameron McCormack
2177a3812e Bug 773296 - Part 13: Parse properties that use variable references and store them as eCSSUnit_TokenStream values. r=dbaron
This adds functionality to nsCSSParser to recognise properties with
variable references and store their recorded token stream as an
eCSSUnit_TokenStream nsCSSValue.
2013-12-12 13:09:43 +11:00
Cameron McCormack
15a018329f Bug 773296 - Part 12: Record whether we are parsing an @supports condition. r=dbaron
This stores on the nsCSSParser whether we are somewhere in the middle
of parsing an @supports condition.  Because @supports condition parsing
uses the scanner recording function (to save its conditionText), and
variable reference containing values also need it, we can't do both at
once.  Luckily, if we're parsing an @supports condition, we don't really
need to store the token stream text; we only need to know if it was
valid, and we don't need its actual value later.  So we use this flag
later to see if we can skip turning on scanner recording while parsing
variable reference containing values.
2013-12-12 13:09:42 +11:00
Cameron McCormack
85a6f5c521 Bug 773296 - Part 11: Give nsCSSParser and nsCSSScanner the ability to save/restore their current input state. r=dbaron
This adds functions to nsCSSParser and nsCSSScanner that let us save the
current input position (and corresponding information like line/column
number) and parser pushback, and be able to restore it later.  We'll use
this when rewinding the scanner after we first encounter a property with
a variable reference and go back to reparse it as a token stream.
2013-12-12 13:09:42 +11:00
Cameron McCormack
c17ac6135c Bug 773296 - Part 10: Add a new eCSSUnit_TokenStream type for storing unparsed CSS values. p=ebassi,heycam r=dbaron
Patch co-authored by Emmanuele Bassi <ebassi@gmail.com>

This adds a new nsCSSValue unit type to represent an unparsed
stream of CSS tokens as a specified value.  This is what properties
that have a variable reference get as their specified value.

On the nsCSSValueTokenStream object that is used when mUnit ==
eCSSUnit_TokenStream, we store two property IDs: first, the property
ID for the longhand that this token stream value is the value for.  We
pass this back in to nsCSSParser::ParseProperty at computed value time,
when we need to re-parse the property.  Second is the shorthand property
ID, if we used a variable reference in a shorthand.  In such a case, we
store the token stream value for each of the corresponding longhand
properties.  This is because shorthands don't actually get any storage
in an nsRuleData, and because any of the longhands might be overwritten
by subsequent declarations, we need to keep the token stream somewhere.

We also store other information on the nsCSSValueTokenStream required by
the CSS parser (base URI, etc.).
2013-12-12 13:09:42 +11:00
Cameron McCormack
d6b91eb984 Bug 773296 - Part 9: Give nsCSSScanner the ability to remember when it encounters a "var(" token. r=dbaron
This is the first part of handling variable references in regular
properties.  We have the scanner set a flag whenever it returns a "var("
token, so that when we come to the end of parsing a property that
failed, we know that it is because of a variable reference.
2013-12-12 13:09:42 +11:00
Cameron McCormack
c42a6189e5 Bug 773296 - Part 8: Resolve and compute CSS variables. r=dbaron
We add a new class CSSVariableResolver whose job is to take the
inherited computed variables and the specified variable declarations and
to perform cycle removal and resolution of the variables, storing the
result in the CSSVariableValues object on an nsStyleVariables.  We use
CSSVariableResolver in nsRuleNode::ComputeVariablesData.

The variable resolver does this:

  1. Asks the CSSVariableValues and CSSVariableDeclarations objects
     to add their variables to it.
  2. Calls in to a new nsCSSParser function
     EnumerateVariableReferences that informs the resolver which
     other variables a given variable references, and by doing so,
     builds a graph of variable dependencies.
  3. Removes variables involved in cyclic references using Tarjan's
     strongly connected component algorithm, setting those variables
     to have an invalid value.
  4. Calls in to a new nsCSSParser function ResolveVariableValue
     to resolve the remaining valid variables by substituting variable
     references.

We extend nsCSSParser::ParseValueWithVariables to take a callback
function to be invoked when encountering a variable reference.  This
lets EnumerateVariableReferences re-use ParseValueWithVariables.

CSSParserImpl::ResolveValueWithVariableReferences needs different
error handling behaviour from ParseValueWithVariables, so we don't
re-use it.

CSSParserImpl::AppendImpliedEOFCharacters is used to take the
value returned from nsCSSScanner::GetImpliedEOFCharacters while
resolving variable references that were declared using custom
properties that encountered EOF before being closed properly.

The SeparatorRequiredBetweenTokens helper function in nsCSSParser.cpp
implements the serialization rules in CSS Syntax Module Level 3:

https://dvcs.w3.org/hg/csswg/raw-file/3479cdefc59a/css-syntax/Overview.html#serialization
2013-12-12 13:09:41 +11:00
Cameron McCormack
02059bc249 Bug 773296 - Part 7: Add a field to nsStyleVariables to store computed variable values. r=dbaron
This defines a class CSSVariableValues which is used to store
computed variable values.  We store them a bit differently from
CSSVariableDeclarations -- here we have a hash table of variable names
to integer IDs, and then an array of variables where the array index
is the ID.  This is because later on we'll want a stable order for the
variables to return from DOM APIs.

In addition to the string value of the variable, we store the type
of the first and last token of the variable value.  This information
will be used when resolving entire variable reference containing
values, to determine when to insert "/**/" before and after a resolved
var(blah) token.

We add a CSSVariableValues member to nsStyleVariables.
2013-12-12 13:09:41 +11:00
Cameron McCormack
274a25e67e Bug 773296 - Part 6: Add enum to represent types of CSS tokens involved in serialization. r=dbaron
This adds an enum to nsCSSScanner.h that represents the types of tokens
we need to consider when pasting together two adjacent tokens during
serialization or variable resolution.  For example with:

  var-a:orange;
  var-b:red;
  color:var(a)var(b);

we need to generate the string "orange/**/red" to parse for the value of
'color'.
2013-12-12 13:09:41 +11:00
Cameron McCormack
64924811c6 Bug 773296 - Part 5: Map variables on a Declaration to nsRuleData. r=dbaron
This adds a CSSVariableDeclarations object to nsRuleData and adds a
MapRuleInfoInto function to CSSVariableDeclarations so the can copy
variable declarations into a nsRuleData's object.  We call that from
Declaration::Map{Normal,Important}RuleInfoInto.

We make HasImportantData return true if we have important variables
but no important non-custom properties on a declaration, since that
is used to determine whether we have a rule node for important
declarations.  This means MapImportantRuleInfoInto can no longer
assume that mImportantData is non-null.
2013-12-12 13:09:41 +11:00
Cameron McCormack
81af48d662 Bug 773296 - Part 4: Add style struct to store CSS variables. r=dbaron
This adds an nsStyleVariables on which computed variable values
will be stored.  We don't actually have any properties assigned to
nsStyleVariables; eCSSPropertyExtra_Variables which we added earlier
isn't a real property.  To avoid compiler errors for gVariableFlags
being a zero length array, we stick a dummy entry in there.

nsRuleNode::ComputeVariablesData does nothing for the moment.

nsStyleVariable nsChangeHint calculations always return 0, as later
we will compare the actual properties that reference variables to
see what changes are required for them.
2013-12-12 13:09:40 +11:00
Cameron McCormack
dd8ce60c6d Bug 773296 - Part 3: Allow more than 27 style structs. r=dbaron
This bumps up nsStyleContext::mBits to a uint64_t so that it can fit
another style struct.  If we're going to need to keep at least 27 style
structs, it might be better to split mBits up into two uint32_ts: one
for the flags and one for the style struct bits.
2013-12-12 13:09:40 +11:00
Cameron McCormack
a8cf86e4b7 Bug 773296 - Part 2: Parse CSS variable declarations and store them on Declaration objects. p=ebassi,heycam r=dbaron
Patch co-authored by Emmanuele Bassi <ebassi@gmail.com>

This defines a CSSVariableDeclarations class that holds a set of
variable declarations.  This is at the specified value stage, so values
can either be 'initial', 'inherit' or a token stream (which is what you
normally have).  The variables are stored in a hash table.  Although
it's a bit of a hack, we store 'initial' and 'inherit' using special
string values that can't be valid token streams (we use "!" and ";").

Declaration objects now can have two CSSVariableDeclarations objects
on them, to store normal and !important variable declarations.  So that
we keep preserving the order of declarations on the object, we inflate
mOrder to store uint32_ts, where values from eCSSProperty_COUNT onwards
represent custom properties.  mVariableOrder stores the names of the
variables corresponding to those entries in mOrder.

We also add a new nsCSSProperty value, eCSSPropertyExtra_variable, which
is used to represent any custom property name.
nsCSSProps::LookupProperty can return this value.

The changes to nsCSSParser are straightforward.  Custom properties
are parsed and checked for syntactic validity (e.g. "var(a,)" being
invalid) and stored on the Declaration.  We use nsCSSScanner's
recording ability to grab the unparsed CSS string corresponding to
the variable's value.
2013-12-12 13:09:40 +11:00
Emmanuele Bassi
5f3aef17a0 Bug 773296 - Part 1: Add a preference for CSS variables. r=dbaron 2013-12-12 13:09:40 +11:00
Cameron McCormack
d6d7eb4f8b Bug 909170 - Add some tests for @supports conditions with tokens after a declaration's priority. r=dbaron 2013-12-12 13:09:39 +11:00
Alexander Surkov
6eaf68e1f9 Bug 559761 - make <input type=number> accessible, r=tbsaunde, smaug
--HG--
rename : accessible/tests/mochitest/value/test_range.html => accessible/tests/mochitest/value/test_number.html
2013-12-10 22:19:26 -05:00
Jonathan Watt
df02daef15 Bug 946184 - Make sure that we reframe the nsIAnonymousContentCreator if any nsIAnonymousContentCreator::ContentInfo created content needs reframing. r=bz 2013-12-11 11:41:51 +00:00
Jonathan Watt
db7a522d08 Bug 948475 - Implement HTMLInputElement.select() for <input type=number> (contrary to the HTML5 spec) since content needs it. r=smaug 2013-12-11 11:41:51 +00:00
Daniel Holbert
e407ed515a Bug 948654: Uncomment lines to make 'align-content' and 'flex-wrap' inherit through scroll frames to scrolled flex containers. r=mats
--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-3-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-4-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-3.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-4.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-3-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-5-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-3.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-horiz-5.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-3-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-4-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-3.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-4.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-3-ref.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-5-ref.html
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-3.html => layout/reftests/w3c-css/submitted/flexbox/flexbox-overflow-vert-5.html
2013-12-10 22:31:38 -08:00
Cameron McCormack
485f2e52fa Bug 947082 - List parent style context in frame tree dumps. r=mats 2013-12-11 17:13:20 +11:00
Jonathan Watt
3c34ed2d2f Bug 948549 - Make <input type=number> behave and look disabled when the 'disabled' attribute is set or it's inside a disabled fieldset. r=smaug 2013-12-11 02:13:06 +00:00
Wes Kocher
be8274049e Merge m-c to b2g-inbound 2013-12-10 17:14:14 -08:00
Ryan VanderMeulen
7a6613cc88 Merge m-c to inbound. 2013-12-10 15:48:16 -05:00
Ryan VanderMeulen
2b53da578d Merge b2g-inbound to m-c. 2013-12-10 15:38:44 -05:00
Ryan VanderMeulen
9035fd618a Bug 933264 - Add fuzz to the reftest on OSX 10.6. r=tn
CLOSED TREE
2013-12-10 15:21:46 -05:00
Daniel Holbert
2540348889 (no bug) fix typo in comment within reftest reference case 'flexbox-overflow-vert-3-ref.html'. DONTBUILD because comment-only 2013-12-10 16:59:28 -08:00
Nicholas Cameron
c9131de1bb Bug 946958 part 2. Remove methods which just forward to compositor. r=mattwoodrow 2013-12-09 14:40:59 +13:00
Ehsan Akhgari
e004ec8ac0 Bug 947736 - Build modules/libpref/ in unified mode; r=bsmedberg 2013-12-10 18:10:01 -05:00
Bobby Holley
3140797fe1 Bug 937317 - Remove unnecessary AutoSystemCaller usage. r=bz
See bug 937317 comment 38.
2013-12-11 17:51:58 -08:00
Bobby Holley
07df154678 Bug 937317 - Replace all instance of null cx pushing with AutoSystemCaller. r=bz
This is an easy bonus chunk of the work to phase out cx pushing in the browser.
2013-12-11 17:51:58 -08:00