Title: [102400] trunk
Revision
102400
Author
commit-qu...@webkit.org
Date
2011-12-08 17:04:51 -0800 (Thu, 08 Dec 2011)

Log Message

[Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
https://bugs.webkit.org/show_bug.cgi?id=74017

Source/WebCore:

Patch by David Reveman <reve...@chromium.org> on 2011-12-08
Reviewed by James Robinson.

Add per-tile drawing to page settings.

No new tests.

* page/Settings.h:
(WebCore::Settings::setPerTileDrawingEnabled):
(WebCore::Settings::perTileDrawingEnabled):
* testing/Internals.cpp:
(WebCore::Internals::setPerTileDrawingEnabled):
* testing/Internals.h:

Source/WebKit/chromium:

Patch by David Reveman <reve...@chromium.org> on 2011-12-08
Reviewed by James Robinson.

Add WebSettings::setAcceleratedPaintingEnabled to public API.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setAcceleratedPaintingEnabled):
(WebKit::WebSettingsImpl::setPerTilePaintingEnabled):
* src/WebSettingsImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

Tools:

Patch by David Reveman <reve...@chromium.org> on 2011-12-08
Reviewed by James Robinson.

Add support for command line flag enable-per-tile-painting in DumpRenderTree.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::setAcceleratedPaintingEnabled):
(TestShell::setPerTilePaintingEnabled):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver._wrapper_options):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (102399 => 102400)


--- trunk/Source/WebCore/ChangeLog	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebCore/ChangeLog	2011-12-09 01:04:51 UTC (rev 102400)
@@ -1,3 +1,21 @@
+2011-12-08  David Reveman  <reve...@chromium.org>
+
+        [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
+        https://bugs.webkit.org/show_bug.cgi?id=74017
+
+        Reviewed by James Robinson.
+
+        Add per-tile drawing to page settings.
+
+        No new tests.
+
+        * page/Settings.h:
+        (WebCore::Settings::setPerTileDrawingEnabled):
+        (WebCore::Settings::perTileDrawingEnabled):
+        * testing/Internals.cpp:
+        (WebCore::Internals::setPerTileDrawingEnabled):
+        * testing/Internals.h:
+
 2011-12-08  Anders Carlsson  <ander...@apple.com>
 
         Add a scrollbarPainterForScrollbar helper function

Modified: trunk/Source/WebCore/page/Settings.h (102399 => 102400)


--- trunk/Source/WebCore/page/Settings.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebCore/page/Settings.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -500,6 +500,9 @@
         bool shouldDisplayTextDescriptions() const { return m_shouldDisplayTextDescriptions; }
 #endif
 
+        void setPerTileDrawingEnabled(bool enabled) { m_perTileDrawingEnabled = enabled; }
+        bool perTileDrawingEnabled() const { return m_perTileDrawingEnabled; }
+
     private:
         Page* m_page;
 
@@ -632,6 +635,7 @@
         bool m_shouldDisplayCaptions : 1;
         bool m_shouldDisplayTextDescriptions : 1;
 #endif
+        bool m_perTileDrawingEnabled : 1;
 
         Timer<Settings> m_loadsImagesAutomaticallyTimer;
         void loadsImagesAutomaticallyTimerFired(Timer<Settings>*);

Modified: trunk/Source/WebCore/testing/Internals.cpp (102399 => 102400)


--- trunk/Source/WebCore/testing/Internals.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebCore/testing/Internals.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -651,4 +651,14 @@
     return checker->lastProcessedSequence();
 }
 
+void Internals::setPerTileDrawingEnabled(Document* document, bool enabled, ExceptionCode& ec)
+{
+    if (!document || !document->settings()) {
+        ec = INVALID_ACCESS_ERR;
+        return;
+    }
+
+    document->settings()->setPerTileDrawingEnabled(enabled);
 }
+
+}

Modified: trunk/Source/WebCore/testing/Internals.h (102399 => 102400)


