Title: [133607] trunk/Tools
Revision
133607
Author
[email protected]
Date
2012-11-06 07:32:19 -0800 (Tue, 06 Nov 2012)

Log Message

[chromium] Enable fixed position compositing on Android DRT
https://bugs.webkit.org/show_bug.cgi?id=100263

Patch by Sami Kyostila <[email protected]> on 2012-11-06
Reviewed by James Robinson.

Chrome on Android forces composited mode for every page and creates
stacking contexts and graphics layers for fixed positioned elements.
Change the DumpRenderTree settings to match this.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::setAcceleratedCompositingForFixedPositionEnabled):
(TestShell):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.additional_drt_flag):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (133606 => 133607)


--- trunk/Tools/ChangeLog	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/ChangeLog	2012-11-06 15:32:19 UTC (rev 133607)
@@ -1,3 +1,30 @@
+2012-11-06  Sami Kyostila  <[email protected]>
+
+        [chromium] Enable fixed position compositing on Android DRT
+        https://bugs.webkit.org/show_bug.cgi?id=100263
+
+        Reviewed by James Robinson.
+
+        Chrome on Android forces composited mode for every page and creates
+        stacking contexts and graphics layers for fixed positioned elements.
+        Change the DumpRenderTree settings to match this.
+
+        * DumpRenderTree/chromium/DumpRenderTree.cpp:
+        (main):
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::TestShell):
+        (TestShell::resetWebSettings):
+        * DumpRenderTree/chromium/TestShell.h:
+        (TestShell::setAcceleratedCompositingForFixedPositionEnabled):
+        (TestShell):
+        * DumpRenderTree/chromium/WebPreferences.cpp:
+        (WebPreferences::reset):
+        (WebPreferences::applyTo):
+        * DumpRenderTree/chromium/WebPreferences.h:
+        (WebPreferences):
+        * Scripts/webkitpy/layout_tests/port/chromium_android.py:
+        (ChromiumAndroidPort.additional_drt_flag):
+
 2012-11-06  Raphael Kubo da Costa  <[email protected]>
 
         [EFL][WTR] EventSender: Get rid of the WTRMouseButton enum.

Modified: trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp (133606 => 133607)


--- trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-11-06 15:32:19 UTC (rev 133607)
@@ -62,6 +62,7 @@
 static const char optionEnableDeferred2DCanvas[] = "--enable-deferred-2d-canvas";
 static const char optionEnableAcceleratedPainting[] = "--enable-accelerated-painting";
 static const char optionEnableAcceleratedCompositingForVideo[] = "--enable-accelerated-video";
+static const char optionEnableAcceleratedFixedPosition[] = "--enable-accelerated-fixed-position";
 static const char optionUseGraphicsContext3DImplementation[] = "--use-graphics-context-3d-implementation=";
 static const char optionEnablePerTilePainting[] = "--enable-per-tile-painting";
 static const char optionEnableDeferredImageDecoding[] = "--enable-deferred-image-decoding";
@@ -127,6 +128,7 @@
     bool allowExternalPages = false;
     bool startupDialog = false;
     bool acceleratedCompositingForVideoEnabled = false;
+    bool acceleratedCompositingForFixedPositionEnabled = false;
     bool softwareCompositingEnabled = false;
     bool threadedCompositingEnabled = false;
     bool forceCompositingMode = false;
@@ -164,6 +166,8 @@
             hardwareAcceleratedGL = true;
         else if (argument == optionEnableAcceleratedCompositingForVideo)
             acceleratedCompositingForVideoEnabled = true;
+        else if (argument == optionEnableAcceleratedFixedPosition)
+            acceleratedCompositingForFixedPositionEnabled = true;
         else if (argument == optionEnableSoftwareCompositing)
             softwareCompositingEnabled = true;
         else if (argument == optionEnableThreadedCompositing)
@@ -220,6 +224,7 @@
         TestShell shell;
         shell.setAllowExternalPages(allowExternalPages);
         shell.setAcceleratedCompositingForVideoEnabled(acceleratedCompositingForVideoEnabled);
+        shell.setAcceleratedCompositingForFixedPositionEnabled(acceleratedCompositingForFixedPositionEnabled);
         shell.setSoftwareCompositingEnabled(softwareCompositingEnabled);
         shell.setThreadedCompositingEnabled(threadedCompositingEnabled);
         shell.setForceCompositingMode(forceCompositingMode);

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (133606 => 133607)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-11-06 15:32:19 UTC (rev 133607)
@@ -110,6 +110,7 @@
     , m_dumpPixelsForCurrentTest(false)
     , m_allowExternalPages(false)
     , m_acceleratedCompositingForVideoEnabled(false)
