Commit Graph

2877 Commits

Author SHA1 Message Date
Brendan Dahl
507304aa6c Bug 115199 - CSS2 @page rule style support. r=dbaron 2012-08-31 14:21:28 -07:00
Andrew McCreight
f83e248276 Bug 810103 - Make nsCSSStyleSheet::mRuleCollection into an nsRefPtr. r=bz 2012-11-12 11:19:01 -08:00
Luke Wagner
da2499ccc0 Bug 810192 - don't require a default constructor for Hash{Map,Set}; only construct objects for live elements (r=terrence) 2012-11-12 15:30:39 -08:00
Jesse Ruderman
4b65132129 Testcase for bug 806310. 2012-11-09 20:18:36 -08:00
L. David Baron
4eb72418fe Fix CheckFontCallback to match 'rem' unit changes. (Bug 806310) r=bzbarsky 2012-11-09 20:18:36 -08:00
L. David Baron
5e73ed3046 Bug 809533, patch 3: Stop handling allocation failures in the style system that no longer need to be handled. r=bzbarsky 2012-11-09 10:30:28 -08:00
Mounir Lamouri
33e851046c Bug 556145 - Use opacity instead of GrayText for ::-moz-placeholder UA's style. r=bz,davidb 2012-11-09 10:30:54 +00:00
Mounir Lamouri
7fcb75455c Bug 737786 - 5/5 - Add pointer-events: none; in ::-moz-placeholder styling and test it. r=bz 2012-11-09 10:27:03 +00:00
Mounir Lamouri
95886455ae Bug 737786 - 3/5 - Restrictions for ::-moz-placeholder. r=bz
The restrictions are basicially the one used for ::first-line with a few additions required to style the placeholder by the UA or for the users. See the bug comments for more details (hopefully, there will be a doc and a spec soon enough).
2012-11-09 10:25:52 +00:00
Mounir Lamouri
58aa0a96d8 Bug 737786 - 2/5 - Use a pseudo-element instead of a pseudo-class for placeholder styling. r=bz 2012-11-09 10:24:23 +00:00
Mounir Lamouri
b48108567b Bug 737786 - 1/5 - Show/hide placeholder based on display lists instead of CSS class. r=bz 2012-11-09 10:22:29 +00:00
Jonathan Kew
a6f11a5eff bug 774560 pt 2 - implement text-transform:full-width. r=smontagu 2012-11-09 09:43:48 +00:00
Daniel Holbert
259e82511a Bug 790903: Accept unitless 0 as 'flex-basis' component in 'flex' shorthand. r=dbaron 2012-11-08 17:27:47 -08:00
Mats Palmgren
8fc2862b38 Bug 685012 - Implement page-break-inside:avoid in the style system. r=dbaron 2012-11-08 17:09:37 +01:00
Daniel Holbert
6846596f76 Bug 794748: Add mochitest to check computed value of "min-width:auto" and "min-height:auto". r=dbaron 2012-11-07 13:32:53 -08:00
L. David Baron
addb318e8f Bug 572200, part 3: Cache data that lives in the rule tree on every relevant rule node that has a style context directly pointing to it directly. r=bzbarsky 2012-11-07 11:55:53 -08:00
L. David Baron
58f7327fc2 Bug 572200, part 2: Allow rule nodes to cache data owned by an ancestor rule node: don't destroy structs that we don't own. r=bzbarsky 2012-11-07 11:55:53 -08:00
L. David Baron
4689079952 Bug 572200, part 1: Make rule nodes know whether they're used directly by a style context. r=bzbarsky 2012-11-07 11:55:53 -08:00
Daniel Holbert
d88d9f4477 Bug 783415 part 2: Add mochitest to check the computed value of various specified "display" values on flex-container-children. r=dbaron 2012-11-07 11:29:00 -08:00
Daniel Holbert
bf91bdf97d Bug 783415 part 1: Make "display" value of flex items compute to their blockified forms. r=dbaron 2012-11-07 11:28:59 -08:00
Ed Morley
e74b154022 Bug 701060 - Disable test_bug401046.html & test_lang.xhtml for too many intermittent failures 2012-11-06 22:26:56 +00:00
Matt Woodrow
3cc8cded99 Bug 798964 - Don't invalidate nsDisplayBackgroundColor if only the image changed. r=roc 2012-11-07 11:04:53 +13:00
Robert O'Callahan
e8d5856ece Bug 796452. Add mozpasspointerevents attribute for IFRAMEs in chrome windows. r=mats 2012-11-02 23:42:59 +13:00
Chris Lord
b7ee822a90 Bug 797021 - Allow unsigned start parameter in NS_FOR_VISIBLE_BACKGROUND_LAYERS_BACK_TO_FRONT_WITH_RANGE. r=me
This was causing build failures on debug builds, as unsigned compare >= 0 is
always true.
2012-11-02 09:28:03 +00:00
Jet Villegas
3727936e46 Bug 806068 part 2: Change in-tree usage of -moz-initial to initial. r=dholbert 2012-10-30 16:57:36 +01:00
Jet Villegas
3398141cef Bug 806068 part 1: Add support for unprefixed "initial" keyword in CSS (retaining prefixed keyword as an alias, for now). r=dholbert 2012-10-30 16:40:33 +01:00
Boris Zbarsky
7cb30ff9c6 Bug 801819. Remove nsIDOMCSS2Properties and the classinfo bits for CSS declarations. r=peterv,dbaron 2012-10-30 17:14:06 -04:00
Nathan Froyd
bd55a07f0e Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Jacek Szpot
0b35b0e3d8 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Gabor Krizsanits
f83543b9ea Bug 804120 - Offer a way to apply author stylesheet on a given document. r=bz 2012-10-29 12:21:15 +01:00
L. David Baron
29f92ad50d Add preferences (defaulting to enabled, for now) to control whether certain prefixed aliases for CSS properties are supported, so that authors can have a way to test what happens when they're turned off in advance of our disabling them. (Bug 804944) r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
fe6b36ef5f Bug 804970, patch 6: Don't force rem units out of the rule tree. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
adc491234c Bug 804970, patch 5: Handle dynamic changes to the basis for 'rem' units by rebuilding all style data. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
48fdcf2bd2 Bug 804970, patch 3: Don't force vw/vh/vmin/vmax units out of the rule tree. r=bzbarsky 2012-10-26 19:04:20 +02:00
L. David Baron
f9b4b08010 Bug 804970, patch 2: Add test for dynamic changes of viewport units. r=bzbarsky
--HG--
rename : layout/style/test/test_rem_unit.html => layout/style/test/test_viewport_units.html
2012-10-26 19:04:20 +02:00
L. David Baron
6a3a6655e9 Bug 804970, patch 1: Don't force calc() units out of the rule tree. r=bzbarsky
This moves the calc() handling above the aCanStoreInRuleTree = false,
which it had no reason to be below.