--- trunk/Source/WebCore/testing/Internals.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebCore/testing/Internals.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -113,6 +113,8 @@
     int lastSpellCheckRequestSequence(Document*, ExceptionCode&);
     int lastSpellCheckProcessedSequence(Document*, ExceptionCode&);
 
+    void setPerTileDrawingEnabled(Document*, bool enabled, ExceptionCode&);
+
     static const char* internalsId;
 
 private:

Modified: trunk/Source/WebKit/chromium/ChangeLog (102399 => 102400)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-12-09 01:04:51 UTC (rev 102400)
@@ -1,3 +1,21 @@
+2011-12-08  David Reveman  <reve...@chromium.org>
+
+        [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
+        https://bugs.webkit.org/show_bug.cgi?id=74017
+
+        Reviewed by James Robinson.
+
+        Add WebSettings::setAcceleratedPaintingEnabled to public API.
+
+        * public/WebSettings.h:
+        * src/WebSettingsImpl.cpp:
+        (WebKit::WebSettingsImpl::WebSettingsImpl):
+        (WebKit::WebSettingsImpl::setAcceleratedPaintingEnabled):
+        (WebKit::WebSettingsImpl::setPerTilePaintingEnabled):
+        * src/WebSettingsImpl.h:
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+
 2011-12-08  James Robinson  <jam...@chromium.org>
 
         [chromium] Move NonCompositedContentHost to WebKit

Modified: trunk/Source/WebKit/chromium/public/WebSettings.h (102399 => 102400)


--- trunk/Source/WebKit/chromium/public/WebSettings.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebKit/chromium/public/WebSettings.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -133,8 +133,8 @@
     virtual void setEnableScrollAnimator(bool) = 0;
     virtual void setHixie76WebSocketProtocolEnabled(bool) = 0;
     virtual void setVisualWordMovementEnabled(bool) = 0;
-    virtual void setPerTilePainting(bool) = 0;
-    virtual bool perTilePainting() const = 0;
+    virtual void setAcceleratedPaintingEnabled(bool) = 0;
+    virtual void setPerTilePaintingEnabled(bool) = 0;
 
 protected:
     ~WebSettings() { }

Modified: trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp (102399 => 102400)


--- trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebKit/chromium/src/WebSettingsImpl.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -50,7 +50,6 @@
     , m_compositeToTextureEnabled(false)
     , m_showFPSCounter(false)
     , m_showPlatformLayerTree(false)
-    , m_perTilePainting(false)
 {
     ASSERT(settings);
 }
@@ -498,10 +497,14 @@
 #endif
 }
 
+void WebSettingsImpl::setAcceleratedPaintingEnabled(bool enabled)
+{
+    m_settings->setAcceleratedDrawingEnabled(enabled);
+}
 
