Backed out changeset 82fd2eef7630 (bug 1060869) because the rest of this bug was backed out and it seems to be causing OSX Gip(f1) to be near permafail.
authorRyan VanderMeulen <ryanvm@gmail.com>
Wed, 26 Nov 2014 16:06:53 -0500
changeset 241965 4553524f671fefa9ebeb939da8ec4ab3477f47fb
parent 241964 4a6bc0813732af1e96d702868051c331ec5c2c51
child 241966 159a0ec99a6d614d8839184e81eeac93f9a5045e
child 242073 63c554369c55403ac680a29123d791c9313d26c2
push id4311
push userraliiev@mozilla.com
push dateMon, 12 Jan 2015 19:37:41 +0000
treeherdermozilla-beta@150c9fed433b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1060869
milestone36.0a1
backs out82fd2eef76306f6d1e025c3497575751344ea4b1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 82fd2eef7630 (bug 1060869) because the rest of this bug was backed out and it seems to be causing OSX Gip(f1) to be near permafail.
b2g/app/b2g.js
dom/base/test/mochitest.ini
dom/html/reftests/reftest.list
image/test/mochitest/chrome.ini
image/test/mochitest/mochitest.ini
layout/reftests/bugs/reftest.list
modules/libpref/init/all.js
--- a/b2g/app/b2g.js
+++ b/b2g/app/b2g.js
@@ -325,32 +325,19 @@ pref("media.fragmented-mp4.gonk.enabled"
 // The default number of decoded video frames that are enqueued in
 // MediaDecoderReader's mVideoQueue.
 pref("media.video-queue.default-size", 3);
 
 // optimize images' memory usage
 pref("image.mem.decodeondraw", true);
 pref("image.mem.allow_locking_in_content_processes", false); /* don't allow image locking */
 pref("image.mem.min_discard_timeout_ms", 86400000); /* 24h, we rely on the out of memory hook */
-// At this point 'max_decoded_image_kb' only applies to animated images. They're
-// unfortunately fairly large, so this pref still needs to be somewhat generous,
-// but it makes sense to reduce it since most types of images are now in the
-// surface cache. Once animated images are stored in the surface cache too, this
-// pref will go away; see bug 977459. The same goes for
-// 'hard_limit_decoded_image_kb'; the surface cache limits are all hard.
-pref("image.mem.max_decoded_image_kb", 16384); // 16MB
-pref("image.mem.hard_limit_decoded_image_kb", 16384); // 16MB
-// Limit the surface cache to 1/8 of main memory or 128MB, whichever is smaller.
-// Almost everything that was factored into 'max_decoded_image_kb' is now stored
-// in the surface cache.  1/8 of main memory is 32MB on a 256MB device, which is
-// about the same as the old 'max_decoded_image_kb'.
-pref("image.mem.surfacecache.max_size_kb", 131072);  // 128MB
-pref("image.mem.surfacecache.size_factor", 8);  // 1/8 of main memory
-pref("image.mem.surfacecache.discard_factor", 2);  // Discard 1/2 of the surface cache at a time.
-pref("image.mem.surfacecache.min_expiration_ms", 86400000); // 24h, we rely on the out of memory hook
+pref("image.mem.max_decoded_image_kb", 30000); /* 30MB seems reasonable */
+// 65MB seems reasonable and layout/reftests/bugs/370629-1.html requires more than 62MB
+pref("image.mem.hard_limit_decoded_image_kb", 66560);
 pref("image.onload.decode.limit", 24); /* don't decode more than 24 images eagerly */
 
 // XXX this isn't a good check for "are touch events supported", but
 // we don't really have a better one at the moment.
 // enable touch events interfaces
 pref("dom.w3c_touch_events.enabled", 1);
 pref("dom.w3c_touch_events.safetyX", 0); // escape borders in units of 1/240"
 pref("dom.w3c_touch_events.safetyY", 120); // escape borders in units of 1/240"
--- a/dom/base/test/mochitest.ini
+++ b/dom/base/test/mochitest.ini
@@ -669,17 +669,17 @@ skip-if = buildapp == 'b2g' || toolkit =
 [test_domparser_null_char.html]
 [test_domparsing.html]
 [test_elementTraversal.html]
 [test_element_closest.html]
 [test_encodeToStringWithMaxLength.html]
 [test_fileapi.html]
 skip-if = e10s
 [test_fileapi_slice.html]
-disabled = Busted on B2G, Android, E10S and now Mulet. Bug 775227.
+skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s #bug 775227
 [test_getElementById.html]
 [test_html_colors_quirks.html]
 [test_html_colors_standards.html]
 [test_html_in_xhr.html]
 [test_htmlcopyencoder.html]
 [test_htmlcopyencoder.xhtml]
 [test_ipc_messagemanager_blob.html]
 skip-if = (toolkit == 'android' && processor == 'x86') #x86 only bug 936226
--- a/dom/html/reftests/reftest.list
+++ b/dom/html/reftests/reftest.list
@@ -34,16 +34,16 @@ skip-if(Android||B2G) == 649134-2.html 6
 == bug448564-4a.html          bug448564-4b.html
 == bug502168-1_malformed.html bug502168-1_well-formed.html
 
 # Test that image documents taken into account CSS properties like
 # image-orientation when determining the size of the image.
 # (Fuzzy necessary due to pixel-wise comparison of different JPEGs.
 # The vast majority of the fuzziness comes from Linux and WinXP.)
 fuzzy(1,149) == bug917595-iframe-1.html    bug917595-1-ref.html
-skip-if(B2G) fuzzy-if(!B2G,3,640) == bug917595-exif-rotated.jpg bug917595-pixel-rotated.jpg # bug 1060869
+fuzzy(3,640) == bug917595-exif-rotated.jpg bug917595-pixel-rotated.jpg
 
 == href-attr-change-restyles.html href-attr-change-restyles-ref.html
 == figure.html figure-ref.html
 == pre-1.html pre-1-ref.html
 == table-border-1.html table-border-1-ref.html
 == table-border-2.html table-border-2-ref.html
 != table-border-2.html table-border-2-notref.html
--- a/image/test/mochitest/chrome.ini
+++ b/image/test/mochitest/chrome.ini
@@ -42,10 +42,9 @@ skip-if = true # bug 1100497
 [test_net_failedtoprocess.html]
 [test_removal_ondecode.html]
 [test_removal_onload.html]
 [test_staticClone.html]
 [test_svg_animatedGIF.html]
 [test_svg_filter_animation.html]
 [test_synchronized_animation.html]
 [test_undisplayed_iframe.html]
-skip-if = true # bug 1060869
 [test_xultree_animation.xhtml]
--- a/image/test/mochitest/mochitest.ini
+++ b/image/test/mochitest/mochitest.ini
@@ -88,10 +88,9 @@ skip-if = (toolkit == 'android' && proce
 [test_bug89419-2.html]
 skip-if = (toolkit == 'android' && processor == 'x86') #x86 only
 [test_animation_operators.html]
 [test_drawDiscardedImage.html]
 skip-if = toolkit == "gonk" #Bug 997034 - canvas.toDataURL() often causes lost connection to device.
 [test_error_events.html]
 [test_short_gif_header.html]
 [test_image_buffer_limit.html]
-#run-if = toolkit == "gonk" #Image buffer limit is only set for Firefox OS currently.
-skip-if = true # bug 1060869
+run-if = toolkit == "gonk" #Image buffer limit is only set for Firefox OS currently.
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -632,17 +632,17 @@ skip-if(B2G&&browserIsRemote) == 369882.
 == 370525-rowspan-1b.html 370525-rowspan-1b-ref.html
 == 370525-rowspan-1c.html 370525-rowspan-1c-ref.html
 == 370525-rowspan-2a.html 370525-rowspan-2a-ref.html
 == 370525-rowspan-2b.html 370525-rowspan-2b-ref.html
 == 370525-rowspan-3.html 370525-rowspan-3-ref.html
 == 370525-rowspan-4.html 370525-rowspan-4-ref.html
 == 370525-sib.html 370525-sib-ref.html
 == 370586-1.xhtml 370586-1-ref.xhtml
-skip-if(B2G) == 370629-1.html 370629-1-ref.html # bug 1060869
+== 370629-1.html 370629-1-ref.html
 skip-if(B2G) == 370629-2.html 370629-2-ref.html
 == 370692-1.xhtml 370692-1-ref.xhtml
 == 371041-1.html 371041-1-ref.html
 == 371043-1.html 371043-1-ref.html
 == 371354-1.html 371354-1-ref.html
 == 371483-1.html about:blank # assertion test
 fails-if(Android) == 371561-1.html 371561-1-ref.html
 skip-if(B2G&&browserIsRemote) != 371681-1.xhtml about:blank # bug 974780
@@ -1839,9 +1839,9 @@ test-pref(layout.css.grid.enabled,true) 
 == 1059498-3.html 1059498-1-ref.html
 fails-if(Android) == 1062792-1.html 1062792-1-ref.html
 == 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html
 test-pref(dom.webcomponents.enabled,true) == 1066554-1.html 1066554-1-ref.html
 == 1069716-1.html 1069716-1-ref.html
 == 1078262-1.html about:blank
 test-pref(layout.testing.overlay-scrollbars.always-visible,false) == 1081072-1.html 1081072-1-ref.html
 fuzzy-if(winWidget&&!layersGPUAccelerated,1,31) == 1081185-1.html 1081185-1-ref.html
-== 1097437-1.html 1097437-1-ref.html
+== 1097437-1.html 1097437-1-ref.html
\ No newline at end of file
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -3794,23 +3794,24 @@ pref("image.mem.max_decoded_image_kb", 5
 // hard limit for it.
 pref("image.mem.hard_limit_decoded_image_kb", 0);
 
 // Minimum timeout for expiring unused images from the surface cache, in
 // milliseconds. This controls how long we store cached temporary surfaces.
 pref("image.mem.surfacecache.min_expiration_ms", 60000); // 60ms
 
 // Maximum size for the surface cache, in kilobytes.
-pref("image.mem.surfacecache.max_size_kb", 1048576); // 1GB
+pref("image.mem.surfacecache.max_size_kb", 102400); // 100MB
 
 // The surface cache's size, within the constraints of the maximum size set
-// above, is determined as a fraction of main memory size. The size factor is
-// interpreted as a reciprocal, so a size factor of 4 means to use no more than
-// 1/4 of main memory.  The default should be a good balance for most systems.
-pref("image.mem.surfacecache.size_factor", 4);
+// above, is determined using a formula based on system capabilities like memory
+// size. The size factor is used to tune this formula. Larger size factors
+// result in smaller caches. The default should be a good balance for most
+// systems.
+pref("image.mem.surfacecache.size_factor", 64);
 
 // Whether we decode images on multiple background threads rather than the
 // foreground thread.
 pref("image.multithreaded_decoding.enabled", true);
 
 // How many threads we'll use for multithreaded decoding. If < 0, will be
 // automatically determined based on the system's number of cores.
 pref("image.multithreaded_decoding.limit", -1);