calc() units are still forced out of the rule tree when there's an em,
ex, or rem unit inside the calc() structure, since aCanStoreInRuleTree
is passed through to the leaf CalcLengthWith calls.
2012-10-26 19:04:20 +02:00
Nikhil Marathe
36f99c3113 Bug 804174 - Inline IsCallerTrustedForWrite with IsCallerChrome. r=mccr8 2012-10-25 16:10:54 -07:00
Nikhil Marathe
453b3dce5f Bug 804174 - Inline CallerHasUniversalXPConnect with IsCallerChrome. r=mccr8 2012-10-25 16:10:53 -07:00
Jonathan Kew
40f8726544 bug 804644 - convert Cocoa points to _un_scaled device pixels for system font sizes. r=roc 2012-10-23 21:09:23 +01:00
Nick Hurley
31985d7fa6 Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Mats Palmgren
5d8d5869e1 Bug 798853, style system. r=roc,dbaron 2012-10-22 15:53:31 +02:00
Seth Fowler
f07bf4e48c Bug 503720: Implement vw/vh/vmin/vmax. r=dbaron 2012-10-19 16:21:06 -07:00
Peter Van der Beken
57adeb4354 Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02:00
Boris Zbarsky
709a7af847 Bug 799796. Do memory reporting for stylesheets that only the CSS loader might know about. r=dbaron,njn 2012-10-17 17:01:56 -04:00
Boris Zbarsky
611fe536d0 Bug 800983. Expose a getter for default computed style. r=dbaron
An alternative implementation strategy is to add "default-only"
versions of ResolveStyleFor and ResolvePseudoElementStyle and then
modify FileRules to support those, or use a cut-down custom version of
FileRules for them.  That would be faster, but more complicated on the
style set side.  We can always make that switch if we need to, I guess.
2012-10-17 17:01:56 -04:00
Boris Zbarsky
194968b6cb Bug 795520. Don't fail to return a computed CSS declaration just because the style change that will give us a presshell has not been processed yet. r=dbaron
Another, more risky, option would be to always return a declaration
from getComputedStyle, even if we have no presshell, then just throw
(after flushing, as needed) if people try to get style info for it
just like we already do for declarations whose document loses a
presshell.  This might cause compat issues on sites that can deal with
null but not exceptions, though.  :(
2012-10-17 17:01:56 -04:00
Emmanuele Bassi
98dfc6ddf1 Bug 784467 - Switch computed style's url(invalid-url:) to [css3-values]'s url(about:invalid). r=dbaron 2012-10-17 15:33:57 -04:00
Gabor Krizsanits
6403599b60 Bug 676054: part3: nsStyleSheetService::GetInstance. r=bz 2012-10-16 21:45:56 +02:00
Gabor Krizsanits
bda3f0bb14 Bug 676054 - part2: Provide AUTHOR_SHEET type for registering with nsIStyleSheetService. r=bz 2012-10-16 21:45:50 +02:00
Emmanuele Bassi
13034b2dd7 Bug 784466 - [css3-animations] Drop declarations in keyframe rules that have !important. r=dbaron 2012-10-16 09:21:35 -07:00
Daniel Holbert
93791d3f3b Bug 801098: Unprefix flexbox properties & keywords (still preffed off by default). r=dbaron 2012-10-15 12:42:43 -07:00
Nicholas Nethercote
16bd3d758f Bug 800187 (part 1) - Add memory reporter for the nsStyleSheetService. r=bz.
--HG--
extra : rebase_source : fc5c04daa0fd919f11470b090e38e9e8a5f19db6
2012-10-11 21:05:38 -07:00
Jeff Muizelaar
1f76f70875 Bug 799335. Rename nsStyleImage::RequestDecode to StartDecoding. r=dholbert
Now that RequestDecode call StartDecoding this make more sense.

--HG--
extra : rebase_source : ded757b8c90cbc4e5d221c79d2704105e1051183
2012-10-12 16:04:03 -04:00
Josh Matthews
80112a2809 Bug 505385 - Part 18: Reduce number of notifications - START_REQUEST/START_CONTAINER -> SIZE_AVAILABLE, remove START_DECODE and START_FRAME. Rename remaining ones for clarity. r=joe 2012-10-12 12:11:23 -04:00
Josh Matthews
2c57ae944e Bug 505385 - Part 11: Create a new imgINotificationObserver interface to replace all uses of imgIContainerObserver and imgIDecoderObserver outside of image/. r=joe 2012-10-12 12:11:22 -04:00
Josh Matthews
08a5eceeeb Back out bug 585385 for build bustage. 2012-10-11 21:58:24 -04:00
Josh Matthews
ae359191a3 Bug 505385 - Part 18: Reduce number of notifications - START_REQUEST/START_CONTAINER -> SIZE_AVAILABLE, remove START_DECODE and START_FRAME. Rename remaining ones for clarity. r=joe 2012-10-11 21:34:24 -04:00
Josh Matthews
f3459980ad Bug 505385 - Part 11: Create a new imgINotificationObserver interface to replace all uses of imgIContainerObserver and imgIDecoderObserver outside of image/. r=joe 2012-10-11 21:34:23 -04:00
Daniel Holbert
857659da08 Bug 799775 part 2: Add decl to inherit "-moz-order" on table outer frames in ua.css. r=dbaron
--HG--
rename : layout/style/test/file_flexbox_order.html => layout/style/test/file_flexbox_order_table.html
rename : layout/style/test/test_flexbox_order.html => layout/style/test/test_flexbox_order_table.html
2012-10-11 14:33:24 -07:00
Daniel Holbert
e474f16541 Bug 799775 part 1: General mochitest for 'order' property reordering items in a flex container. rs=dbaron 2012-10-11 14:33:24 -07:00
David Zbarsky
307c734c43 [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Nicholas Nethercote
d89f667caf Bug 768901 - Don't double-count shared nsCSSStyleSheetInners. r=bz.
--HG--
extra : rebase_source : f8ba1cce0b4b12915bc5faf2f9edfd56a5305178
2012-10-09 20:03:18 -07:00
Jeff Walden
c8bc078730 Eliminate a few nullptr-to-bool conversions to avoid a clang warning (which we upgrade to error) in some clang revs. No bug, r=sparky
--HG--
extra : rebase_source : 6b45c8e1dd07449a5ebc34704c19e05fe155f628
2012-10-09 16:14:42 -07:00
Robert O'Callahan
d4874041bb Bug 816359. Part 2: Make nsStyleDisplay::HasTransform take a frame parameter and check that the frame supports transforms. r=mats" 2012-12-31 11:45:57 +13:00
Trevor Saunders
50d1ca3bcf bug 824970 - nsROCSSPrimitiveValue::GetRectValue() should return nsDOMCSSRect* r=bz 2012-12-26 12:02:37 -05:00
Trevor Saunders
ae87935613 bug 824970 - use webidl for Rect r=bz 2012-12-26 07:26:36 -05:00
Trevor Saunders
14ac08bb0a bug 824970 - webidl api for Rect r=bz 2012-12-25 22:12:15 -05:00
Trevor Saunders
8ed9a3bdfd bug 824970 - store nsDOMCSSRect* in nsROCSSPrimitiveValue r=bz 2012-12-25 22:01:06 -05:00
Trevor Saunders
97cc4aca7f bug 824970 - wrapper cache and cycle collect nsDOMCSSRect r=bz 2012-12-25 21:51:33 -05:00
Trevor Saunders
6a009433ed bug 824970 - nsDOMCSSRect should use nsROCSSPrimitiveValue r=bz 2012-12-25 21:48:28 -05:00
Nicholas Cameron
5a8611288f Bug 823124; speculative fix - null style rule from an animation; r=dbaron 2012-12-27 11:42:34 +13:00
L. David Baron
4ca0db6188 Bug 823124: Add diagnostic (and otherwise good-to-have) assertion that non-root rule nodes must have a non-null rule (and vice-versa). 2012-12-21 14:36:53 -05:00
Cameron McCormack
79279ed8b1 Bug 779917 - Null check followup. 2012-12-26 20:00:19 +11:00
Cameron McCormack
6183878252 Bug 779917 - Implement CSS.supports(). r=dbaron f=bz 2012-11-25 11:26:07 +11:00
Makoto Kato
5434e5c023 Bug 824654 - Remove duplicated class define to fix bustage on Win64 builder. r=heycam 2012-12-26 13:44:12 +09:00
Boris Zbarsky
4d0a06e9f3 Bug 818400. Add a preference to control :scope and pref it off in release builds for now. r=dbaron 2012-12-24 19:35:34 -08:00
Nicholas Nethercote
df43bc1128 Bug 824397 - Use NS_ENSURE_{TRUE,FALSE,SUCCESS}_VOID(foo) instead of NS_ENSURE_{TRUE,FALSE,SUCCESS}(foo, ). r=derf. 2012-12-23 20:45:57 -08:00
Trevor Saunders
9dc13d44d5 bug 821593 - remove the nsIDOMRGBColor xpidl now that nothing uses it r=bz 2012-12-14 04:51:06 -05:00
Trevor Saunders
38500df9ef bug 821593 - remove nsIDOMCSSPrimitiveValue:::GetRGBColor() r=bz 2012-12-14 04:18:40 -05:00
Trevor Saunders
ec10f3f642 bug 821593 - add downcasting from CSSValue to nsROCSSPrimitiveValue r=bz 2012-10-24 19:38:52 -04:00
Nicholas Cameron
478a83c47c Bug 823460; start throttled transitions with delays; r=dbaron; a=blocking-basecamp
--HG--
extra : rebase_source : 8e57f7106fd8241556e63076f8dedc0cb72052e7
2012-12-23 17:52:13 +13:00
Cameron McCormack
d573577ec8 Bug 814566 - Allow invalid syntax (with balanced parentheses) inside @supports conditions. (v1.1.1) r=dbaron 2012-12-23 13:30:55 +11:00
Ms2ger
7debeae6b4 Backout bug 821593 for bustage. 2012-12-22 15:33:46 +01:00
Trevor Saunders
42d9c4d1b7 bug 821593 - remove the nsIDOMRGBColor xpidl now that nothing uses it r=bz 2012-12-14 04:51:06 -05:00
Trevor Saunders
1e528a731e bug 821593 - remove nsIDOMCSSPrimitiveValue:::GetRGBColor() r=bz 2012-12-14 04:18:40 -05:00
Trevor Saunders
ffa6279b3a bug 821593 - add downcasting from CSSValue to nsROCSSPrimitiveValue r=bz 2012-10-24 19:38:52 -04:00
Boris Zbarsky
a76857bd47 Bug 822766. Be a bit more careful with our level assert in ReplaceAnimationRule. r=dbaron 2012-12-22 00:27:27 -08:00
Cameron McCormack
b7b0364bc8 Bug 807336 - Suppress CSS property parse errors inside failing @supports rules. r=dbaron 2012-11-06 13:59:25 +11:00
L. David Baron
1615a907dd Merge mozilla-inbound and mozilla-central. 2012-12-22 00:05:00 -05:00
Nicholas Cameron
cd31bc749c Bug 822231; fix end of animation behaviour. r=dbaron 2012-12-21 16:58:14 -05:00
Trevor Saunders
f6e1b16e06 bug 822842 - crash when nsROCSSPrimitiveValue::Reset() is called multiple times r=bz 2012-12-18 21:29:23 -05:00
Ed Morley
28cc722479 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-12-19 19:30:22 +00:00
Jonathan Kew
9e140898be bug 821442 - eliminate the unreliable mFamily back-pointer in gfxFontEntry, and instead pass/track font family explicitly where needed. r=roc 2012-12-19 09:42:25 +00:00
Justin Lebar
7bef45ba1a Bug 819791 - Part 3: Make typeof nsTArray == typeof InfallibleTArray. r=bz
Also make typeof nsAutoTArray == typeof AutoInfallibleTArray and switch
files to using nsTArrayForwardDeclare.h.
2012-12-18 20:16:06 -05:00
Trevor Saunders
04d46ec083 bug 821593 - don't use nsIDOMRGBColor xpcom methods in nsROCSSPrimitiveValue r=bz 2012-12-14 04:32:07 -05:00
Trevor Saunders
29dd196962 bug 821593 - remove dom classinfo stuff r=bz 2012-12-14 03:01:04 -05:00
Trevor Saunders
33c187ea46 bug 821593 - use webidl for RGBColor r=bz 2012-12-14 02:51:39 -05:00
Trevor Saunders
7d0fc6757b bug 821593 - cycle collect and wrapper cache nsDOMCSSRGBColor r=bz 2012-12-14 01:40:52 -05:00
Trevor Saunders
82e2bb6e26 bug 821593 - GetRGBColorValue() should return nsDOMCSSRGBColor* r=bz 2012-10-24 20:43:56 -04:00
Trevor Saunders
6c3faeb448 bug 821593 - add webidl api to RGBColor and store its members as nsROCSSPrimitiveValue* not nsIDOMCSSPrimitiveValue* r=bz 2012-10-20 14:04:36 -04:00
Masatoshi Kimura
4a07dc4302 Bug 804834 - Part 1: Fix tests depending on E4X for-each in content JS. r=waldo 2012-12-21 20:47:52 +09:00
Cameron McCormack
873a543487 Bug 793617 - Implement mask-type property. r=dbaron,longsonr 2012-12-21 11:15:22 +11:00
Boris Zbarsky
e192ce8c57 Bug 795221 part 4. Hook up <link> elements to cycle collect their stylesheet. r=smaug
--HG--
rename : content/html/content/crashtests/795221-1.html => content/html/content/crashtests/795221-3.html
2012-10-07 22:39:09 -04:00
Boris Zbarsky
529cae9883 Bug 795221 part 3. Implement cycle collection for GroupRule objects. r=smaug,dbaron
--HG--
rename : content/html/content/crashtests/795221-1.html => content/html/content/crashtests/795221-2.html
2012-10-07 22:39:09 -04:00
Boris Zbarsky
1aa9d15695 Bug 795221 part 1. Implement cycle collection for nsCSSStyleSheet objects, so we don't leak through them. r=smaug,dbaron
Each nsCSSStyleSheet has a pointer to a nsCSSStyleSheetInner.  The
nsCSSStyleSheetInner is shared across multiple stylesheets, in
general.  The nsCSSStyleSheetInner owns the rules and the child
stylesheets.

What this means is that a given rule object is effectively owned by
multiple sheets.  However, cycles can only form through rule objects
that have been JS-wrapped, and if we're JS-wrapping a rule object that
means we have ensured that it's owned by only one stylesheet.
Therefore, we only traverse and unlink mInner if it's uniquely owned
by our sheet.

Similarly, if our child sheets or any of their rules have been
JS-wrapped, that means that we must have an mInner that we own
outright.
2012-10-07 22:39:08 -04:00
Ed Morley
cc9e8c3305 Bug 795393 - Remove instances of "ifneq (mobile,$(MOZ_BUILD_APP))" since they're now always true; r=ted 2012-10-06 16:46:09 +01:00
Jeff Muizelaar
fa081a82fc Bug 792199. Only decode visible images immediately when switching to a tab. r=joe
This creates a new method 'StartDecoding' which does a RequestDecode and some
decoding of the image.

--HG--
extra : rebase_source : 89c1c2f40e3dfb6e025939ebf3257f81ce429501
2012-10-04 16:02:15 -04:00
Nathan Froyd
e888ba80f4 Bug 796129 - remove prtypes #includes in layout/ 2012-10-01 17:12:57 -04:00
Yu-Sian (Thomasy) Liu
49b91a54ac Bug 594935: Add calc to parser, do calc in PaintGradient and add stop point to HasCalc(). r=bz 2012-10-03 22:31:56 -07:00
Daniel Holbert
30e8481488 Bug 797601 part 2: Tweak flexbox mochitests to run in an iframe and have their parent-document set the pref before loading them. r=bz
--HG--
rename : layout/style/test/test_flexbox_align_self_auto.html => layout/style/test/file_flexbox_align_self_auto.html
rename : layout/style/test/test_flexbox_flex_grow_and_shrink.html => layout/style/test/file_flexbox_flex_grow_and_shrink.html
rename : layout/style/test/test_flexbox_flex_shorthand.html => layout/style/test/file_flexbox_flex_shorthand.html
rename : layout/style/test/test_flexbox_layout.html => layout/style/test/file_flexbox_layout.html
2012-10-03 18:44:15 -07:00
Daniel Holbert
3443e1f06d Bug 797601 part 1: Add flexbox properties to mochitest files property_database.js and test_transitions_per_property.html IFF pref is enabled. r=bz 2012-10-03 18:44:11 -07:00
Seth Fowler
9da16cb6df Bug 786108 - Cache UTF-16 version of URI to prevent repeated conversions in the CSS scanner, and free the cache after a short time. r=bz 2012-10-03 15:28:57 -07:00
Ryan VanderMeulen
325089208a Merge m-c to inbound. 2012-10-03 18:19:17 -04:00
Zack Weinberg
baa7b0e11d Merge revert of diagnostic round 2 for bug 536603. DONTBUILD 2012-10-03 09:01:01 -04:00
Nathan Froyd
ec0cae57b0 Bug 796279 - remove remaining PR_MAX instances from the tree; r=ehsan
We can't use NS_MAX or std::max because we lack uniform constexpr
support across our supported compilers.  But we can do a simple inline
max ourselves.
2012-10-01 20:38:21 -04:00
Daniel Holbert
b3c5efa43b Bug 796212 part 2: Make pref "layout.css.flexbox.enabled" control whether -moz-flex and -moz-inline-flex are recognized as valid values for "display" property. r=bz 2012-10-02 22:04:50 -07:00
Daniel Holbert
6ed459f16a Bug 796212 part 1: Guard CSS3 flexbox properties behind about:config pref "layout.css.flexbox.enabled". r=bz 2012-10-02 22:04:50 -07:00
Ehsan Akhgari
bdd40e5c18 Backout changeset 9e38c5518605, fc59bd8d49ba, d0ba1abde985, and acf91f25f228 (bugs 796119, 796279, and 797106) because of broken reftests on 64-bit platforms 2012-10-02 23:16:36 -04:00
Nathan Froyd
45f0148efe Bug 796279 - remove remaining PR_MAX instances from the tree; r=ehsan
We can't use NS_MAX or std::max because we lack uniform constexpr
support across our supported compilers.  But we can do a simple inline
max ourselves.
2012-10-01 20:38:21 -04:00
Ehsan Akhgari
d907487021 Bug 793880 - Fix the assertion in nsCSSSelector::SetPseudoType to shut up the compiler warning; r=dholbert
--HG--
extra : rebase_source : 058dcc17c37915fa9937f7eafb1b3a93b78384f2
2012-10-02 15:50:50 -04:00
Zack Weinberg
2140205477 Another round of diagnostics for bug 536603. 2012-10-02 09:50:19 -04:00
Zack Weinberg
5537312b3d Revert previous set of diagnostics for bug 536603. 2012-10-02 09:14:58 -04:00
Timothy Nikkel
95c3e37053 Bug 784591. Add an optional argument to the unlock image api on documents so that we can request that the image be discarded only in some situations. r=khuey 2012-10-01 12:53:57 -05:00
Kyle Huey
e5eb83ac5a Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Daniel Holbert
4d32a021d6 Bug 666041 patch 8: Add special handling for "min-width: auto" value on flex items. r=dbaron 2012-09-29 23:38:46 -07:00
Daniel Holbert
bd68c21394 Bug 666041 patch 7: implementation of flex container class for CSS3 flexbox. r=dbaron 2012-09-29 23:38:46 -07:00
Simon Montagu
a6d148a96d Add vendor prefix to :dir selector. Bug 562169, r=dbaron 2012-09-29 13:41:10 -07:00
Jonathan Kew
2cf5d23c2c bug 674373 pt 6 - support HiDPI display in Cocoa widget code. r=roc,smichaud 2012-09-29 12:36:09 +01:00
Jonathan Kew
e18b10e5fb bug 674373 pt 5 - provide a fullZoom API in nsIDOMWindowUtils, and use this rather than inferring zoom from CSS to device pixel ratio. r=roc 2012-09-29 12:35:19 +01:00
Jonathan Kew
2c2d5f0ecf bug 674373 pt 4 - pass device-to-CSS pixel ratio to LookAndFeel code when requesting a font style. r=roc 2012-09-29 12:35:08 +01:00
Ed Morley
7012ae5306 Backout ec0dcd401a3f (bug 786108) for crashes 2012-09-28 22:04:56 +01:00
Seth Fowler
2c3af5ccdc Bug 786108 - Cache UTF-16 version of URI to prevent repeated conversions in the CSS scanner, and free the cache after a short time. r=bz 2012-09-28 09:56:47 -07:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Matt Woodrow
958ce7d98d Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
c863356300 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Kyle Huey
0d24c3121d Bug 793554: Devirtualize mozilla::css::Loader::[AddRef|Release] r=dbaron 2012-09-24 07:29:24 -07:00
Zack Weinberg
61e26db869 Diagnostic instrumentation for bug 536603. 2012-09-23 11:18:10 -04:00
Robert O'Callahan
13041e1a84 Bug 772726. Part 13: Fix handling of transforms in gfxTextObjectPaint. r=eflores,jwatt
gfxTextObjectPaint::GetFillPattern/GetStrokePattern should take the destination's CTM
as a parameter in order to set up the pattern matrix correctly, since the pattern matrix
is combined with the CTM by cairo/Thebes --- but we want the pattern rendering to be
independendt of the CTM, instead depending only on the TM set up when we initialized
the gfxTextObjectPaint.
We make SVGTextObjectPaint store matrices that map device space to pattern space.
2012-09-12 17:13:12 +12:00
Ehsan Akhgari
b5c39afb4e Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Ehsan Akhgari
a17cac3016 Bug 788275 - Part 0: Make nsCORSListenerProxy's constructor not cause the object to be destroyed before it is constructed; r=bzbarsky
That is always a nice property to have!
2012-09-18 22:16:23 -04:00
L. David Baron
475d7bbcf4 Fix assertion failure causing orange. (Bug 774169) 2012-09-18 12:51:47 -07:00
L. David Baron
cf6c5ffdb1 Bug 774169, patch 4: Revert bug 719054 for prefixed -moz-transform but leave it for unprefixed transform. r=bzbarsky 2012-09-18 11:37:14 -07:00
L. David Baron
1359267ffc Bug 774169, patch 3: Treat -moz-transform as a shorthand rather than an alias so the parsing function can know whether it is parsing a prefixed transform. r=bzbarsky 2012-09-18 11:37:14 -07:00
L. David Baron
5a6fcd294a Bug 774169, patch 2: Add property_database.js entries for property aliases. r=bzbarsky
This adds entries for property aliases as though they are shorthands.
This fits with the CSS working group's recent resolution to describe
aliases as shorthands, recorded in
http://lists.w3.org/Archives/Public/www-style/2012Aug/0770.html .

The property_database.js entries themselves are copied from the
non-alias entries for the properties, with these changes:
 (1) The property name is changed to the prefixed form
 (2) The domProp entry is changed to the prefixed form
 (3) Adding alias_for entries for each property.
 (4) When type is CSS_TYPE_LONGHAND in the target of the alias, type for
     the alias is CSS_TYPE_SHORTHAND_AND_LONGHAND and a subproperties
     entry is added with the target of the alias.

There are also some indentation fixes to the copied entries in
property_database.js (made before they were copied, and thus affecting
the original as well).
2012-09-18 11:37:14 -07:00
L. David Baron
bf141c929e Bug 774169, patch 1: Make the property_database.js-based tests call getComputedStyle() for all properties that are expected to have longhand behavior. r=bzbarsky
This currently only affects the testing of overflow, but it will also
affect -moz-transform (and any other aliases implemented the same way)
after the later patches in this bug.

This special-cases text-decoration because text-decoration: inherit causes
the color to inherit in a way that we can't serialize the result (since
it's no longer "foreground").  (This isn't great; we might want to
consider fixing it somehow.)
2012-09-18 11:37:14 -07:00
L. David Baron
27ada1f07f Remove aPresContext parameter to nsStyleContext constructor and document parameters to constructor. (Bug 791416) r=bzbarsky 2012-09-18 11:37:13 -07:00
David Zbarsky
c41a42b108 Fix typo in comment, no bug, r=me 2012-09-18 14:01:03 -04:00
Anthony Ricaud
86f0e8ccbe Bug 570326 - Add support for background-size in background shorthand property. r=dbaron 2012-09-16 20:20:15 -04:00
L. David Baron
98ee92424c Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones 2012-09-14 14:12:34 -07:00
Arnaud Sourioux
815396c1bb Bug 733186: Annotate ~1000 methods with MOZ_OVERRIDE in /layout r=dholbert r=dbaron 2012-09-14 09:10:08 -07:00
Chris Lord
6b2dc34a0b Bug 786502 - Separate background layers into separate items. r=roc
Separate out background layers into separate display-list items, so that
backgrounds that are a mix of fixed and non-fixed layers will be treated
individually.
2012-09-13 11:34:23 +01:00
Daniel Holbert
35cf5be123 Bug 666041 patch 4.5: Add support for custom flex container sizes to test_flexbox_layout.html, and give it some testcases that exercise our float-accumulation-error-handling code. r=dbaron (DONTBUILD because this test is currently disabled on trunk) 2012-09-11 18:07:49 -07:00
Mats Palmgren
abc5b5999b Bug 788836 - Simplify @-keyword parsing by letting ParseAtKeyword deal with everthing after the @. Make it pass the first char to GatherIdent so that it returns false for a bad escape sequence at the start. r=dbaron 2012-09-12 00:20:52 +02:00
Boris Zbarsky
df94b5400b Bug 787554. Don't prefix WebIDL getters names with a Get if they look like simple member access on the C++ side. r=peterv 2012-09-11 20:08:24 +01:00
Gabor Krizsanits
5b5c7e6eab Bug 737003 - Offer a way to apply user agent stylesheet on a given document; r=bz 2012-09-11 13:51:10 +02:00
Daniel Holbert
f32f6b5f8b Bug 789382: Change nsIScriptError methods init() and initWithWindowID() to take nsAString, rather than wchar / PRUnichar*. r=bz sr=bsmedberg 2012-09-09 16:29:12 -07:00
Chris Pearce
b83e747cf1 Bug 779286 - Allow document.documentElement to still be scrollable when made fullscreen. r=roc 2012-09-10 10:10:00 +12:00
L. David Baron
f646baaa52 Rename nsChangeHint_ReflowFrame to nsChangeHint_AllReflowHints to make it clearer that it's the one that contains multiple bits. (Bug 789592, patch 2) r=bzbarsky 2012-09-07 15:57:06 -07:00
L. David Baron
d069ca43c9 Change some uses of nsChangeHint_ReflowFrame to check nsChangeHint_NeedReflow. (Bug 789592, patch 1) r=bzbarsky 2012-09-07 15:57:06 -07:00
Boris Zbarsky
b5a77a4846 Bug 786946. Don't propagate text-decoration to <select> by default. r=dbaron
--HG--
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-1-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-1.html
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-2-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-2.html
2012-09-07 10:51:34 -04:00
L. David Baron
71132a9a8d Remove ForceCompare methods from style structs. (Bug 779968, patch 7) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron
a272065d84 Make nsStyleContext::CalcStyleDifference force comparison based on the parent's hint instead of the style struct ForceCompare methods. (Bug 779968, patch 6, the main patch) r=bzbarsky
This propagates the non-inherited (in the nsChangeHint sense, not the
CSS inheritance sense) parts of the parent's change hint through
ReResolveStyleContext so that we can use them in
nsStyleContext::CalcDifference.  In the cases where we don't know the
parent's hint, we assume the worst, that all the non-inherited hints
were present in the parent's style change.

This should be a significant performance improvement handling simple
style changes (such as a style attribute change setting a non-inherited
property) on elements with large numbers of descendants that have data
in ForceCompare structs that can't be stored in the rule tree (for
example, margins or widths in em or rem units).
2012-09-07 10:13:36 -07:00
L. David Baron
e5c1596389 Refix bug 731521 in the new setup for forcing comparison in nsStyleContext::CalcDifference, since we can no longer rely on nsStyleBorder::ForceCompare. (Bug 779968, patch 5) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron
d73fade352 Abstract nsChangeHint_NonInherited_Hints into a function so that it accurately reports the reflow cases to all callers. (Bug 779968, patch 4) r=bzbarsky
This is in preparation for adding an additional caller.