+    , m_acceleratedCompositingForFixedPositionEnabled(false)
     , m_softwareCompositingEnabled(false)
     , m_threadedCompositingEnabled(false)
     , m_forceCompositingMode(false)
@@ -229,6 +230,7 @@
     m_prefs.reset();
     m_prefs.acceleratedCompositingEnabled = true;
     m_prefs.acceleratedCompositingForVideoEnabled = m_acceleratedCompositingForVideoEnabled;
+    m_prefs.acceleratedCompositingForFixedPositionEnabled = m_acceleratedCompositingForFixedPositionEnabled;
     m_prefs.forceCompositingMode = m_forceCompositingMode;
     m_prefs.accelerated2dCanvasEnabled = m_accelerated2dCanvasEnabled;
     m_prefs.deferred2dCanvasEnabled = m_deferred2dCanvasEnabled;

Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.h (133606 => 133607)


--- trunk/Tools/DumpRenderTree/chromium/TestShell.h	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.h	2012-11-06 15:32:19 UTC (rev 133607)
@@ -128,6 +128,7 @@
     void setAllowExternalPages(bool allowExternalPages) { m_allowExternalPages = allowExternalPages; }
 
     void setAcceleratedCompositingForVideoEnabled(bool enabled) { m_acceleratedCompositingForVideoEnabled = enabled; }
+    void setAcceleratedCompositingForFixedPositionEnabled(bool enabled) { m_acceleratedCompositingForFixedPositionEnabled = enabled; }
     bool softwareCompositingEnabled() { return m_softwareCompositingEnabled; }
     void setSoftwareCompositingEnabled(bool enabled) { m_softwareCompositingEnabled = enabled; }
     void setThreadedCompositingEnabled(bool enabled) { m_threadedCompositingEnabled = enabled; }
@@ -228,6 +229,7 @@
     int m_timeout; // timeout value in millisecond
     bool m_allowExternalPages;
     bool m_acceleratedCompositingForVideoEnabled;
+    bool m_acceleratedCompositingForFixedPositionEnabled;
     bool m_softwareCompositingEnabled;
     bool m_threadedCompositingEnabled;
     bool m_forceCompositingMode;

Modified: trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp (133606 => 133607)


--- trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/DumpRenderTree/chromium/WebPreferences.cpp	2012-11-06 15:32:19 UTC (rev 133607)
@@ -112,6 +112,7 @@
     tabsToLinks = false;
     hyperlinkAuditingEnabled = false;
     acceleratedCompositingForVideoEnabled = false;
+    acceleratedCompositingForFixedPositionEnabled = false;
     acceleratedCompositingEnabled = false;
     accelerated2dCanvasEnabled = false;
     deferred2dCanvasEnabled = false;
@@ -224,6 +225,8 @@
     settings->setCaretBrowsingEnabled(caretBrowsingEnabled);
     settings->setAcceleratedCompositingEnabled(acceleratedCompositingEnabled);
     settings->setAcceleratedCompositingForVideoEnabled(acceleratedCompositingForVideoEnabled);
+    settings->setAcceleratedCompositingForFixedPositionEnabled(acceleratedCompositingForFixedPositionEnabled);
+    settings->setFixedPositionCreatesStackingContext(acceleratedCompositingForFixedPositionEnabled);
     settings->setForceCompositingMode(forceCompositingMode);
     settings->setAccelerated2dCanvasEnabled(accelerated2dCanvasEnabled);
     settings->setDeferred2dCanvasEnabled(deferred2dCanvasEnabled);

Modified: trunk/Tools/DumpRenderTree/chromium/WebPreferences.h (133606 => 133607)


--- trunk/Tools/DumpRenderTree/chromium/WebPreferences.h	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/DumpRenderTree/chromium/WebPreferences.h	2012-11-06 15:32:19 UTC (rev 133607)
@@ -105,6 +105,7 @@
     bool hyperlinkAuditingEnabled;
     bool caretBrowsingEnabled;
     bool acceleratedCompositingForVideoEnabled;
+    bool acceleratedCompositingForFixedPositionEnabled;
     bool acceleratedCompositingEnabled;
     bool forceCompositingMode;
     bool accelerated2dCanvasEnabled;

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py (133606 => 133607)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py	2012-11-06 15:27:54 UTC (rev 133606)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py	2012-11-06 15:32:19 UTC (rev 133607)
@@ -180,7 +180,9 @@
 
     def additional_drt_flag(self):
         # The Chromium port for Android always uses the hardware GPU path.
-        return ['--encode-binary', '--enable-hardware-gpu']
+        return ['--encode-binary', '--enable-hardware-gpu',
+                '--force-compositing-mode',
+                '--enable-accelerated-fixed-position']
 
     def default_timeout_ms(self):
         # Android platform has less computing power than desktop platforms.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to