-void WebSettingsImpl::setPerTilePainting(bool enabled)
+void WebSettingsImpl::setPerTilePaintingEnabled(bool enabled)
 {
-    m_perTilePainting = enabled;
+    m_settings->setPerTileDrawingEnabled(enabled);
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/WebSettingsImpl.h (102399 => 102400)


--- trunk/Source/WebKit/chromium/src/WebSettingsImpl.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebKit/chromium/src/WebSettingsImpl.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -128,15 +128,14 @@
     virtual void setShouldDisplaySubtitles(bool);
     virtual void setShouldDisplayCaptions(bool);
     virtual void setShouldDisplayTextDescriptions(bool);
-    virtual void setPerTilePainting(bool);
-    virtual bool perTilePainting() const { return m_perTilePainting; }
+    virtual void setAcceleratedPaintingEnabled(bool);
+    virtual void setPerTilePaintingEnabled(bool);
 
 private:
     WebCore::Settings* m_settings;
     bool m_compositeToTextureEnabled;
     bool m_showFPSCounter;
     bool m_showPlatformLayerTree;
-    bool m_perTilePainting;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (102399 => 102400)


--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -2939,7 +2939,7 @@
         if (!ccSettings.refreshRate)
             ccSettings.refreshRate = defaultRefreshRate;
 
-        ccSettings.perTilePainting = settings()->perTilePainting();
+        ccSettings.perTilePainting = page()->settings()->perTileDrawingEnabled();
 
         m_nonCompositedContentHost = NonCompositedContentHost::create(WebViewImplContentPainter::create(this));
         m_layerTreeHost = CCLayerTreeHost::create(this, ccSettings);

Modified: trunk/Tools/ChangeLog (102399 => 102400)


--- trunk/Tools/ChangeLog	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/ChangeLog	2011-12-09 01:04:51 UTC (rev 102400)
@@ -1,3 +1,29 @@
+2011-12-08  David Reveman  <reve...@chromium.org>
+
+        [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
+        https://bugs.webkit.org/show_bug.cgi?id=74017
+
+        Reviewed by James Robinson.
+        
+        Add support for command line flag enable-per-tile-painting in DumpRenderTree.
+
+        * DumpRenderTree/chromium/DumpRenderTree.cpp:
+        (main):
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::TestShell):
+        (TestShell::resetWebSettings):
+        * DumpRenderTree/chromium/TestShell.h:
+        (TestShell::setAcceleratedPaintingEnabled):
+        (TestShell::setPerTilePaintingEnabled):
+        * DumpRenderTree/chromium/WebPreferences.cpp:
+        (WebPreferences::reset):
+        (WebPreferences::applyTo):
+        * DumpRenderTree/chromium/WebPreferences.h:
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        (ChromiumDriver._wrapper_options):
+        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+        (parse_args):
+
 2011-12-08  Dirk Pranke  <dpra...@chromium.org>
 
         create a "SystemHost" object for webkitpy to slim down the Host object

Modified: trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp (102399 => 102400)


--- trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -57,10 +57,11 @@
 static const char optionForceCompositingMode[] = "--force-compositing-mode";
 static const char optionEnableAccelerated2DCanvas[] = "--enable-accelerated-2d-canvas";
 static const char optionEnableLegacyAccelerated2DCanvas[] = "--enable-legacy-accelerated-2d-canvas";
-static const char optionEnableAcceleratedDrawing[] = "--enable-accelerated-drawing";
+static const char optionEnableAcceleratedPainting[] = "--enable-accelerated-painting";
 static const char optionEnableAcceleratedCompositingForVideo[] = "--enable-accelerated-video";
 static const char optionEnableCompositeToTexture[] = "--enable-composite-to-texture";
 static const char optionUseGraphicsContext3DImplementation[] = "--use-graphics-context-3d-implementation=";
+static const char optionEnablePerTilePainting[] = "--enable-per-tile-painting";
 
 static const char optionStressOpt[] = "--stress-opt";
 static const char optionStressDeopt[] = "--stress-deopt";
@@ -144,7 +145,8 @@
     bool forceCompositingMode = false;
     bool accelerated2DCanvasEnabled = false;
     bool legacyAccelerated2DCanvasEnabled = false;
-    bool acceleratedDrawingEnabled = false;
+    bool acceleratedPaintingEnabled = false;
+    bool perTilePaintingEnabled = false;
     bool stressOpt = false;
     bool stressDeopt = false;
     bool hardwareAcceleratedGL = false;
@@ -188,8 +190,8 @@
             accelerated2DCanvasEnabled = true;
         else if (argument == optionEnableLegacyAccelerated2DCanvas)
             legacyAccelerated2DCanvasEnabled = true;
-        else if (argument == optionEnableAcceleratedDrawing)
-            acceleratedDrawingEnabled = true;
+        else if (argument == optionEnableAcceleratedPainting)
+            acceleratedPaintingEnabled = true;
         else if (!argument.find(optionUseGraphicsContext3DImplementation)) {
             string implementation = argument.substr(strlen(optionUseGraphicsContext3DImplementation));
             if (!implementation.compare("IN_PROCESS")) 
@@ -198,7 +200,9 @@
               webkit_support::SetGraphicsContext3DImplementation(webkit_support::IN_PROCESS_COMMAND_BUFFER);
             else 
               fprintf(stderr, "Unknown GraphicContext3D implementation %s\n", implementation.c_str());
-        } else if (argument == optionStressOpt)
+        } else if (argument == optionEnablePerTilePainting)
+            perTilePaintingEnabled = true;
+        else if (argument == optionStressOpt)
             stressOpt = true;
         else if (argument == optionStressDeopt)
             stressDeopt = true;