nsChangeHint_NonInherited_Hints will be reintroduced in patch 6, but as
the maximum set of such hints rather than the minimal set, and with the
less confusing name nsChangeHint_Hints_NotHandledForDescendants.
2012-09-07 10:13:36 -07:00
L. David Baron
bbb526c6b3 Remove maxHint from nsStyleContext::CalcStyleDifference. (Bug 779968, patch 3) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron
f4c3dff3e0 Use nsStyleStruct MaxDifference methods instead of maxHint for hint handling in nsStyleContext::CalcStyleDifference. (Bug 779968, patch 2) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron
c0a7826aa0 Move nsStyleStruct MaxDifference methods inline, and make them available unconditionally rather than DEBUG-only. (Bug 779968, patch 1) r=bzbarsky 2012-09-07 10:13:36 -07:00
Boris Zbarsky
a3c0607d95 Back out bug 786946 because it fails <select> font-inflation tests. r=bustage 2012-09-07 12:18:48 -04:00
Boris Zbarsky
019411646c Bug 786946. Don't propagate text-decoration to <select> by default. r=dbaron
--HG--
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-1-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-1.html
rename : layout/reftests/text-decoration/underline-button-1-ref.html => layout/reftests/text-decoration/underline-select-2-ref.html
rename : layout/reftests/text-decoration/underline-button-1.html => layout/reftests/text-decoration/underline-select-2.html
2012-09-07 10:51:34 -04:00
Cameron McCormack
7b1c6a96f0 Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
L. David Baron
5e63099fb4 Remove last use of enablePrivilege in layout/style mochitests. (Bug 653461, patch 4) r=bzbarsky 2012-09-06 21:16:09 -07:00
Edwin Flores
8a6015cf0d Bug 719286 - Add support for -moz-objectValue keyword to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:47 +12:00
Edwin Flores
582af889e5 Bug 719286 - Add support for -moz-objectFillOpacity and -moz-objectStrokeOpacity to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:46 +12:00
Edwin Flores
32d64789ec Bug 719286 - Add support for objectfill and objectstroke values to CSS parser r=dbaron 2012-09-06 16:58:46 +12:00
Edwin Flores
9840b20db1 Bug 719286 - Add -moz-is-glyph media feature for setting default values for SVG glyphs in the browser SVG style sheet r=dbaron 2012-09-06 16:58:44 +12:00
Thaddee Tyl
a7072eee3d Bug 781032 - Fix a crash in CSSParserImpl::SetDefaultNamespaceOnSelector by creating the nsCSSParser at a valid spot. r=bz 2012-09-05 19:10:55 -04:00
John Schoenick
6c657c7493 Backout a6f040934c99 (Bug 548133) for reftest orange 2012-09-05 14:58:17 -07:00
John Schoenick
89dd8205be Bug 548133 - Remove special handling for object 'pluginurl' param. r=dolske,josh 2012-09-05 14:02:06 -07:00
Chris Pearce
da142414e0 Bug 788387 - Add -moz-box-sizing:border-box to :-moz-full-screen. r=roc 2012-09-05 15:54:11 +12:00
Daniel Holbert
ac23760ca2 Bug 763689 patch 3: Support min-height:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:11 -07:00
Daniel Holbert
cb09d97d7e Bug 763689 patch 2: Support min-width:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:10 -07:00
Aryeh Gregor
920c5474b3 Bug 782594 - Use NS_FAILED instead of boolean test (content/, js/xpconnect/, layout/); r=bz 2012-08-07 17:58:47 +03:00
Randell Jesup
eedf93a21d Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Matt Brubeck
93de3c87cf Bug 779527 - Use the physical device resolution for media queries on mobile [r=dbaron] 2012-08-31 13:29:47 -07:00
L. David Baron
0660e180d6 Don't accept the third argument to transform-origin when 3-D transforms aren't enabled. (Bug 786706) r=mattwoodrow 2012-08-29 18:27:01 -07:00
L. David Baron
d56ce864a2 Make author !important rules override CSS animations. (Bug 783714) r=bzbarsky
This was resolved at the CSS Working Group meeting on 2012-08-15.
2012-08-29 18:27:01 -07:00
L. David Baron
53875ecfe7 Remove now-unneeded code from nsComputedDOMStyle. (Bug 93725, patch 3) r=jdaggett 2012-08-29 18:27:01 -07:00
L. David Baron
6630d395ef Add some missing values to test as shown by code coverage data on nsComputedDOMStyle.cpp . No bug. 2012-08-29 18:27:01 -07:00
Boris Zbarsky
a06f2bdfbe Bug 732209 part 6. Allow web pages to access cross-origin stylesheets if the CORS headers say so. r=dbaron,sicking
When gaining such access, the web page resets the stylesheet to its principal, because it can now edit the sheet.
2012-08-28 13:10:09 -04:00
Boris Zbarsky
76432fce46 Bug 732209 part 5. Enforce CORS on stylesheet loads as needed. r=sicking 2012-08-28 13:10:08 -04:00
Boris Zbarsky
ccd4da9732 Bug 732209 part 4. Propagate the CORS state throughout the CSS loading process. r=sicking,dbaron 2012-08-28 13:10:08 -04:00
Boris Zbarsky
927e2bc32d Bug 732209 part 3. Communicate the CORS state of preloads to the CSS loader. r=sicking,hsivonen 2012-08-28 13:10:08 -04:00
Boris Zbarsky
41ac1056bf Bug 732209 part 2. Communicate the CORS state of style link loads to the CSS loader. r=sicking 2012-08-28 13:10:07 -04:00
Paul Adenot
a29fbcc5af Bug 761393 - Cache the gfxPatterns using an nsExpirationTracker and an hashtable. r=dbaron 2012-08-26 21:09:46 -07:00
Paul Adenot
ef774bffba Bug 761393 - Add a method to hash an nsStyleCoord. r=dbaron 2012-08-26 21:08:32 -07:00
Raphael Catolino
516fde7d59 Bug 781313 - Move the euclidGcd and lcm algos form nsStyleAnimation.cpp to mfbt/MathAlgorithms.h r=dbaron,luke 2012-08-26 22:58:23 -03:00
David Zbarsky
e0fe5ae49b Bug 785657 - Enable async animations in content processes r=cjones 2012-08-25 21:27:28 -04:00
David Zbarsky
6a9972f334 Bug 785648 - Improve OMTA logging r=cjones 2012-08-25 21:27:28 -04:00
Yury
f71d14e548 Bug 776208 - Plugin preview overlay. r=johns,jaws,margaret, sr=joshmoz 2012-08-25 17:18:44 -04:00
David Zbarsky
cfba0649e3 Fix virtual dtor warning, no bug, blanker r=bz 2012-08-25 12:33:51 -04:00
David Zbarsky
c0abf990e3 Bug 780692 Part 0: Make sure frames that have async animations are marked as having active layers r=roc 2012-08-25 10:52:30 -04:00
David Zbarsky
32785d45f6 Fix a logging message, no bug, r=me 2012-08-25 00:10:47 -04:00
Boris Zbarsky
31276eb444 Bug 753517 part 4. Set up auto-generation of CSS2Properties.webidl from nsCSSPropList.h and enable Paris bindings for CSSStyleDeclaration and CSS2Properties. r=khuey,peterv,dbaron 2012-08-23 21:08:09 -07:00
Boris Zbarsky
8b4fc28fc2 Bug 753517 part 3. Expose the API needed for Paris bindings on nsDOMCSSDeclaration and nsICSSDeclaration. r=dbaron,peterv 2012-08-23 21:08:08 -07:00
Benjamin Smedberg
b8603666c1 Revert bug 776208 for semi-consistent failures:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Test 1a, the overlay about: content is expected
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | an unexpected uncaught JS exception reported through window.onerror - TypeError: Components.classes is undefined at jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml:38
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | an unexpected uncaught JS exception reported through window.onerror - TypeError: Components.classes is undefined at jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml:38
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Found an unexpected tab at the end of test run: jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Found an unexpected tab at the end of test run: chrome://mochitests/content/browser/browser/base/content/test/plugin_test.html

