Commit Graph

108419 Commits

Author SHA1 Message Date
Kyle Huey
9de7b7f765 Bug 795128: Add memory reporting for attribute maps and nodes. r=smaug 2012-09-30 09:43:47 -07: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
Ryan VanderMeulen
abbf906749 Backout 12465a1211e0 (bug 789897) for landing without addressing all review comments. 2012-09-30 12:12:47 -04:00
Eddy Bruel
df84ae2f04 Bug 789897 - Implement the preventExtensions trap for proxies; r=jorendorff 2012-09-30 18:01:13 +02:00
Eddy Bruel
b0c7bef027 Bug 787856 - Use static JSObject::getProto in proxy code; r=wmccloskey 2012-09-30 17:51:26 +02:00
Brad Lassey
a07aec8494 bug 792825 - Crash in js::gc::MarkObjectRange on CyanogenMod 10, back out changeset 9a02263d7206 r=mossop 2012-09-29 08:03:54 -04:00
Mounir Lamouri
53c4718504 Bug 795136 - 3/2 - Disabling tests until bug 795711 is fixed. r=me 2012-09-30 16:07:51 +01:00
Mounir Lamouri
d862c3f266 Bug 795136 - 2/2 - Add 'network-events' permission to access network-{upload,download} events. r=sicking 2012-09-30 14:48:40 +01:00
Mounir Lamouri
2cc12c0525 Bug 795136 - 1/2 - Add events notifying the window if upload/download happen on the system. r=smaug sr=sicking 2012-09-30 14:47:48 +01:00
Simon Montagu
2496fd494c Change :dir selectors to :-moz-dir in css files. Bug 562169, r=dbaron 2012-09-30 07:17:42 -07:00
Mounir Lamouri
ebe616f9e1 Merge m-i inm-c. 2012-09-30 13:19:15 +01:00
Ms2ger
116ad8ce50 No bug - Remove some dead code from importTestsuite.py. (NPOTB, DONTBUILD) 2012-09-30 09:53:39 +02:00
Ms2ger
6780a3fb8c Bug 794891 - Format known-failures JSON files according to local conventions for now. (NPOTB, DONTBUILD) 2012-09-30 09:52:06 +02:00
Daniel Holbert
7e0081585f Bug 666041: Reftests for css3-flexbox. (tests-only)
--HG--
rename : layout/reftests/bugs/solidblue.png => layout/reftests/flexbox/solidblue.png
2012-09-29 23:42:29 -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
Daniel Holbert
3544930bb5 Bug 666041 patch 6.5: Add flag to nsHTMLReflowState & ComputeSize for measuring auto height. r=dbaron 2012-09-29 23:38:46 -07:00
Gary Kwong
facabd0ceb Bug 696305 - Removing another suppression from Valgrind files. DONTBUILD 2012-09-29 23:30:47 -07:00
Gary Kwong
e406ccb7dd Bug 696305 - Removing suppression from Valgrind files. DONTBUILD
--HG--
rename : dom/tests/mochitest/localstorage/test_clear_browser_data.html => dom/tests/mochitest/localstorage/test_app_uninstall.html
extra : rebase_source : 5a6769cf1f4ccd569ad0325785ebb9635f048f54
2012-09-29 23:28:54 -07:00
Matt Woodrow
f8a3bcd5dd Bug 770617 - Always mark inactive CanvasLayers as being dirty. r=cjones 2012-09-30 19:20:25 +13:00
Matt Woodrow
04f480d859 Bug 795611 - Call virtual InvalidateFrame from InvalidateFrameSubtree since nsTable*Frame overloads it. r=cjones 2012-09-30 19:20:25 +13:00
Matt Woodrow
61b00ebf38 Bug 795576 - Correctly add the NS_FRAME_UPDATE_LAYER_TREE when invalidating inside a popup. r=cjones 2012-09-30 19:20:24 +13:00
Matt Woodrow
48360d5f92 Bug 795646 - Add crashtest for merged nsDisplayFixedPosition items. r=cjones 2012-09-30 19:20:24 +13:00
Matt Woodrow
26ce1c54a7 Bug 795631 - Update BasicLayerManager::mPhase variable in release mode as well as debug. r=cjones 2012-09-30 19:20:24 +13:00
Frank Yan
b8384a2f50 Bug 781327 - Use 2x images for HiDPI browser UI. r=dolske 2012-09-29 21:56:40 -07:00
aceman
b5efca15dc Bug 738194 - Add markupDocumentViewer to editor.xml. r=neil 2012-09-29 23:39:22 -04:00
Ryan VanderMeulen
b9204da41d Merge the last PGO-green inbound changeset to m-c. 2012-09-29 23:38:08 -04:00
Matt Woodrow
0158c64b27 Bug 795591 - Disable merged display item tracking. r=cjones 2012-09-30 13:55:10 +13:00
Robert Strong
26617c332c Bug 795647 - The string Firefox is in the SELECT_FOLDER l10n text. r=bbondy 2012-09-29 17:21:25 -07:00
Simon Montagu
a6d148a96d Add vendor prefix to :dir selector. Bug 562169, r=dbaron 2012-09-29 13:41:10 -07:00
Phil Ringnalda
eee9bbbf40 Back out eae519534b01 (bug 772364), 4935822abf87 (bug 795164) and ddee22deae16 (bug 793082) for orange on a CLOSED TREE 2012-09-29 13:20:09 -07:00
Gary Kwong
ec055b132e Bug 696305 - Suppress another cross architecture bug. DONTBUILD 2012-09-29 12:35:03 -07:00
Fabrice Desré
0992143e97 Bug 772364 - Implement update mechanism for packaged apps [r=gwagner] 2012-09-29 10:57:18 -07:00
Etienne Segonzac
4785fb6428 Bug 795164 - Preventing DOMApplicationRegistry from broadcasting the same message to the same message manager multiple times. [r=fabrice] 2012-09-29 10:57:18 -07:00
Timothy Guan-tin Chien
cb45c28675 Bug 793082 - Allow sendChromeEvent to queue the events until window.onload fires, r=fabrice 2012-09-29 10:57:18 -07:00
Mounir Lamouri
ca05059818 Bug 795134 - Remove localStorage when clear private data API is used. r=bent
--HG--
rename : dom/tests/mochitest/localstorage/test_app_uninstall.html => dom/tests/mochitest/localstorage/test_clear_browser_data.html
2012-09-29 18:31:33 +01:00
Jim Mathies
aec5248766 Bug 795307 - Use telemetry to report touch enabled device stats. r=nfroyd 2012-09-29 11:39:23 -05:00
Chris Coulson
8a9e5f8e12 Bug 795395 - Don't unload the library immediately on failure on nsGSettingsService::Init(). r=karlt
We return a failure anyway, so the component manager calls our destructor where we do the unload
2012-09-29 12:32:57 -04:00
Ryan VanderMeulen
3d0cc9c259 Merge the last PGO-green inbound changeset to m-c. 2012-09-29 12:32:07 -04:00
Brian R. Bondy
0f4b9d7c72 Bug 795580 - Stub shouldn't be copied when it isn't built. r=bbondy 2012-09-29 08:12:58 -04: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
Jonathan Kew
b03a328ad9 bug 674373 pt 3 - remove unused nsBaseWidget::SetBounds method. r=roc 2012-09-29 12:34:58 +01:00
Jonathan Kew
1c5f85078f bug 674373 pt 2 - consistently use client bounds for layer sizing. r=roc 2012-09-29 12:34:41 +01:00
Phil Ringnalda
8aa24b1c1a Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-09-28 22:06:29 -07:00
Ed Morley
024d4659cf Backout bec7e68cad9a & a6228bc28958 (bug 786299) for Windows compilation errors on a CLOSED TREE 2012-09-29 01:44:30 +01:00
Ed Morley
b04d9d0daf Backout b176f299c52c (bug 794286), 0401e945059d (bug 787848), 95c4704589e1 (bug 787309) for make check jit_test failures on a CLOSED TREE 2012-09-29 01:00:46 +01:00
Robert Strong
c2c9b4cec3 Followup fix for Bug 322206 - Firefox net / stub installer (r=me) on a CLOSED TREE 2012-09-28 16:56:50 -07:00
Ed Morley
1a93bf6109 Backout 564d554c4318 (bug 792220) for M2 JS assertions on a CLOSED TREE 2012-09-29 00:53:43 +01:00