@@ -237,7 +241,8 @@
         shell.setForceCompositingMode(forceCompositingMode);
         shell.setAccelerated2dCanvasEnabled(accelerated2DCanvasEnabled);
         shell.setLegacyAccelerated2dCanvasEnabled(legacyAccelerated2DCanvasEnabled);
-        shell.setAcceleratedDrawingEnabled(acceleratedDrawingEnabled);
+        shell.setAcceleratedPaintingEnabled(acceleratedPaintingEnabled);
+        shell.setPerTilePaintingEnabled(perTilePaintingEnabled);
         shell.setJavaScriptFlags(_javascript_Flags);
         shell.setStressOpt(stressOpt);
         shell.setStressDeopt(stressDeopt);

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (102399 => 102400)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -112,7 +112,8 @@
     , m_forceCompositingMode(false)
     , m_accelerated2dCanvasEnabled(false)
     , m_legacyAccelerated2dCanvasEnabled(false)
-    , m_acceleratedDrawingEnabled(false)
+    , m_acceleratedPaintingEnabled(false)
+    , m_perTilePaintingEnabled(false)
     , m_stressOpt(false)
     , m_stressDeopt(false)
     , m_dumpWhenFinished(true)
@@ -219,7 +220,8 @@
     m_prefs.forceCompositingMode = m_forceCompositingMode;
     m_prefs.accelerated2dCanvasEnabled = m_accelerated2dCanvasEnabled;
     m_prefs.legacyAccelerated2dCanvasEnabled = m_legacyAccelerated2dCanvasEnabled;
-    m_prefs.acceleratedDrawingEnabled = m_acceleratedDrawingEnabled;
+    m_prefs.acceleratedPaintingEnabled = m_acceleratedPaintingEnabled;
+    m_prefs.perTilePaintingEnabled = m_perTilePaintingEnabled;
     m_prefs.applyTo(&webView);
 }
 

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.h (102399 => 102400)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -137,7 +137,8 @@
     void setForceCompositingMode(bool enabled) { m_forceCompositingMode = enabled; }
     void setAccelerated2dCanvasEnabled(bool enabled) { m_accelerated2dCanvasEnabled = enabled; }
     void setLegacyAccelerated2dCanvasEnabled(bool enabled) { m_legacyAccelerated2dCanvasEnabled = enabled; }
-    void setAcceleratedDrawingEnabled(bool enabled) { m_acceleratedDrawingEnabled = enabled; }
+    void setAcceleratedPaintingEnabled(bool enabled) { m_acceleratedPaintingEnabled = enabled; }
+    void setPerTilePaintingEnabled(bool enabled) { m_perTilePaintingEnabled = enabled; }
 #if defined(OS_WIN)
     // Access to the finished event. Used by the static WatchDog thread.
     HANDLE finishedEvent() { return m_finishedEvent; }
@@ -226,7 +227,8 @@
     bool m_forceCompositingMode;
     bool m_accelerated2dCanvasEnabled;
     bool m_legacyAccelerated2dCanvasEnabled;
-    bool m_acceleratedDrawingEnabled;
+    bool m_acceleratedPaintingEnabled;
+    bool m_perTilePaintingEnabled;
     WebPreferences m_prefs;
     bool m_stressOpt;
     bool m_stressDeopt;