CLOSED TREE
2012-08-24 13:08:15 -04:00
Yury
b3e51b2f82 Bug 776208 - Plugin preview overlay. r=johns,jaws,margaret, sr=joshmoz 2012-08-24 16:18:16 -04:00
David Zbarsky
2d8138a241 Log when we can't use async animations due to pseudos, no bug, r=cjones 2012-08-24 15:08:18 -04:00
Kyle Huey
1a68eab98d Bug 783162: Make mapped attributes hold the image alive. r=bz
The nsCSSValue in nsGenericHTMLElement::MapBackgroundInto is a temporary.  This causes a problem after Bug 697230 landed, because the nsCSSValue::Image we put into that value is destroyed once we're done doing style stuff.  Previously the nsImageLoader would grab the request off the nsCSSValue::Image and hold it alive.  Bug 697230 changed the behavior here; now when the nsCSSValue::Image is destroyed it tells the image loader to drop the request.  The result is that all the references to the request are dropped and the frame is never told it has a background.

The solution is to keep the nsCSSValue::Image alive longer.  This patch adds two new types of nsAttrValue.  The first is an nsCSSValue::URL.  A ParseBackgroundAttribute method is added on nsGenericHTMLElement that the relevant elements (body/td/th/table/tr/tbody/thead/tfoot) call that parses background into an nsCSSValue::URL.  The second is an nsCSSValue::Image.  nsGenericHTMLElement::MapBackgroundInto attempts to convert the nsCSSValue::URL into an nsCSSValue::Image by kicking off the image load.  The result is that image loads are only started when the element is actually visible.  This also mirrors the way background-image works.  This also allows us to fix two longstanding bugs in this code.  Since MapBackgroundInto doesn't have a pointer to the actual element, it relied on grabbing the principal of the document.  Now we can grab the principal of the node in ParseBackgroundAttribute.  MapBackgroundInto also has no way to get at the element's base URI (to honor xml:base), which is now possible in ParseBackgroundAttribute.

