Use wfResetOutputBuffers in ResourceLoader
authorMarius Hoch <hoo@online.de>
Fri, 19 Jul 2013 01:21:38 +0000 (03:21 +0200)
committerKrinkle <krinklemail@gmail.com>
Wed, 18 Sep 2013 16:16:32 +0000 (16:16 +0000)
No need to replicate its logic there.

Bug: 46836
Change-Id: I0c6ad90c327e39b9bc35fc3a9ecab39487a1d8b5

includes/resourceloader/ResourceLoader.php

index ff3ea35..29946dc 100644 (file)
@@ -607,15 +607,7 @@ class ResourceLoader {
                                // See also http://bugs.php.net/bug.php?id=51579
                                // To work around this, we tear down all output buffering before
                                // sending the 304.
-                               // On some setups, ob_get_level() doesn't seem to go down to zero
-                               // no matter how often we call ob_get_clean(), so instead of doing
-                               // the more intuitive while ( ob_get_level() > 0 ) ob_get_clean();
-                               // we have to be safe here and avoid an infinite loop.
-                               // Caching the level is not an option, need to allow it to
-                               // shorten the loop on-the-fly (bug 46836)
-                               for ( $i = 0; $i < ob_get_level(); $i++ ) {
-                                       ob_end_clean();
-                               }
+                               wfResetOutputBuffers( /* $resetGzipEncoding = */ true );
 
                                header( 'HTTP/1.0 304 Not Modified' );
                                header( 'Status: 304 Not Modified' );