Modified: trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp (102399 => 102400)


--- trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp	2011-12-09 01:04:51 UTC (rev 102400)
@@ -112,9 +112,10 @@
     compositeToTexture = false;
     accelerated2dCanvasEnabled = false;
     legacyAccelerated2dCanvasEnabled = false;
-    acceleratedDrawingEnabled = false;
+    acceleratedPaintingEnabled = false;
     forceCompositingMode = false;
     hixie76WebSocketProtocolEnabled = true;
+    perTilePaintingEnabled = false;
 }
 
 static void setStandardFontFamilyWrapper(WebSettings* settings, const WebKit::WebString& font, UScriptCode script)
@@ -216,8 +217,9 @@
     settings->setForceCompositingMode(forceCompositingMode);
     settings->setAccelerated2dCanvasEnabled(accelerated2dCanvasEnabled);
     settings->setLegacyAccelerated2dCanvasEnabled(legacyAccelerated2dCanvasEnabled);
-    settings->setAcceleratedDrawingEnabled(acceleratedDrawingEnabled);
+    settings->setAcceleratedPaintingEnabled(acceleratedPaintingEnabled);
     settings->setHixie76WebSocketProtocolEnabled(hixie76WebSocketProtocolEnabled);
+    settings->setPerTilePaintingEnabled(perTilePaintingEnabled);
 
     // Fixed values.
     settings->setTextDirectionSubmenuInclusionBehaviorNeverIncluded();

Modified: trunk/Tools/DumpRenderTree/chromium/WebPreferences.h (102399 => 102400)


--- trunk/Tools/DumpRenderTree/chromium/WebPreferences.h	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/DumpRenderTree/chromium/WebPreferences.h	2011-12-09 01:04:51 UTC (rev 102400)
@@ -106,8 +106,9 @@
     bool forceCompositingMode;
     bool accelerated2dCanvasEnabled;
     bool legacyAccelerated2dCanvasEnabled;
-    bool acceleratedDrawingEnabled;
+    bool acceleratedPaintingEnabled;
     bool hixie76WebSocketProtocolEnabled;
+    bool perTilePaintingEnabled;
 
     WebPreferences() { reset(); }
     void reset();

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py (102399 => 102400)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2011-12-09 01:04:51 UTC (rev 102400)
@@ -424,9 +424,10 @@
             'stress_deopt': '--stress-deopt',
             'threaded_compositing': '--enable-threaded-compositing',
             'accelerated_2d_canvas': '--enable-accelerated-2d-canvas',
-            'accelerated_drawing': '--enable-accelerated-drawing',
+            'accelerated_painting': '--enable-accelerated-painting',
             'accelerated_video': '--enable-accelerated-video',
             'enable_hardware_gpu': '--enable-hardware-gpu',
+            'per_tile_painting': '--enable-per-tile-painting',
         }
         for nrwt_option, drt_option in option_mappings.items():
             if self._port.get_option(nrwt_option):

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (102399 => 102400)


--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2011-12-09 00:58:48 UTC (rev 102399)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2011-12-09 01:04:51 UTC (rev 102400)
@@ -212,14 +212,17 @@
             action=""
             dest="accelerated_2d_canvas",
             help="Don't use hardware-accelerated 2D Canvas calls"),
-        optparse.make_option("--accelerated-drawing",
+        optparse.make_option("--accelerated-painting",
             action=""
             default=False,
-            help="Use hardware accelerated drawing of composited pages"),
+            help="Use hardware accelerated painting of composited pages"),
         optparse.make_option("--enable-hardware-gpu",
             action=""
             default=False,
             help="Run graphics tests on real GPU hardware vs software"),
+        optparse.make_option("--per-tile-painting",
+            action=""
+            help="Use per-tile painting of composited pages"),
     ]
 
     webkit_options = [
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to