nsCSSValue::[Image|URL] have also been moved to be mozilla::css::[Image|URL]Value.  nsAttrValue.h is included in external linkage code, so it can't include nsCSSValue.h to get the declarations of nsCSSValue::[Image|URL], and nested classes can't be forward declared.  Moving the classes to a namespace solves the problem.

Finally some old inoperative quirks mode code was removed.  This code has done nothing since Bug 273078 was landed in 2004.
2012-08-24 10:50:49 -07:00
Benjamin Smedberg
583084b3a2 Revert bug 776208 for semi-consistent failures:
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Test 1a, the overlay about: content is expected
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | an unexpected uncaught JS exception reported through window.onerror - TypeError: Components.classes is undefined at jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml:38
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | an unexpected uncaught JS exception reported through window.onerror - TypeError: Components.classes is undefined at jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml:38
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Found an unexpected tab at the end of test run: jar:file:///c:/talos-slave/test/build/firefox/omni.ja!/chrome/toolkit/content/global/about.xhtml
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_pluginplaypreview.js | Found an unexpected tab at the end of test run: chrome://mochitests/content/browser/browser/base/content/test/plugin_test.html

--HG--
extra : rebase_source : e000988677d466b4796c5b2a51968f586743e6db
2012-08-24 13:08:15 -04:00
Yury
51f5276dad Bug 776208 - Plugin preview overlay. r=johns,jaws,margaret sr=joshmoz
--HG--
extra : rebase_source : f9b13bbda1318dbdaa71b04b3e04736655e65081
2012-08-23 17:11:51 -04:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

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 "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ed Morley
a227f14256 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-08-22 10:28:02 +01:00
David Zbarsky
5c1df7f323 Move mStyleRule and mStyleRuleRefreshTime from ElementAnimations/ElementTransitions to CommonElementAnimationData, no bug, r=dbaron over irc 2012-08-21 21:48:47 -04:00
David Zbarsky
bd4bdc3b0a Bug 784239 - Perform async animations even when not all properties can be asyncified r=roc 2012-08-21 21:48:47 -04:00
Olli Pettay
91f7a34c34 Bug 783015 - Chrome refreshdriver runs all the time, r=khuey 2012-08-21 16:14:06 -07:00
L. David Baron
62da7d5e53 Treat argument of :-moz-locale-dir() case-insensitively. (Bug 741293) r=smontagu 2012-08-20 22:41:47 -07:00
David Zbarsky
41867d1baa Bug 783893 - Clean up async animation code r=roc 2012-08-21 00:06:47 -04:00
L. David Baron
d9baa3a527 Add missing SkipUntil call in @supports parsing. (Bug 782401) r=heycam
Fixes http://test.csswg.org/source/contributors/opera/submitted/css3-conditional/at-supports-030.html
2012-08-20 19:23:32 -07:00
L. David Baron
1eef1584d8 Track whether nsStyleVisibility::mLanguage came from explicit information in the document. (Bug 702121, patch 1) r=jfkthame 2012-08-20 19:23:32 -07:00
L. David Baron
77d40fe387 Accept unitless lengths in quirks mode for bottom, just as for left/top/right. (Bug 776591) r=bzbarsky 2012-08-20 19:23:31 -07:00
Kyle Huey
e428d9fe59 Bug 783379: Remove unnecessary (wrong) optimization of image decoding notifications. r=roc
--HG--
extra : rebase_source : d485d0f5bbe35dc969712ca50654c8671b033c80
2012-08-20 17:14:04 -07:00
Ian Melven
06019be17e Bug 341604 - modify CheckMayLoad to allow sandboxed workers to load blob and data URIs r=jst 2012-08-20 11:34:33 -07:00
Ed Morley
9cdd0db8cb Merge mozilla-central to mozilla-inbound 2012-08-15 19:00:48 +01:00
Kyle Huey
715bc01bd2 Bug 780618: Follow up to switch to nsError.h in merged patches. r=me 2012-08-15 06:52:06 -07:00
Kyle Huey
fa127e8648 Merge m-c to b-s. 2012-08-15 06:25:20 -07:00
Kyle Huey
8a5f5bbdf3 No bug: Eradicate some nsnulls. 2012-08-14 13:34:20 -07:00
Kyle Huey
30cef0f1d5 Merge m-c to b-s. 2012-08-14 11:14:40 -07:00
Kyle Huey
4dcafaedea Bug 697230: Part 3 - Make style images block onload. r=bz 2012-08-13 16:04:17 -07:00
Kyle Huey
0cc1c18795 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-08-13 15:04:19 -07:00
Honza Bambas
541453729c Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
Aryeh Gregor
04236844ff Bug 782252 - Cast some nsresult to PRUint32; r=ehsan 2012-08-09 11:36:40 +03:00
Aryeh Gregor
1091dc5149 Bug 782252 - Change named constants to correct types; r=ehsan 2012-08-07 18:11:35 +03:00
Robert O'Callahan
bed323fe4c Backing out f89374c446c2 for build bustage (bug 691591) 2012-08-10 23:55:51 +12:00
Robert O'Callahan
5c9261ecc4 Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : 4bc4f5fc7b5c9e621518e9f8c574259ea0de3b0a
2012-08-10 23:16:49 +12:00
Robert O'Callahan
91c0802b2f Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : ed990c17d2501ea5f4d09dea56baeada41cd3f35
2012-08-10 23:16:49 +12:00
Aryeh Gregor
0923bf00ef Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Simon Montagu
4d946e9779 Bug 562169. Add support for :dir(ltr/rtl) CSS selector, layout/style part, r=bz 2012-08-09 20:37:58 -07:00
Matt Brubeck
3697f5b568 Back out bug 562169 because of Dromaeo DOM regressions
Backed out changeset 841cd6e1e585 (bug 562169)
Backed out changeset e226e413dd27 (bug 562169)
Backed out changeset 9c24b7287c5b (bug 562169)
2012-08-08 08:14:48 -07:00
Cameron McCormack
7ba6d92396 Bug 655877 - Part 27: Ignore text-shadow in SVG text frames. r=roc 2012-08-08 21:37:13 +10:00
Simon Montagu
5ccf0feb0f Add support for :dir(ltr/rtl) CSS selector, layout/style part. Bug 562159, r=bz 2012-08-07 21:44:24 -07:00
Daniel Holbert
4bbe6b1e04 Bug 666041 patch 4: Mochitest for flexbox layout. r=dbaron 2012-08-07 14:32:24 -07:00
Simon Montagu
4ae7b52fd9 Implement the new CSS property value unicode-bidi: isolate-override. Bug 774335, r=dbaron 2012-08-07 01:42:46 -07:00
Simon Montagu
e09f58837c Changes to tests for bug 774335, r=dbaron 2012-08-07 01:42:45 -07:00
David Zbarsky
42018cc827 Bug 780342 - Don't allow compositor-driven animation of frames that are not prerendered, provide diagnostics for when that happens r=cjones 2012-08-06 16:33:23 -04:00
Aryeh Gregor
f41637535d Bug 780469 - Reduce unnecessary includes in some content/ header files; r=bz 2012-08-06 15:02:08 +03:00
Boris Zbarsky
f21609d807 Bug 753517 part 2.75. Fix the QI impls to not lie. r=bustage 2012-08-06 01:24:43 -04:00
David Zbarsky
d50e4a7565 [Bug 780428] Don't include nsIFrame.h in places where it's not necessary r=roc 2012-08-05 23:00:56 -04:00
Boris Zbarsky
f914c0dbe4 Bug 753517 part 2.5. Include nsWrapperCacheInlines so things will actually link correctly. r=bustage 2012-08-05 22:55:18 -04:00
Boris Zbarsky
1b8d2356ea Bug 753517 part 2. Make all CSS declarations wrappercached and make them correctly handle preserved wrappers. r=mccr8,peterv,smaug,dbaron 2012-08-05 22:16:30 -04:00