[webkit-changes] [144509] trunk/LayoutTests

2013-03-01 Thread enne
Title: [144509] trunk/LayoutTests








Revision 144509
Author e...@google.com
Date 2013-03-01 14:53:30 -0800 (Fri, 01 Mar 2013)


Log Message
[chromium] Mark more flaky tests related to scrollbar ordering
https://bugs.webkit.org/show_bug.cgi?id=99

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (144508 => 144509)

--- trunk/LayoutTests/ChangeLog	2013-03-01 22:42:02 UTC (rev 144508)
+++ trunk/LayoutTests/ChangeLog	2013-03-01 22:53:30 UTC (rev 144509)
@@ -1,3 +1,12 @@
+2013-03-01  Adrienne Walker  
+
+[chromium] Mark more flaky tests related to scrollbar ordering
+https://bugs.webkit.org/show_bug.cgi?id=99
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2013-03-01  Victor Carbune  
 
 Support padding, margin and border for internal UA cue styling


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144508 => 144509)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-03-01 22:42:02 UTC (rev 144508)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-03-01 22:53:30 UTC (rev 144509)
@@ -4394,11 +4394,11 @@
 webkit.org/b/110851 platform/chromium/virtual/softwarecompositing/repaint/page-scale-repaint.html [ ImageOnlyFailure ]
 
 # Impl-side scrolling is broken for RTL. Causing impl-side scrollbar artifacts.
-crbug.com/175926 [ Linux Release ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
+crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux Win ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux Win ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ]
-crbug.com/175926 [ Linux Release ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
+crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ]
@@ -4417,9 +4417,12 @@
 # We can rebaseline when we drop Lucid support.
 webkit.org/b/110540 [ Linux ] fast/text/international/thai-line-breaks.html [ ImageOnlyFailure Pass ]
 
-# These tests flakily reorder the scrollbars, causing text failures
-webkit.org/b/99 [ Debug ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
-webkit.org/b/99 [ Debug ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
+# These tests flakily reorder the scrollbars in debug, causing text failures
+# Some platforms covered above under crbug.com/175926
+webkit.org/b/99 [ Debug Win Mac ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
+webkit.org/b/99 [ Debug Win Mac ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
+webkit.org/b/99 [ Debug Mac ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Pass Failure ]
+webkit.org/b/99 [ Debug Win Mac ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Pass Failure ]
 
 # These tests are timing out since r144032
 webkit.org/b/110876 html5lib/generated/run-template-data.html [ Slow ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144476] trunk/LayoutTests

2013-03-01 Thread enne
Title: [144476] trunk/LayoutTests








Revision 144476
Author e...@google.com
Date 2013-03-01 11:23:36 -0800 (Fri, 01 Mar 2013)


Log Message
[chromium] Mark rtl-iframe-absolute-overflow-scrolled as flaky.
https://bugs.webkit.org/show_bug.cgi?id=99

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (144475 => 144476)

--- trunk/LayoutTests/ChangeLog	2013-03-01 19:17:41 UTC (rev 144475)
+++ trunk/LayoutTests/ChangeLog	2013-03-01 19:23:36 UTC (rev 144476)
@@ -1,3 +1,12 @@
+2013-03-01  Adrienne Walker  
+
+[chromium] Mark rtl-iframe-absolute-overflow-scrolled as flaky.
+https://bugs.webkit.org/show_bug.cgi?id=99
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2013-03-01  Vsevolod Vlasov  
 
 Web Inspector: Navigator should show tree element for each folder in the source path.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (144475 => 144476)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-03-01 19:17:41 UTC (rev 144475)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-03-01 19:23:36 UTC (rev 144476)
@@ -4394,11 +4394,11 @@
 webkit.org/b/110851 platform/chromium/virtual/softwarecompositing/repaint/page-scale-repaint.html [ ImageOnlyFailure ]
 
 # Impl-side scrolling is broken for RTL. Causing impl-side scrollbar artifacts.
-crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
+crbug.com/175926 [ Linux Release ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux Win ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux Win ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ]
-crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
+crbug.com/175926 [ Linux Release ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ImageOnlyFailure ]
 crbug.com/175926 [ Linux ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ImageOnlyFailure ]
@@ -4417,6 +4417,10 @@
 # We can rebaseline when we drop Lucid support.
 webkit.org/b/110540 [ Linux ] fast/text/international/thai-line-breaks.html [ ImageOnlyFailure Pass ]
 
+# These tests flakily reorder the scrollbars, causing text failures
+webkit.org/b/99 [ Debug ] platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
+webkit.org/b/99 [ Debug ] compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Pass Failure ImageOnlyFailure ]
+
 # These tests are timing out since r144032
 webkit.org/b/110876 html5lib/generated/run-template-data.html [ Slow ]
 webkit.org/b/110876 html5lib/generated/run-tests1-data.html [ Slow ]
@@ -4429,4 +4433,3 @@
 webkit.org/b/110876 [ Debug Win ] html5lib/generated/run-tests10-write.html [ Pass Crash ]
 webkit.org/b/110876 [ Debug Win Mac ] html5lib/generated/run-tests16-write.html [ Pass Crash ]
 webkit.org/b/110876 [ Debug Win ] html5lib/generated/run-tests19-write.html [ Pass Crash ]
-






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [143403] trunk/Source

2013-02-19 Thread enne
Title: [143403] trunk/Source








Revision 143403
Author e...@google.com
Date 2013-02-19 16:20:29 -0800 (Tue, 19 Feb 2013)


Log Message
Unreviewed, rolling out r143382 and r143401.
http://trac.webkit.org/changeset/143382
http://trac.webkit.org/changeset/143401
https://bugs.webkit.org/show_bug.cgi?id=106457

Breaks Chromium win/mac canary compilation

Source/Platform:

* chromium/public/Platform.h:

Source/WebKit/chromium:

* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::idbFactory):
(WebKit::WebKitPlatformSupport::~WebKitPlatformSupport):
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/chromium/public/Platform.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp




Diff

Modified: trunk/Source/Platform/ChangeLog (143402 => 143403)

--- trunk/Source/Platform/ChangeLog	2013-02-20 00:15:23 UTC (rev 143402)
+++ trunk/Source/Platform/ChangeLog	2013-02-20 00:20:29 UTC (rev 143403)
@@ -1,3 +1,14 @@
+2013-02-19  Adrienne Walker  
+
+Unreviewed, rolling out r143382 and r143401.
+http://trac.webkit.org/changeset/143382
+http://trac.webkit.org/changeset/143401
+https://bugs.webkit.org/show_bug.cgi?id=106457
+
+Breaks Chromium win/mac canary compilation
+
+* chromium/public/Platform.h:
+
 2013-02-19  Mark Pilgrim  
 
 [Chromium] Move WebKitPlatformSupport declaration to Platform.h


Modified: trunk/Source/Platform/chromium/public/Platform.h (143402 => 143403)

--- trunk/Source/Platform/chromium/public/Platform.h	2013-02-20 00:15:23 UTC (rev 143402)
+++ trunk/Source/Platform/chromium/public/Platform.h	2013-02-20 00:20:29 UTC (rev 143403)
@@ -485,11 +485,6 @@
 virtual ~Platform() { }
 };
 
-class WebKitPlatformSupport : public Platform {
-protected:
-~WebKitPlatformSupport() { }
-};
-
 } // namespace WebKit
 
 #endif


Modified: trunk/Source/WebKit/chromium/ChangeLog (143402 => 143403)

--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-20 00:15:23 UTC (rev 143402)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-20 00:20:29 UTC (rev 143403)
@@ -1,3 +1,20 @@
+2013-02-19  Adrienne Walker  
+
+Unreviewed, rolling out r143382 and r143401.
+http://trac.webkit.org/changeset/143382
+http://trac.webkit.org/changeset/143401
+https://bugs.webkit.org/show_bug.cgi?id=106457
+
+Breaks Chromium win/mac canary compilation
+
+* public/platform/WebKitPlatformSupport.h:
+(WebKit):
+(WebKitPlatformSupport):
+(WebKit::WebKitPlatformSupport::idbFactory):
+(WebKit::WebKitPlatformSupport::~WebKitPlatformSupport):
+* src/IDBFactoryBackendProxy.cpp:
+(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):
+
 2013-02-19  Mark Pilgrim  
 
 [Chromium] Move WebKitPlatformSupport declaration to Platform.h


Modified: trunk/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h (143402 => 143403)

--- trunk/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h	2013-02-20 00:15:23 UTC (rev 143402)
+++ trunk/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h	2013-02-20 00:20:29 UTC (rev 143403)
@@ -28,4 +28,26 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifndef WebKitPlatformSupport_h
+#define WebKitPlatformSupport_h
+
 #include "../../../../Platform/chromium/public/Platform.h"
+
+namespace WebKit {
+
+class WebIDBFactory; // FIXME: Does this belong in platform?
+
+// FIXME: Eventually all these API will need to move to WebKit::Platform.
+class WebKitPlatformSupport : public Platform {
+public:
+// Indexed Database 
+
+virtual WebIDBFactory* idbFactory() { return 0; }
+
+protected:
+~WebKitPlatformSupport() { }
+};
+
+} // namespace WebKit
+
+#endif


Modified: trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp (143402 => 143403)

--- trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2013-02-20 00:15:23 UTC (rev 143402)
+++ trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2013-02-20 00:20:29 UTC (rev 143403)
@@ -53,6 +53,7 @@
 #include "WorkerLoaderProxy.h"
 #include "WorkerScriptController.h"
 #include "WorkerThread.h"
+#include "platform/WebKitPlatformSupport.h"
 #include 
 
 
@@ -74,8 +75,10 @@
 
 IDBFactoryBackendProxy::IDBFactoryBackendProxy()
 {
-ASSERT(s_webIDBFactory);
-m_webIDBFactory = s_webIDBFactory;
+if (s_webIDBFactory)
+m_webIDBFactory = s_webIDBFactory;
+else
+m_webIDBFactory = webKitPlatformSupport()->idbFactory();
 }
 
 IDBFactoryBackendProxy::~IDBFactoryBackendProxy()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org

[webkit-changes] [143367] trunk/LayoutTests

2013-02-19 Thread enne
Title: [143367] trunk/LayoutTests








Revision 143367
Author e...@google.com
Date 2013-02-19 12:01:48 -0800 (Tue, 19 Feb 2013)


Log Message
[chromium] Mark fast/workers/storage/interrupt-database.html as flaky crasher
https://bugs.webkit.org/show_bug.cgi?id=110247

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (143366 => 143367)

--- trunk/LayoutTests/ChangeLog	2013-02-19 19:39:54 UTC (rev 143366)
+++ trunk/LayoutTests/ChangeLog	2013-02-19 20:01:48 UTC (rev 143367)
@@ -1,3 +1,12 @@
+2013-02-19  Adrienne Walker  
+
+[chromium] Mark fast/workers/storage/interrupt-database.html as flaky crasher
+https://bugs.webkit.org/show_bug.cgi?id=110247
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2013-02-19  Stephen Chenney  
 
 Rebaselining, again, calendar tests


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (143366 => 143367)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-19 19:39:54 UTC (rev 143366)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-19 20:01:48 UTC (rev 143367)
@@ -3396,7 +3396,7 @@
 webkit.org/b/84688 [ SnowLeopard ] compositing/animation/computed-style-during-delay.html [ Failure Pass ]
 webkit.org/b/84688 [ SnowLeopard ] platform/chromium/virtual/softwarecompositing/animation/computed-style-during-delay.html [ Failure Pass ]
 
-webkit.org/b/84696 fast/workers/storage/interrupt-database.html [ Pass Slow ]
+webkit.org/b/84696 [ Release ] fast/workers/storage/interrupt-database.html [ Pass Slow ]
 
 webkit.org/b/84720 [ Debug ] fast/repaint/fixed-right-in-page-scale.html [ ImageOnlyFailure Pass ]
 webkit.org/b/84720 fast/repaint/fixed-scale.html [ ImageOnlyFailure Pass ]
@@ -4389,3 +4389,5 @@
 webkit.org/b/109581 [ Win ] inspector/debugger/debugger-script-preprocessor.html [ Pass Crash ]
 
 crbug.com/176843 fast/filesystem/op-restricted-names.html [ Failure ]
+
+webkit.org/b/110247 [ Debug ] fast/workers/storage/interrupt-database.html [ Pass Crash Slow ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [143035] trunk/LayoutTests

2013-02-15 Thread enne
Title: [143035] trunk/LayoutTests








Revision 143035
Author e...@google.com
Date 2013-02-15 12:50:00 -0800 (Fri, 15 Feb 2013)


Log Message
[chromium] Mark inspector/profiler/heap-snapshot-get-profile-crash.html flaky crasher
https://bugs.webkit.org/show_bug.cgi?id=109963

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (143034 => 143035)

--- trunk/LayoutTests/ChangeLog	2013-02-15 20:49:08 UTC (rev 143034)
+++ trunk/LayoutTests/ChangeLog	2013-02-15 20:50:00 UTC (rev 143035)
@@ -1,3 +1,12 @@
+2013-02-15  Adrienne Walker  
+
+[chromium] Mark inspector/profiler/heap-snapshot-get-profile-crash.html flaky crasher
+https://bugs.webkit.org/show_bug.cgi?id=109963
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2013-02-15  Philip Rogers  
 
 Rebaseline 4 svg/zoom/page tests after r142765


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (143034 => 143035)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-15 20:49:08 UTC (rev 143034)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-02-15 20:50:00 UTC (rev 143035)
@@ -4411,5 +4411,6 @@
 webkit.org/b/97037 media/encrypted-media/encrypted-media-v2-syntax.html [ Timeout ]
 
 webkit.org/b/109416 [ Mac ] inspector/editor/text-editor-home-button.html [ Failure ]
+webkit.org/b/109963 [ Debug ] inspector/profiler/heap-snapshot-get-profile-crash.html [ Pass Crash ]
 
 webkit.org/b/109581 [ Win ] inspector/debugger/debugger-script-preprocessor.html [ Pass Crash ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [141307] trunk/LayoutTests

2013-01-30 Thread enne
Title: [141307] trunk/LayoutTests








Revision 141307
Author e...@google.com
Date 2013-01-30 14:20:53 -0800 (Wed, 30 Jan 2013)


Log Message
[Chromium] Temporarily change expectations for tests affected by tiling shaders
https://bugs.webkit.org/show_bug.cgi?id=108367

Patch by Brian Anderson  on 2013-01-30
Reviewed by Adrienne Walker.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (141306 => 141307)

--- trunk/LayoutTests/ChangeLog	2013-01-30 22:17:30 UTC (rev 141306)
+++ trunk/LayoutTests/ChangeLog	2013-01-30 22:20:53 UTC (rev 141307)
@@ -1,3 +1,12 @@
+2013-01-30  Brian Anderson  
+
+[Chromium] Temporarily change expectations for tests affected by tiling shaders
+https://bugs.webkit.org/show_bug.cgi?id=108367
+
+Reviewed by Adrienne Walker.
+
+* platform/chromium/TestExpectations:
+
 2013-01-30  Philip Rogers  
 
 Track scale and zoom together when drawing SVG images


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (141306 => 141307)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-30 22:17:30 UTC (rev 141306)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-30 22:20:53 UTC (rev 141307)
@@ -4344,6 +4344,11 @@
 
 webkit.org/b/108163 [ Debug ] platform/chromium/virtual/deferred/fast/images/icon-0colors.html [ Crash ]
 
+# New clamping logic in the tile shader will causes slight diffs. These images must be rebaselined.
+crbug.com/170722 [ Mac Win Linux ] compositing/color-matching/image-color-matching.html [ ImageOnlyFailure ]
+crbug.com/170722 [ Mac Win Linux ] compositing/visibility/visibility-image-layers.html [ ImageOnlyFailure ]
+crbug.com/170722 fast/sub-pixel/transformed-iframe-copy-on-scroll.html [ ImageOnlyFailure ]
+
 # Rebaseline required after https://webkit.org/b/31397
 webkit.org/b/107567 svg/batik/text/xmlSpace.svg [ Failure ] 
 webkit.org/b/107567 fast/text/capitalize-empty-generated-string.html [ Failure ] 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [134633] trunk/LayoutTests

2012-11-14 Thread enne
Title: [134633] trunk/LayoutTests








Revision 134633
Author e...@google.com
Date 2012-11-14 11:24:57 -0800 (Wed, 14 Nov 2012)


Log Message
[Chromium] Rebaselined video LayoutTests for software compositor
https://bugs.webkit.org/show_bug.cgi?id=101973

Patch by Slavomir Kaslev  on 2012-11-12
Reviewed by Adrienne Walker.

Rebaselined failing video LayouTests caused by different filtering
result between Skia and Mesa for the software compositor.

* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/visibility/visibility-simple-video-layer-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/softwarecompositing/self-painting-layers-e

[webkit-changes] [131484] trunk/Source/WTF

2012-10-16 Thread enne
Title: [131484] trunk/Source/WTF








Revision 131484
Author e...@google.com
Date 2012-10-16 12:06:20 -0700 (Tue, 16 Oct 2012)


Log Message
Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
https://bugs.webkit.org/show_bug.cgi?id=99367

Reviewed by James Robinson.

Does what it says on the tin.

* wtf/HashTraits.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/HashTraits.h




Diff

Modified: trunk/Source/WTF/ChangeLog (131483 => 131484)

--- trunk/Source/WTF/ChangeLog	2012-10-16 19:04:04 UTC (rev 131483)
+++ trunk/Source/WTF/ChangeLog	2012-10-16 19:06:20 UTC (rev 131484)
@@ -1,3 +1,14 @@
+2012-10-16  Adrienne Walker  
+
+Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define
+https://bugs.webkit.org/show_bug.cgi?id=99367
+
+Reviewed by James Robinson.
+
+Does what it says on the tin.
+
+* wtf/HashTraits.h:
+
 2012-10-15  Andreas Kling  
 
 Remove WTF::fastDeleteAllValues().


Modified: trunk/Source/WTF/wtf/HashTraits.h (131483 => 131484)

--- trunk/Source/WTF/wtf/HashTraits.h	2012-10-16 19:04:04 UTC (rev 131483)
+++ trunk/Source/WTF/wtf/HashTraits.h	2012-10-16 19:06:20 UTC (rev 131484)
@@ -165,9 +165,6 @@
 return HashTraitsEmptyValueChecker::isEmptyValue(value);
 }
 
-// Workaround from Chromium. See https://bugs.webkit.org/show_bug.cgi?id=82784.
-#define WTF_NEW_HASHMAP_ITERATORS_INTERFACE 1
-
 template
 struct PairHashTraits : GenericHashTraits > {
 typedef FirstTraitsArg FirstTraits;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [128902] branches/chromium/1229

2012-09-18 Thread enne
Title: [128902] branches/chromium/1229








Revision 128902
Author e...@google.com
Date 2012-09-18 09:51:26 -0700 (Tue, 18 Sep 2012)


Log Message
Merge 128514 - Hide all ancestors of the full screen element when going full screen
https://bugs.webkit.org/show_bug.cgi?id=96332

Reviewed by James Robinson.

Source/WebCore:

Since fixed position elements can now sometimes become stacking
contexts, explicitly set position: static on full-screen ancestors so
that there are no stacking context ancestors that could cause the full
screen element to become incorrectly sorted.

Test: fullscreen/full-screen-fixed-pos-parent.html

* css/fullscreen.css:
(:-webkit-full-screen-ancestor:not(iframe)):

LayoutTests:

This test has an all red image that (without this patch) incorrectly
sorts on top of the full screen element. With this patch, the all
green full screen element appears on top.

* fullscreen/full-screen-fixed-pos-parent-expected.png: Added.
* fullscreen/full-screen-fixed-pos-parent-expected.txt: Added.
* fullscreen/full-screen-fixed-pos-parent.html: Added.
* fullscreen/resources/green.html: Added.


TBR=e...@google.com

Modified Paths

branches/chromium/1229/Source/WebCore/css/fullscreen.css


Added Paths

branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png
branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.txt
branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent.html
branches/chromium/1229/LayoutTests/fullscreen/resources/green.html




Diff

Copied: branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png (from rev 128514, trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png) (0 => 128902)

--- branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png	(rev 0)
+++ branches/chromium/1229/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png	2012-09-18 16:51:26 UTC (rev 128902)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksumf9cdba21f7e2009389f80333d1d70551\xA8sY
+\xA9IDATx\x9C\xED\xD6\xC1	 \xC0\xB0\xD3\xC9\xDD%
+\x82$\xF4\xD95g\xED\xD7\xBF1X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X

[webkit-changes] [128514] trunk

2012-09-13 Thread enne
Title: [128514] trunk








Revision 128514
Author e...@google.com
Date 2012-09-13 15:32:28 -0700 (Thu, 13 Sep 2012)


Log Message
Hide all ancestors of the full screen element when going full screen
https://bugs.webkit.org/show_bug.cgi?id=96332

Reviewed by James Robinson.

Source/WebCore:

Since fixed position elements can now sometimes become stacking
contexts, explicitly set position: static on full-screen ancestors so
that there are no stacking context ancestors that could cause the full
screen element to become incorrectly sorted.

Test: fullscreen/full-screen-fixed-pos-parent.html

* css/fullscreen.css:
(:-webkit-full-screen-ancestor:not(iframe)):

LayoutTests:

This test has an all red image that (without this patch) incorrectly
sorts on top of the full screen element. With this patch, the all
green full screen element appears on top.

* fullscreen/full-screen-fixed-pos-parent-expected.png: Added.
* fullscreen/full-screen-fixed-pos-parent-expected.txt: Added.
* fullscreen/full-screen-fixed-pos-parent.html: Added.
* fullscreen/resources/green.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/fullscreen.css


Added Paths

trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png
trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.txt
trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent.html
trunk/LayoutTests/fullscreen/resources/green.html




Diff

Modified: trunk/LayoutTests/ChangeLog (128513 => 128514)

--- trunk/LayoutTests/ChangeLog	2012-09-13 22:19:43 UTC (rev 128513)
+++ trunk/LayoutTests/ChangeLog	2012-09-13 22:32:28 UTC (rev 128514)
@@ -1,3 +1,19 @@
+2012-09-13  Adrienne Walker  
+
+Hide all ancestors of the full screen element when going full screen
+https://bugs.webkit.org/show_bug.cgi?id=96332
+
+Reviewed by James Robinson.
+
+This test has an all red image that (without this patch) incorrectly
+sorts on top of the full screen element. With this patch, the all
+green full screen element appears on top.
+
+* fullscreen/full-screen-fixed-pos-parent-expected.png: Added.
+* fullscreen/full-screen-fixed-pos-parent-expected.txt: Added.
+* fullscreen/full-screen-fixed-pos-parent.html: Added.
+* fullscreen/resources/green.html: Added.
+
 2012-09-13  Adam Barth  
 
 REGRESSION(r125126): It made fast/events/keyevent-iframe-removed-crash.html assert


Added: trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png (0 => 128514)

--- trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png	(rev 0)
+++ trunk/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.png	2012-09-13 22:32:28 UTC (rev 128514)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksumf9cdba21f7e2009389f80333d1d70551\xA8sY
+\xA9IDATx\x9C\xED\xD6\xC1	 \xC0\xB0\xD3\xC9\xDD%
+\x82$\xF4\xD95g\xED\xD7\xBF1X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x833X1\x

[webkit-changes] [128358] trunk/Source/WebKit/chromium

2012-09-12 Thread enne
Title: [128358] trunk/Source/WebKit/chromium








Revision 128358
Author e...@google.com
Date 2012-09-12 14:04:13 -0700 (Wed, 12 Sep 2012)


Log Message
[chromium] Fix search tickmarks not disappearing when compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=96536

Reviewed by James Robinson.

view->invalidateRect() on the root frame just invalidates the
contents, since WebViewImpl doesn't know anything about scrollbar
layers. This causes an "InvalidateAll" to not actually invalidate the
scrollbars.

To fix this, make WebFrameImpl explicitly invalidate the
scrollbars when required.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::invalidateArea):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (128357 => 128358)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-09-12 20:57:25 UTC (rev 128357)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-09-12 21:04:13 UTC (rev 128358)
@@ -1,3 +1,21 @@
+2012-09-12  Adrienne Walker  
+
+[chromium] Fix search tickmarks not disappearing when compositing is enabled
+https://bugs.webkit.org/show_bug.cgi?id=96536
+
+Reviewed by James Robinson.
+
+view->invalidateRect() on the root frame just invalidates the
+contents, since WebViewImpl doesn't know anything about scrollbar
+layers. This causes an "InvalidateAll" to not actually invalidate the
+scrollbars.
+
+To fix this, make WebFrameImpl explicitly invalidate the
+scrollbars when required.
+
+* src/WebFrameImpl.cpp:
+(WebKit::WebFrameImpl::invalidateArea):
+
 2012-09-12  Leandro Gracia Gil  
 
 [Chromium] Fix cases where find-in-page doesn't send a final update


Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp (128357 => 128358)

--- trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2012-09-12 20:57:25 UTC (rev 128357)
+++ trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2012-09-12 21:04:13 UTC (rev 128358)
@@ -2573,13 +2573,13 @@
 contentArea.move(-frameRect.x(), -frameRect.y());
 view->invalidateRect(contentArea);
 }
+}
 
-if ((area & InvalidateScrollbar) == InvalidateScrollbar) {
-// Invalidate the vertical scroll bar region for the view.
-Scrollbar* scrollbar = view->verticalScrollbar();
-if (scrollbar)
-scrollbar->invalidate();
-}
+if ((area & InvalidateScrollbar) == InvalidateScrollbar) {
+// Invalidate the vertical scroll bar region for the view.
+Scrollbar* scrollbar = view->verticalScrollbar();
+if (scrollbar)
+scrollbar->invalidate();
 }
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [128203] trunk/Source/WTF

2012-09-11 Thread enne
Title: [128203] trunk/Source/WTF








Revision 128203
Author e...@google.com
Date 2012-09-11 10:39:08 -0700 (Tue, 11 Sep 2012)


Log Message
Clang doesn't optimize away undefined OwnPtr copy constructor
https://bugs.webkit.org/show_bug.cgi?id=74625

Reviewed by Anders Carlsson.

Original patch by Anders Carlsson, with a minor edit.

The publicly declared-but-not-defined copy constructor is a compiler
optimization-dependent landmine. Clang often fails to optimize the use
of this function out, leading to internal linkage errors for the missing
definition. gcc doesn't have this problem and optimizes that function
out, leading to code that inconsistently fails to link across platforms.

As a partial fix for this problem, on any compiler that supports C++11
move semantics, replace the bogus copy constructor with the move
constructors.  In the future, if all compilers support this, then the
copy constructor can be removed.

This still leaves other compilers that don't support move semantics
like Visual Studio vulnerable to linking inconsistencies.

* wtf/OwnPtr.h:
(OwnPtr):
(WTF):
(WTFOwnPtr):
(WTF::=):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/OwnPtr.h




Diff

Modified: trunk/Source/WTF/ChangeLog (128202 => 128203)

--- trunk/Source/WTF/ChangeLog	2012-09-11 17:29:54 UTC (rev 128202)
+++ trunk/Source/WTF/ChangeLog	2012-09-11 17:39:08 UTC (rev 128203)
@@ -1,3 +1,32 @@
+2012-09-11  Adrienne Walker  
+
+Clang doesn't optimize away undefined OwnPtr copy constructor
+https://bugs.webkit.org/show_bug.cgi?id=74625
+
+Reviewed by Anders Carlsson.
+
+Original patch by Anders Carlsson, with a minor edit.
+
+The publicly declared-but-not-defined copy constructor is a compiler
+optimization-dependent landmine. Clang often fails to optimize the use
+of this function out, leading to internal linkage errors for the missing
+definition. gcc doesn't have this problem and optimizes that function
+out, leading to code that inconsistently fails to link across platforms.
+
+As a partial fix for this problem, on any compiler that supports C++11
+move semantics, replace the bogus copy constructor with the move
+constructors.  In the future, if all compilers support this, then the
+copy constructor can be removed.
+
+This still leaves other compilers that don't support move semantics
+like Visual Studio vulnerable to linking inconsistencies.
+
+* wtf/OwnPtr.h:
+(OwnPtr):
+(WTF):
+(WTFOwnPtr):
+(WTF::=):
+
 2012-09-11  Raphael Kubo da Costa  
 
 [EFL] Rewrite the EFL-related Find modules


Modified: trunk/Source/WTF/wtf/OwnPtr.h (128202 => 128203)

--- trunk/Source/WTF/wtf/OwnPtr.h	2012-09-11 17:29:54 UTC (rev 128202)
+++ trunk/Source/WTF/wtf/OwnPtr.h	2012-09-11 17:39:08 UTC (rev 128203)
@@ -22,6 +22,7 @@
 #define WTF_OwnPtr_h
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -36,6 +37,11 @@
 template PassOwnPtr adoptPtr(T*);
 
 template class OwnPtr {
+#if COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES)
+// If rvalue references are not supported, the copy constructor is
+// public so OwnPtr cannot be marked noncopyable. See note below.
+WTF_MAKE_NONCOPYABLE(OwnPtr);
+#endif
 public:
 typedef typename RemovePointer::Type ValueType;
 typedef ValueType* PtrType;
@@ -46,11 +52,13 @@
 // See comment in PassOwnPtr.h for why this takes a const reference.
 template OwnPtr(const PassOwnPtr& o);
 
+#if !COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES)
 // This copy constructor is used implicitly by gcc when it generates
 // transients for assigning a PassOwnPtr object to a stack-allocated
 // OwnPtr object. It should never be called explicitly and gcc
 // should optimize away the constructor when generating code.
 OwnPtr(const OwnPtr&);
+#endif
 
 ~OwnPtr() { deleteOwnedPtr(m_ptr); }
 
@@ -73,10 +81,21 @@
 OwnPtr& operator=(std::nullptr_t) { clear(); return *this; }
 template OwnPtr& operator=(const PassOwnPtr&);
 
+#if COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES)
+OwnPtr(OwnPtr&&);
+template OwnPtr(OwnPtr&&);
+
+OwnPtr& operator=(OwnPtr&&);
+template OwnPtr& operator=(OwnPtr&&);
+#endif
+
 void swap(OwnPtr& o) { std::swap(m_ptr, o.m_ptr); }
 
 private:
-OwnPtr& operator=(const OwnPtr&);
+#if !COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES)
+// If rvalue references are supported, noncopyable takes care of this.
+OwnPtr& operator=(const OwnPtr&);
+#endif
 
 // We should never have two OwnPtrs for the same underlying object (otherwise we'll get
 // double-destruction), so these equality operators should never be needed.
@@ -132,6 +151,38 @@
 return *this;
 }
 
+#if COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES)
+template inline OwnPtr::OwnPt

[webkit-changes] [128082] trunk/Source

2012-09-10 Thread enne
Title: [128082] trunk/Source








Revision 128082
Author e...@google.com
Date 2012-09-10 11:22:51 -0700 (Mon, 10 Sep 2012)


Log Message
[chromium] Fix deadlock between WebMediaPlayerClientImpl dtor and PutCurrentFrame
https://bugs.webkit.org/show_bug.cgi?id=96010

Reviewed by James Robinson.

Source/Platform:

Add some additional clarifying comments.

* chromium/public/WebVideoFrameProvider.h:
(Client):
(WebVideoFrameProvider):

Source/WebKit/chromium:

The key fix here is that the destructor no longer has a mutex.
The m_compositingMutex was supposedly protecting races between
~WebMediaPlayerClientImpl and setVideoFrameProviderClient. The
former is only called from the main thread and the latter is called
from the compositor thread only when the main thread is blocked (and
it already asserts that this is the case).

In addition, the m_providerMutex in CCVideoLayerImpl prevents the
destruction of WebMediaPlayerClientImpl, thus keeping the frame
acquired via getCurrentFrame alive until putCurrentFrame is called.
These functions are only called by the client, and comments are added
to the interface to better document this.

To prevent a race between load() and getCurrentFrame/putCurrentFrame
(which are called from different threads) a new m_webMediaPlayerMutex
to replace part of what the old m_compositingMutex was doing.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
(WebKit::WebMediaPlayerClientImpl::load):
(WebKit::WebMediaPlayerClientImpl::loadInternal):
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::putCurrentFrame):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/chromium/public/WebVideoFrameProvider.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h




Diff

Modified: trunk/Source/Platform/ChangeLog (128081 => 128082)

--- trunk/Source/Platform/ChangeLog	2012-09-10 18:11:04 UTC (rev 128081)
+++ trunk/Source/Platform/ChangeLog	2012-09-10 18:22:51 UTC (rev 128082)
@@ -1,3 +1,16 @@
+2012-09-10  Adrienne Walker  
+
+[chromium] Fix deadlock between WebMediaPlayerClientImpl dtor and PutCurrentFrame
+https://bugs.webkit.org/show_bug.cgi?id=96010
+
+Reviewed by James Robinson.
+
+Add some additional clarifying comments.
+
+* chromium/public/WebVideoFrameProvider.h:
+(Client):
+(WebVideoFrameProvider):
+
 2012-09-10  Tommy Widenflycht  
 
 [chromium] MediaStream API: Remove the Descriptor postfix


Modified: trunk/Source/Platform/chromium/public/WebVideoFrameProvider.h (128081 => 128082)

--- trunk/Source/Platform/chromium/public/WebVideoFrameProvider.h	2012-09-10 18:11:04 UTC (rev 128081)
+++ trunk/Source/Platform/chromium/public/WebVideoFrameProvider.h	2012-09-10 18:22:51 UTC (rev 128082)
@@ -46,7 +46,8 @@
 class Client {
 public:
 // Provider will call this method to tell the client to stop using it.
-// stopUsingProvider() may be called from any thread.
+// stopUsingProvider() may be called from any thread. The client should
+// block until it has putCurrentFrame any outstanding frames.
 virtual void stopUsingProvider() = 0;
 
 // Notifies the provider's client that a call to getCurrentFrame() will return new data.
@@ -57,17 +58,20 @@
 virtual void didUpdateMatrix(const float*) = 0;
 };
 
-// May be called from any thread.
+// May be called from any thread, but there must be some external guarantee
+// that the provider is not destroyed before this call returns.
 virtual void setVideoFrameProviderClient(Client*) = 0;
 
 // This function places a lock on the current frame and returns a pointer to it.
 // Calls to this method should always be followed with a call to putCurrentFrame().
 // The ownership of the object is not transferred to the caller and
-// the caller should not free the returned object.
+// the caller should not free the returned object. Only the current provider
+// client should call this function.
 virtual WebVideoFrame* getCurrentFrame() = 0;
 // This function releases the lock on the video frame in chromium. It should
 // always be called after getCurrentFrame(). Frames passed into this method
-// should no longer be referenced after the call is made.
+// should no longer be referenced after the call is made. Only the current
+// provider client should call this function.
 virtual void putCurrentFrame(WebVideoFrame*) = 0;
 };
 


Modified: trunk/Source/WebKit/chromium/ChangeLog (128081 => 128082)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-09-10 18:11:04 UTC (rev 128081)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-09-10 18:22:51 

[webkit-changes] [127790] trunk/Source/WebKit/chromium

2012-09-06 Thread enne
Title: [127790] trunk/Source/WebKit/chromium








Revision 127790
Author e...@google.com
Date 2012-09-06 15:48:43 -0700 (Thu, 06 Sep 2012)


Log Message
[chromium] Remove GraphicsContext references from ContentLayerChromiumTest
https://bugs.webkit.org/show_bug.cgi?id=96002

Reviewed by James Robinson.

This is a compositor unit test, so it shouldn't reference things
outside of the compositor like GraphicsContext. The
OpaqueRectTrackingContentLayerDelegateTest already tests opaque
tracking right at the time of paint. This test is about verifying that
transformed canvases work properly, so can just fake the opaque rect
coming back from the paint.

* tests/ContentLayerChromiumTest.cpp:
(WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
(WebKit::TEST):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (127789 => 127790)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-09-06 22:23:29 UTC (rev 127789)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-09-06 22:48:43 UTC (rev 127790)
@@ -1,3 +1,21 @@
+2012-09-06  Adrienne Walker  
+
+[chromium] Remove GraphicsContext references from ContentLayerChromiumTest
+https://bugs.webkit.org/show_bug.cgi?id=96002
+
+Reviewed by James Robinson.
+
+This is a compositor unit test, so it shouldn't reference things
+outside of the compositor like GraphicsContext. The
+OpaqueRectTrackingContentLayerDelegateTest already tests opaque
+tracking right at the time of paint. This test is about verifying that
+transformed canvases work properly, so can just fake the opaque rect
+coming back from the paint.
+
+* tests/ContentLayerChromiumTest.cpp:
+(WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
+(WebKit::TEST):
+
 2012-09-06  Jeff Timanus  
 
 [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.


Modified: trunk/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp (127789 => 127790)

--- trunk/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp	2012-09-06 22:23:29 UTC (rev 127789)
+++ trunk/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp	2012-09-06 22:48:43 UTC (rev 127790)
@@ -30,8 +30,6 @@
 #include "CCGeometryTestUtils.h"
 #include "CCRenderingStats.h"
 #include "ContentLayerChromiumClient.h"
-#include "GraphicsContext.h"
-#include "OpaqueRectTrackingContentLayerDelegate.h"
 #include "skia/ext/platform_canvas.h"
 #include 
 #include 
@@ -44,49 +42,20 @@
 
 namespace {
 
-class OpaqueRectDrawingGraphicsContextPainter : public GraphicsContextPainter {
-public:
-explicit OpaqueRectDrawingGraphicsContextPainter(const IntRect& opaqueRect, const IntRect& contentRect)
-: m_opaqueRect(opaqueRect)
-, m_contentRect(contentRect)
-{
-}
-
-virtual ~OpaqueRectDrawingGraphicsContextPainter()
-{
-}
-
-virtual void paint(GraphicsContext& context, const IntRect& clip) OVERRIDE
-{
-Color alpha(0, 0, 0, 0);
-context.fillRect(m_contentRect, alpha, ColorSpaceDeviceRGB);
-
-Color white(255, 255, 255, 255);
-context.fillRect(m_opaqueRect, white, ColorSpaceDeviceRGB);
-}
-
-private:
-IntRect m_opaqueRect;
-IntRect m_contentRect;
-};
-
 class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
 public:
-explicit MockContentLayerChromiumClient(OpaqueRectTrackingContentLayerDelegate* client)
-: m_client(client)
+explicit MockContentLayerChromiumClient(IntRect opaqueLayerRect)
+: m_opaqueLayerRect(opaqueLayerRect)
 {
 }
 
-virtual void paintContents(SkCanvas* canvas, const IntRect& clip, FloatRect& opaque) OVERRIDE
+virtual void paintContents(SkCanvas*, const IntRect&, FloatRect& opaque) OVERRIDE
 {
-WebFloatRect resultingOpaqueRect(opaque.x(), opaque.y(), opaque.width(), opaque.height());
-WebRect webClipRect(clip.x(), clip.y(), clip.width(), clip.height());
-m_client->paintContents(canvas, webClipRect, resultingOpaqueRect);
-opaque = FloatRect(resultingOpaqueRect.x, resultingOpaqueRect.y, resultingOpaqueRect.width, resultingOpaqueRect.height);
+opaque = FloatRect(m_opaqueLayerRect);
 }
 
 private:
-OpaqueRectTrackingContentLayerDelegate* m_client;
+IntRect m_opaqueLayerRect;
 };
 
 TEST(ContentLayerChromiumTest, ContentLayerPainterWithDeviceScale)
@@ -97,9 +66,7 @@
 IntRect opaqueRectInContentSpace = opaqueRectInLayerSpace;
 opaqueRectInContentSpace.scale(contentsScale);
 OwnPtr canvas = adoptPtr(skia::CreateBitmapCanvas(contentRect.width(), contentRect.height(), false));
-OpaqueRectDrawingGraphicsContextPainter painter(opaqueRectInLayerSpace, contentRect);
-OpaqueRectTrackingContentLayerDelegate opaqueRectTrackingContentLayerDelegate(&painter);
-MockContentLaye

[webkit-changes] [127784] trunk/Source/WebKit/chromium

2012-09-06 Thread enne
Title: [127784] trunk/Source/WebKit/chromium








Revision 127784
Author e...@google.com
Date 2012-09-06 14:23:48 -0700 (Thu, 06 Sep 2012)


Log Message
[chromium] Remove Scrollbar/Settings dependencies from ScrollbarLayerChromiumTest
https://bugs.webkit.org/show_bug.cgi?id=95994

Reviewed by James Robinson.

This compositor test shouldn't depend on code outside the compositor.

* tests/ScrollbarLayerChromiumTest.cpp:
(WebCore::FakeWebScrollbar::create):
(FakeWebScrollbar):
(WebCore::TEST):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (127783 => 127784)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-09-06 21:04:34 UTC (rev 127783)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-09-06 21:23:48 UTC (rev 127784)
@@ -1,3 +1,17 @@
+2012-09-06  Adrienne Walker  
+
+[chromium] Remove Scrollbar/Settings dependencies from ScrollbarLayerChromiumTest
+https://bugs.webkit.org/show_bug.cgi?id=95994
+
+Reviewed by James Robinson.
+
+This compositor test shouldn't depend on code outside the compositor.
+
+* tests/ScrollbarLayerChromiumTest.cpp:
+(WebCore::FakeWebScrollbar::create):
+(FakeWebScrollbar):
+(WebCore::TEST):
+
 2012-09-06  James Robinson  
 
 [chromium] Put chromium implementations of WTF symbols in separate static library


Modified: trunk/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp (127783 => 127784)

--- trunk/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp	2012-09-06 21:04:34 UTC (rev 127783)
+++ trunk/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp	2012-09-06 21:23:48 UTC (rev 127784)
@@ -30,8 +30,6 @@
 #include "CCScrollbarLayerImpl.h"
 #include "CCSingleThreadProxy.h"
 #include "FakeWebScrollbarThemeGeometry.h"
-#include "Scrollbar.h"
-#include "Settings.h"
 #include "TreeSynchronizer.h"
 #include "WebScrollbarImpl.h"
 #include 
@@ -43,68 +41,37 @@
 
 namespace {
 
-class MockScrollbar : public Scrollbar {
+class FakeWebScrollbar : public WebKit::WebScrollbar {
 public:
-virtual int x() const { return 0; }
-virtual int y() const { return 0; }
-virtual int width() const { return 0; }
-virtual int height() const { return 0; }
-virtual IntSize size() const { return IntSize(); }
-virtual IntPoint location() const { return IntPoint(); }
+static PassOwnPtr create() { return adoptPtr(new FakeWebScrollbar()); }
 
-virtual ScrollView* parent() const { return 0; }
-virtual ScrollView* root() const { return 0; }
-
-virtual void setFrameRect(const IntRect&) { }
-virtual IntRect frameRect() const { return IntRect(); }
-
-virtual void invalidate() { }
-virtual void invalidateRect(const IntRect&) { }
-
-virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const { return ScrollbarOverlayStyleDefault; }
-virtual void getTickmarks(Vector&) const { }
-virtual bool isScrollableAreaActive() const { return false; }
-virtual bool isScrollViewScrollbar() const { return false; }
-
-virtual IntPoint convertFromContainingWindow(const IntPoint& windowPoint) { return windowPoint; }
-
-virtual bool isCustomScrollbar() const { return false; }
-virtual ScrollbarOrientation orientation() const { return HorizontalScrollbar; }
-
-virtual int value() const { return 0; }
-virtual float currentPos() const { return 0; }
-virtual int visibleSize() const { return 1; }
-virtual int totalSize() const { return 1; }
-virtual int maximum() const { return 0; }
-virtual ScrollbarControlSize controlSize() const { return RegularScrollbar; }
-
-virtual int lineStep() const { return 0; }
-virtual int pageStep() const { return 0; }
-
-virtual ScrollbarPart pressedPart() const { return NoPart; }
-virtual ScrollbarPart hoveredPart() const { return NoPart; }
-
-virtual void styleChanged() { }
-
-virtual bool enabled() const { return false; }
-virtual void setEnabled(bool) { }
-
-virtual bool isOverlayScrollbar() const { return false; }
-
-MockScrollbar() : Scrollbar(0, HorizontalScrollbar, RegularScrollbar) { }
-virtual ~MockScrollbar() { }
+// WebScrollbar implementation
+virtual bool isOverlay() const OVERRIDE { return false; }
+virtual int value() const OVERRIDE { return 0; }
+virtual WebKit::WebPoint location() const OVERRIDE { return WebKit::WebPoint(); }
+virtual WebKit::WebSize size() const OVERRIDE { return WebKit::WebSize(); }
+virtual bool enabled() const OVERRIDE { return true; }
+virtual int maximum() const OVERRIDE { return 0; }
+virtual int totalSize() const OVERRIDE { return 0; }
+virtual bool isScrollViewScrollbar() const OVERRIDE { return false; }
+virtual bool isScrollableAreaActive() const OVERRIDE { return true; }
+virtual void getTickmarks(WebKit::WebVector&) const OVERRIDE { }
+virtual ScrollbarCon

[webkit-changes] [126794] trunk/Source/WebCore

2012-08-27 Thread enne
Title: [126794] trunk/Source/WebCore








Revision 126794
Author e...@google.com
Date 2012-08-27 14:20:43 -0700 (Mon, 27 Aug 2012)


Log Message
[chromium] Unreviewed, remove OVERRIDE from non-virtual function.
https://bugs.webkit.org/show_bug.cgi?id=94859

Unreviewed build fix.

* platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h:
(CCScrollbarGeometryFixedThumb):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (126793 => 126794)

--- trunk/Source/WebCore/ChangeLog	2012-08-27 21:11:10 UTC (rev 126793)
+++ trunk/Source/WebCore/ChangeLog	2012-08-27 21:20:43 UTC (rev 126794)
@@ -1,5 +1,15 @@
 2012-08-27  Adrienne Walker  
 
+[chromium] Unreviewed, remove OVERRIDE from non-virtual function.
+https://bugs.webkit.org/show_bug.cgi?id=94859
+
+Unreviewed build fix.
+
+* platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h:
+(CCScrollbarGeometryFixedThumb):
+
+2012-08-27  Adrienne Walker  
+
 [chromium] Prevent scrollbar thumb size from changing during compositor zoom
 https://bugs.webkit.org/show_bug.cgi?id=94859
 


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h (126793 => 126794)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h	2012-08-27 21:11:10 UTC (rev 126793)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h	2012-08-27 21:20:43 UTC (rev 126794)
@@ -40,7 +40,7 @@
 virtual ~CCScrollbarGeometryFixedThumb();
 
 // Update thumb length from scrollbar
-void update(WebKit::WebScrollbar*) OVERRIDE;
+void update(WebKit::WebScrollbar*);
 
 // WebScrollbarThemeGeometry interface
 virtual WebKit::WebScrollbarThemeGeometry* clone() const OVERRIDE;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [126791] trunk/Source

2012-08-27 Thread enne
Title: [126791] trunk/Source








Revision 126791
Author e...@google.com
Date 2012-08-27 13:48:57 -0700 (Mon, 27 Aug 2012)


Log Message
[chromium] Prevent scrollbar thumb size from changing during compositor zoom
https://bugs.webkit.org/show_bug.cgi?id=94859

Reviewed by James Robinson.

Source/WebCore:

During a pinch zoom, the total size of a scrollable area will change,
causing the thumb to become a different size. This will cause the
thumb texture (painted at a specific size) to stretch. To fix this,
add a new CCScrollbarGeometryFixedThumb class which behaves just like
a normal WebScrollbarThemeGeometry class, but constrains the thumb to
be a fixed size.

* WebCore.gypi:
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Added.
(WebCore):
(WebCore::CCScrollbarGeometryFixedThumb::create):
(WebCore::CCScrollbarGeometryFixedThumb::~CCScrollbarGeometryFixedThumb):
(WebCore::CCScrollbarGeometryFixedThumb::update):
(WebCore::CCScrollbarGeometryFixedThumb::clone):
(WebCore::CCScrollbarGeometryFixedThumb::thumbLength):
(WebCore::CCScrollbarGeometryFixedThumb::thumbPosition):
(WebCore::CCScrollbarGeometryFixedThumb::splitTrack):
(WebCore::CCScrollbarGeometryFixedThumb::CCScrollbarGeometryFixedThumb):
* platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Added.
(WebCore):
(CCScrollbarGeometryFixedThumb):
* platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Added.
(WebCore):
(WebCore::CCScrollbarGeometryStub::CCScrollbarGeometryStub):
(WebCore::CCScrollbarGeometryStub::~CCScrollbarGeometryStub):
(WebCore::CCScrollbarGeometryStub::clone):
(WebCore::CCScrollbarGeometryStub::thumbPosition):
(WebCore::CCScrollbarGeometryStub::thumbLength):
(WebCore::CCScrollbarGeometryStub::trackPosition):
(WebCore::CCScrollbarGeometryStub::trackLength):
(WebCore::CCScrollbarGeometryStub::hasButtons):
(WebCore::CCScrollbarGeometryStub::hasThumb):
(WebCore::CCScrollbarGeometryStub::trackRect):
(WebCore::CCScrollbarGeometryStub::thumbRect):
(WebCore::CCScrollbarGeometryStub::minimumThumbLength):
(WebCore::CCScrollbarGeometryStub::scrollbarThickness):
(WebCore::CCScrollbarGeometryStub::backButtonStartRect):
(WebCore::CCScrollbarGeometryStub::backButtonEndRect):
(WebCore::CCScrollbarGeometryStub::forwardButtonStartRect):
(WebCore::CCScrollbarGeometryStub::forwardButtonEndRect):
(WebCore::CCScrollbarGeometryStub::constrainTrackRectToTrackPieces):
(WebCore::CCScrollbarGeometryStub::splitTrack):
* platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Added.
(WebCore):
(CCScrollbarGeometryStub):
(WebCore::CCScrollbarGeometryStub::update):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::setScrollbarGeometry):
(WebCore::CCScrollbarLayerImpl::setScrollbarData):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Update test.

* tests/CCLayerTreeHostImplTest.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp


Added Paths

trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (126790 => 126791)

--- trunk/Source/WebCore/ChangeLog	2012-08-27 20:46:43 UTC (rev 126790)
+++ trunk/Source/WebCore/ChangeLog	2012-08-27 20:48:57 UTC (rev 126791)
@@ -1,3 +1,65 @@
+2012-08-27  Adrienne Walker  
+
+[chromium] Prevent scrollbar thumb size from changing during compositor zoom
+https://bugs.webkit.org/show_bug.cgi?id=94859
+
+Reviewed by James Robinson.
+
+During a pinch zoom, the total size of a scrollable area will change,
+causing the thumb to become a different size. This will cause the
+thumb texture (painted at a specific size) to stretch. To fix this,
+add a new CCScrollbarGeometryFixedThumb class which behaves just like
+a normal WebScrollbarThemeGeometry class, but constrains the thumb to
+be a fixed size.
+
+* WebCore.gypi:
+* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
+* platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Added.
+(WebCore):
+(WebCore::CCScrollbarGeometryFixedThumb::create)

[webkit-changes] [125918] trunk/LayoutTests

2012-08-17 Thread enne
Title: [125918] trunk/LayoutTests








Revision 125918
Author e...@google.com
Date 2012-08-17 11:33:38 -0700 (Fri, 17 Aug 2012)


Log Message
[chromium] Mark indexeddb/resources-panel as also timing out

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125917 => 125918)

--- trunk/LayoutTests/ChangeLog	2012-08-17 18:31:56 UTC (rev 125917)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 18:33:38 UTC (rev 125918)
@@ -1,3 +1,11 @@
+2012-08-17  Adrienne Walker  
+
+[chromium] Mark indexeddb/resources-panel as also timing out
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2012-08-17  Arpita Bahuguna  
 
 ASSERTION FAILED: allocatedMaxLogicalWidth <= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125917 => 125918)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:31:56 UTC (rev 125917)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:33:38 UTC (rev 125918)
@@ -3521,6 +3521,6 @@
 
 BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH
 
-BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH
+BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH TIMEOUT
 
 BUGWK94376 MAC : touchadjustment/context-menu.html = PASS TEXT






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125914] trunk/LayoutTests

2012-08-17 Thread enne
Title: [125914] trunk/LayoutTests








Revision 125914
Author e...@google.com
Date 2012-08-17 11:11:53 -0700 (Fri, 17 Aug 2012)


Log Message
[chromium] Mark context-menu.html as failing on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=94367

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125913 => 125914)

--- trunk/LayoutTests/ChangeLog	2012-08-17 18:01:20 UTC (rev 125913)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 18:11:53 UTC (rev 125914)
@@ -1,5 +1,14 @@
 2012-08-17  Adrienne Walker  
 
+[chromium] Mark context-menu.html as failing on Chromium Mac
+https://bugs.webkit.org/show_bug.cgi?id=94367
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
+2012-08-17  Adrienne Walker  
+
 [chromium] Rebaseline Chromium mac images after r125830
 
 Unreviewed gardening. Expectation update.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125913 => 125914)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:01:20 UTC (rev 125913)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:11:53 UTC (rev 125914)
@@ -3522,3 +3522,5 @@
 BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH
 
 BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH
+
+BUGWK94376 MAC : touchadjustment/context-menu.html = PASS TEXT






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125861] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125861] trunk/LayoutTests








Revision 125861
Author e...@google.com
Date 2012-08-16 23:23:50 -0700 (Thu, 16 Aug 2012)


Log Message
[chromium] Rebaseline media-document-audio-repaint after Chromium r151988

Unreviewed gardening.

* platform/chromium-linux/media/media-document-audio-repaint-expected.png:
* platform/chromium-mac-snowleopard/media/media-document-audio-repaint-expected.png:
* platform/chromium-mac/media/media-document-audio-repaint-expected.png:
* platform/chromium-win/media/media-document-audio-repaint-expected.png:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium-linux/media/media-document-audio-repaint-expected.png
trunk/LayoutTests/platform/chromium-mac/media/media-document-audio-repaint-expected.png
trunk/LayoutTests/platform/chromium-mac-snowleopard/media/media-document-audio-repaint-expected.png
trunk/LayoutTests/platform/chromium-win/media/media-document-audio-repaint-expected.png




Diff

Modified: trunk/LayoutTests/ChangeLog (125860 => 125861)

--- trunk/LayoutTests/ChangeLog	2012-08-17 06:15:48 UTC (rev 125860)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 06:23:50 UTC (rev 125861)
@@ -1,3 +1,14 @@
+2012-08-16  Adrienne Walker  
+
+[chromium] Rebaseline media-document-audio-repaint after Chromium r151988
+
+Unreviewed gardening.
+
+* platform/chromium-linux/media/media-document-audio-repaint-expected.png:
+* platform/chromium-mac-snowleopard/media/media-document-audio-repaint-expected.png:
+* platform/chromium-mac/media/media-document-audio-repaint-expected.png:
+* platform/chromium-win/media/media-document-audio-repaint-expected.png:
+
 2012-08-16  Vsevolod Vlasov  
 
 Web Inspector: Snippet script mapping should not load snippets until workspace reset event is dispatched on scripts panel.


Modified: trunk/LayoutTests/platform/chromium-linux/media/media-document-audio-repaint-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-mac/media/media-document-audio-repaint-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-mac-snowleopard/media/media-document-audio-repaint-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-win/media/media-document-audio-repaint-expected.png

(Binary files differ)





___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125858] trunk/Source/WebCore

2012-08-16 Thread enne
Title: [125858] trunk/Source/WebCore








Revision 125858
Author e...@google.com
Date 2012-08-16 23:02:49 -0700 (Thu, 16 Aug 2012)


Log Message
Unreviewed, rolling out r125829.
http://trac.webkit.org/changeset/125829
https://bugs.webkit.org/show_bug.cgi?id=94299

Maybe causing Chromium AutomationTabHelperBrowserTest failures
(Requested by enne on #webkit).

Patch by Sheriff Bot  on 2012-08-16

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachFromParent):
* loader/FrameLoader.h:
(FrameLoader):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/loader/FrameLoader.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (125857 => 125858)

--- trunk/Source/WebCore/ChangeLog	2012-08-17 05:51:11 UTC (rev 125857)
+++ trunk/Source/WebCore/ChangeLog	2012-08-17 06:02:49 UTC (rev 125858)
@@ -1,3 +1,21 @@
+2012-08-16  Sheriff Bot  
+
+Unreviewed, rolling out r125829.
+http://trac.webkit.org/changeset/125829
+https://bugs.webkit.org/show_bug.cgi?id=94299
+
+Maybe causing Chromium AutomationTabHelperBrowserTest failures
+(Requested by enne on #webkit).
+
+* loader/FrameLoader.cpp:
+(WebCore::FrameLoader::init):
+(WebCore::FrameLoader::prepareForLoadStart):
+(WebCore::FrameLoader::clearProvisionalLoad):
+(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+(WebCore::FrameLoader::detachFromParent):
+* loader/FrameLoader.h:
+(FrameLoader):
+
 2012-08-16  Nico Weber  
 
 [chromium/mac] Remove RenderThemeChromiumMac::paintTextField override


Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (125857 => 125858)

--- trunk/Source/WebCore/loader/FrameLoader.cpp	2012-08-17 05:51:11 UTC (rev 125857)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2012-08-17 06:02:49 UTC (rev 125858)
@@ -165,42 +165,6 @@
 return frame->document() && frame->document()->isSandboxed(mask);
 }
 
-class FrameLoader::FrameProgressTracker {
-public:
-static PassOwnPtr create(Frame* frame) { return adoptPtr(new FrameProgressTracker(frame)); }
-~FrameProgressTracker()
-{
-ASSERT(!m_inProgressCount || m_frame->page());
-for (; m_inProgressCount; m_inProgressCount--)
-m_frame->page()->progress()->progressCompleted(m_frame);
-}
-
-void progressStarted()
-{
-ASSERT(m_frame->page());
-m_inProgressCount++;
-m_frame->page()->progress()->progressStarted(m_frame);
-}
-
-void progressCompleted()
-{
-ASSERT(m_inProgressCount > 0);
-ASSERT(m_frame->page());
-m_inProgressCount--;
-m_frame->page()->progress()->progressCompleted(m_frame);
-}
-
-private:
-FrameProgressTracker(Frame* frame)
-: m_frame(frame)
-, m_inProgressCount(0)
-{
-}
-
-Frame* m_frame;
-int m_inProgressCount;
-};
-
 FrameLoader::FrameLoader(Frame* frame, FrameLoaderClient* client)
 : m_frame(frame)
 , m_client(client)
@@ -264,7 +228,6 @@
 m_didCallImplicitClose = true;
 
 m_networkingContext = m_client->createNetworkingContext();
-m_progressTracker = FrameProgressTracker::create(m_frame);
 }
 
 void FrameLoader::setDefersLoading(bool defers)
@@ -1124,8 +1087,9 @@
 
 void FrameLoader::prepareForLoadStart()
 {
+if (Page* page = m_frame->page())
+page->progress()->progressStarted(m_frame);
 m_client->dispatchDidStartProvisionalLoad();
-m_progressTracker->progressStarted();
 
 // Notify accessibility.
 if (AXObjectCache::accessibilityEnabled()) {
@@ -1682,7 +1646,8 @@
 void FrameLoader::clearProvisionalLoad()
 {
 setProvisionalDocumentLoader(0);
-m_progressTracker->progressCompleted();
+if (Page* page = m_frame->page())
+page->progress()->progressCompleted(m_frame);
 setState(FrameStateComplete);
 }
 
@@ -2158,8 +2123,9 @@
 return;
 
 if (!settings->needsDidFinishLoadOrderQuirk()) {
-m_progressTracker->progressCompleted();
 if (Page* page = m_frame->page()) {
+page->progress()->progressCompleted(m_frame);
+
 if (m_frame == page->mainFrame())
 page->resetRelevantPaintedObjectCounter();
 }
@@ -2177,8 +2143,9 @@
 }
 
 if (settings->needsDidFinishLoadOrderQuirk()) {
-m_progressTracker->progressCompleted();
 if (Page* page = m_frame->page()) {
+page->progress()->progressCompleted(m_frame);
+
 if (m_frame == page->mainFrame())
 

[webkit-changes] [125856] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125856] trunk/LayoutTests








Revision 125856
Author e...@google.com
Date 2012-08-16 22:32:58 -0700 (Thu, 16 Aug 2012)


Log Message
Rebaseline overflow-scroll-overlap to pass on both Mac and Chromium

Unreviewed expectation gardening.

* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt


Added Paths

trunk/LayoutTests/platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (125855 => 125856)

--- trunk/LayoutTests/ChangeLog	2012-08-17 05:24:34 UTC (rev 125855)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 05:32:58 UTC (rev 125856)
@@ -1,3 +1,12 @@
+2012-08-16  Adrienne Walker  
+
+Rebaseline overflow-scroll-overlap to pass on both Mac and Chromium
+
+Unreviewed expectation gardening.
+
+* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
+* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt.
+
 2012-08-16  Yoshifumi Inoue  
 
 [Tests] Remove redundant text from fast/forms/resources/common-change-type-on-focus.js


Modified: trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt (125855 => 125856)

--- trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt	2012-08-17 05:24:34 UTC (rev 125855)
+++ trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt	2012-08-17 05:32:58 UTC (rev 125856)
@@ -12,13 +12,6 @@
   (position 20.00 20.00)
   (bounds 306.00 206.00)
   (drawsContent 1)
-  (children 1
-(GraphicsLayer
-  (position 288.00 3.00)
-  (bounds 15.00 200.00)
-  (drawsContent 1)
-)
-  )
 )
 (GraphicsLayer
   (position 23.00 23.00)


Copied: trunk/LayoutTests/platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt (from rev 125855, trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt) (0 => 125856)

--- trunk/LayoutTests/platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt	2012-08-17 05:32:58 UTC (rev 125856)
@@ -0,0 +1,38 @@
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (children 1
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (children 3
+(GraphicsLayer
+  (position 8.00 8.00)
+  (bounds 30.00 30.00)
+)
+(GraphicsLayer
+  (position 20.00 20.00)
+  (bounds 306.00 206.00)
+  (drawsContent 1)
+  (children 1
+(GraphicsLayer
+  (position 288.00 3.00)
+  (bounds 15.00 200.00)
+  (drawsContent 1)
+)
+  )
+)
+(GraphicsLayer
+  (position 23.00 23.00)
+  (bounds 285.00 200.00)
+  (children 1
+(GraphicsLayer
+  (position 20.00 45.00)
+  (bounds 210.00 100.00)
+  (drawsContent 1)
+)
+  )
+)
+  )
+)
+  )
+)
+






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125844] trunk/Source

2012-08-16 Thread enne
Title: [125844] trunk/Source








Revision 125844
Author e...@google.com
Date 2012-08-16 18:46:22 -0700 (Thu, 16 Aug 2012)


Log Message
Unreviewed, rolling out r125838.
http://trac.webkit.org/changeset/125838
https://bugs.webkit.org/show_bug.cgi?id=94283

Breaks Mac compile due to bug 74625 (Requested by enne on
#webkit).

Patch by Sheriff Bot  on 2012-08-16

Source/WebCore:

* platform/graphics/chromium/cc/CCResourceProvider.cpp:
(WebCore::CCResourceProvider::inUseByConsumer):
(WebCore::CCResourceProvider::createResource):
(WebCore::CCResourceProvider::createResourceFromExternalTexture):
(WebCore::CCResourceProvider::deleteOwnedResources):
(WebCore::CCResourceProvider::CCResourceProvider):
* platform/graphics/chromium/cc/CCResourceProvider.h:
(CCResourceProvider):
(Resource):

Source/WebKit/chromium:

* tests/CCResourceProviderTest.cpp:
(WebKit::ResourceProviderContext::create):
(WebKit::ResourceProviderContext::textureSize):
(ResourceProviderContext):
(WebKit::ResourceProviderContext::ResourceProviderContext):
(WebKit::ResourceProviderContext::Texture::Texture):
(Texture):
(WebKit::CCResourceProviderTest::CCResourceProviderTest):
(CCResourceProviderTest):
(WebKit::TEST_F):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCResourceProviderTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (125843 => 125844)

--- trunk/Source/WebCore/ChangeLog	2012-08-17 01:43:20 UTC (rev 125843)
+++ trunk/Source/WebCore/ChangeLog	2012-08-17 01:46:22 UTC (rev 125844)
@@ -1,3 +1,22 @@
+2012-08-16  Sheriff Bot  
+
+Unreviewed, rolling out r125838.
+http://trac.webkit.org/changeset/125838
+https://bugs.webkit.org/show_bug.cgi?id=94283
+
+Breaks Mac compile due to bug 74625 (Requested by enne on
+#webkit).
+
+* platform/graphics/chromium/cc/CCResourceProvider.cpp:
+(WebCore::CCResourceProvider::inUseByConsumer):
+(WebCore::CCResourceProvider::createResource):
+(WebCore::CCResourceProvider::createResourceFromExternalTexture):
+(WebCore::CCResourceProvider::deleteOwnedResources):
+(WebCore::CCResourceProvider::CCResourceProvider):
+* platform/graphics/chromium/cc/CCResourceProvider.h:
+(CCResourceProvider):
+(Resource):
+
 2012-08-16  Kenneth Russell  
 
 Unreviewed, rolling out r125800.


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp (125843 => 125844)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp	2012-08-17 01:43:20 UTC (rev 125843)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp	2012-08-17 01:46:22 UTC (rev 125844)
@@ -32,7 +32,6 @@
 #include "LayerTextureSubImage.h"
 #include "cc/CCProxy.h"
 #include 
-#include 
 
 using WebKit::WebGraphicsContext3D;
 
@@ -83,7 +82,7 @@
 ASSERT(CCProxy::isImplThread());
 ResourceMap::iterator it = m_resources.find(id);
 ASSERT(it != m_resources.end());
-return !!it->second.lockForReadCount || it->second.exported;
+return !!it->second.lockForReadCount;
 }
 
 CCResourceProvider::ResourceId CCResourceProvider::createResource(int pool, const IntSize& size, GC3Denum format, TextureUsageHint hint)
@@ -110,7 +109,7 @@
 } else
 GLC(context3d, context3d->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, format, size.width(), size.height(), 0, format, GraphicsContext3D::UNSIGNED_BYTE, 0));
 ResourceId id = m_nextId++;
-Resource resource(textureId, pool, size, format);
+Resource resource = {textureId, pool, 0, false, false, size, format};
 m_resources.add(id, resource);
 return id;
 }
@@ -119,9 +118,7 @@
 {
 ASSERT(CCProxy::isImplThread());
 ResourceId id = m_nextId++;
-Resource resource;
-resource.glId = textureId;
-resource.external = true;
+Resource resource = {textureId, 0, 0, false, true, IntSize(), 0};
 m_resources.add(id, resource);
 return id;
 }
@@ -144,12 +141,12 @@
 void CCResourceProvider::deleteOwnedResources(int pool)
 {
 ASSERT(CCProxy::isImplThread());
-ResourceIdArray toDelete;
+Vector toDelete;
 for (ResourceMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) {
 if (it->second.pool == pool && !it->second.external)
 toDelete.append(it->first);
 }
-for (ResourceIdArray::iterator it = toDelete.begin(); it != toDelete.end(); ++it)
+for (Vector::iterator it = toDelete.begin(); it != toDelete.end(); ++it)
 deleteResource(*it);
 }
 
@@ -231,7 +228,6 @@
 CCResourceProvider::CCResourceProvider(CCGraphicsContext* context)
 : m_context(context)
 , m_nextId(1)
-, m_nextChild(1)
 , m_useTextureStorageExt(false)
 , 

[webkit-changes] [125842] branches/chromium/1229/Source/WebCore/platform/graphics/chromium/ AnimationTranslationUtil.cpp

2012-08-16 Thread enne
Title: [125842] branches/chromium/1229/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp








Revision 125842
Author e...@google.com
Date 2012-08-16 18:37:06 -0700 (Thu, 16 Aug 2012)


Log Message
Merge 125702 - [chromium] Must account for empty transformation lists when checking for big rotations.
https://bugs.webkit.org/show_bug.cgi?id=93975

Reviewed by James Robinson.

Source/WebCore:

AnimationTranslationUtil.cpp is supposed to reject large rotations
(>= 180 degrees between keyframes). The current code assumes that if
the lists of transforms at two consecutive keyframes do not match
(i.e., are different types), then do not need to reject. The rationale
is that we will revert to matrix blending -- we will collapse the lists
of transform operations to matrices at each keyframe and blend those.
Unfortunately, this is not true if a list is empty. It can be the case
that we transition from no transform to a rotation about the z axis of
360 degrees. In this case, the first list of transform operations will
be empty and the second will have a single rotation of 360 degrees. An
empty list should be treated as a rotation of zero degrees.

Unit tested in: GraphicsLayerChromiumTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::causesRotationOfAtLeast180Degrees):

Source/WebKit/chromium:

Adds a test to check that creating an animation with a big (> 180
degree) rotation, where the transform operations list in the 1st
keyframe is empty fails as expected.

* tests/AnimationTranslationUtilTest.cpp:
(WebKit::TEST):
(WebKit):


TBR=voll...@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10836307

Modified Paths

branches/chromium/1229/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp




Diff

Modified: branches/chromium/1229/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp (125841 => 125842)

--- branches/chromium/1229/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp	2012-08-17 01:34:24 UTC (rev 125841)
+++ branches/chromium/1229/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp	2012-08-17 01:37:06 UTC (rev 125842)
@@ -153,19 +153,31 @@
 const TransformOperations& operations = *value->value();
 const TransformOperations& lastOperations = *lastValue->value();
 
-// We'll be doing matrix interpolation in this case. No risk of incorrect
-// rotations here.
-if (!operations.operationsMatch(lastOperations))
+// We'll be doing matrix interpolation in this case. No risk of incorrect rotations here.
+if (operations.size() && lastOperations.size() && !operations.operationsMatch(lastOperations))
 return false;
 
-for (size_t i = 0; i < operations.size(); ++i) {
-if (!isRotationType(operations.operations()[i]->getOperationType()))
-continue;
+size_t numOperations = max(operations.size(), lastOperations.size());
+for (size_t i = 0; i < numOperations; ++i) {
+float angle = 0;
+if (i < operations.size()) {
+if (!isRotationType(operations.operations()[i]->getOperationType()))
+continue;
 
-RotateTransformOperation* rotation = static_cast(operations.operations()[i].get());
-RotateTransformOperation* lastRotation = static_cast(lastOperations.operations()[i].get());
+RotateTransformOperation* rotation = static_cast(operations.operations()[i].get());
+angle = rotation->angle();
+}
 
-if (fabs(rotation->angle() - lastRotation->angle()) >= 180)
+float lastAngle = 0;
+if (i < lastOperations.size()) {
+if (!isRotationType(lastOperations.operations()[i]->getOperationType()))
+continue;
+
+RotateTransformOperation* lastRotation = static_cast(lastOperations.operations()[i].get());
+lastAngle = lastRotation->angle();
+}
+
+if (fabs(angle - lastAngle) >= 180)
 return true;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125835] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125835] trunk/LayoutTests








Revision 125835
Author e...@google.com
Date 2012-08-16 18:03:08 -0700 (Thu, 16 Aug 2012)


Log Message
[chromium] Mark fast/forms/file/selected-files-from-history-state.html as failing
https://bugs.webkit.org/show_bug.cgi?id=94278

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125834 => 125835)

--- trunk/LayoutTests/ChangeLog	2012-08-17 00:49:06 UTC (rev 125834)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 01:03:08 UTC (rev 125835)
@@ -1,3 +1,12 @@
+2012-08-16  Adrienne Walker  
+
+[chromium] Mark fast/forms/file/selected-files-from-history-state.html as failing
+https://bugs.webkit.org/show_bug.cgi?id=94278
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2012-08-16  Arnaud Renevier  
 
 Update TypedArrays to throw RangeError or similar instead of INDEX_SIZE_ERR


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125834 => 125835)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 00:49:06 UTC (rev 125834)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 01:03:08 UTC (rev 125835)
@@ -3514,3 +3514,5 @@
 BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH
 
 BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH
+
+BUGWK94278 WIN : fast/forms/file/selected-files-from-history-state.html = TEXT






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125831] trunk/Source/WebCore

2012-08-16 Thread enne
Title: [125831] trunk/Source/WebCore








Revision 125831
Author e...@google.com
Date 2012-08-16 17:18:29 -0700 (Thu, 16 Aug 2012)


Log Message
Unreviewed, rolling out r125717.
http://trac.webkit.org/changeset/125717
https://bugs.webkit.org/show_bug.cgi?id=94272

Likely to be causing Chromium Win Debug extensions browser
tests to fail (Requested by enne on #webkit).

Patch by Sheriff Bot  on 2012-08-16

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::mainThreadNormalWorld):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
(WebCore):
(WebCore::IsolatedWorld::IsolatedWorld):
(WebCore::IsolatedWorld::~IsolatedWorld):
* bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
(WebCore):
(IsolatedWorld):
(WebCore::IsolatedWorld::create):
(WebCore::IsolatedWorld::count):
(WebCore::IsolatedWorld::id):
(WebCore::IsolatedWorld::domDataStore):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
(V8IsolatedContext):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/UseV8.cmake
trunk/Source/WebCore/WebCore.gypi
trunk/Source/WebCore/bindings/v8/DOMWrapperWorld.cpp
trunk/Source/WebCore/bindings/v8/DOMWrapperWorld.h
trunk/Source/WebCore/bindings/v8/V8DOMWrapper.h
trunk/Source/WebCore/bindings/v8/V8IsolatedContext.cpp
trunk/Source/WebCore/bindings/v8/V8IsolatedContext.h


Added Paths

trunk/Source/WebCore/bindings/v8/IsolatedWorld.cpp
trunk/Source/WebCore/bindings/v8/IsolatedWorld.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (125830 => 125831)

--- trunk/Source/WebCore/ChangeLog	2012-08-17 00:10:26 UTC (rev 125830)
+++ trunk/Source/WebCore/ChangeLog	2012-08-17 00:18:29 UTC (rev 125831)
@@ -1,3 +1,43 @@
+2012-08-16  Sheriff Bot  
+
+Unreviewed, rolling out r125717.
+http://trac.webkit.org/changeset/125717
+https://bugs.webkit.org/show_bug.cgi?id=94272
+
+Likely to be causing Chromium Win Debug extensions browser
+tests to fail (Requested by enne on #webkit).
+
+* UseV8.cmake:
+* WebCore.gypi:
+* bindings/v8/DOMWrapperWorld.cpp:
+(WebCore::DOMWrapperWorld::DOMWrapperWorld):
+(WebCore::mainThreadNormalWorld):
+* bindings/v8/DOMWrapperWorld.h:
+(WebCore):
+(WebCore::DOMWrapperWorld::create):
+(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+(DOMWrapperWorld):
+* bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
+(WebCore):
+(WebCore::IsolatedWorld::IsolatedWorld):
+(WebCore::IsolatedWorld::~IsolatedWorld):
+* bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
+(WebCore):
+(IsolatedWorld):
+(WebCore::IsolatedWorld::create):
+(WebCore::IsolatedWorld::count):
+(WebCore::IsolatedWorld::id):
+(WebCore::IsolatedWorld::domDataStore):
+* bindings/v8/V8DOMWrapper.h:
+(WebCore::V8DOMWrapper::getCachedWrapper):
+* bindings/v8/V8IsolatedContext.cpp:
+(WebCore::V8IsolatedContext::V8IsolatedContext):
+(WebCore::V8IsolatedContext::destroy):
+* bindings/v8/V8IsolatedContext.h:
+(WebCore::V8IsolatedContext::getEntered):
+(WebCore::V8IsolatedContext::world):
+(V8IsolatedContext):
+
 2012-08-16  Nico Weber  
 
 Delete ThemeChromiumMac, use ThemeMac in chromium/mac instead


Modified: trunk/Source/WebCore/UseV8.cmake (125830 => 125831)

--- trunk/Source/WebCore/UseV8.cmake	2012-08-17 00:10:26 UTC (rev 125830)
+++ trunk/Source/WebCore/UseV8.cmake	2012-08-17 00:18:29 UTC (rev 125831)
@@ -25,6 +25,7 @@
 bindings/v8/DateExtension.cpp
 bindings/v8/IDBBindingUtilities.cpp
 bindings/v8/IDBCustomBindings.cpp
+bindings/v8/IsolatedWorld.cpp
 bindings/v8/Dictionary.cpp
 bindings/v8/PageScriptDebugServer.cpp
 bindings/v8/RetainedDOMInfo.cpp


Modified: trunk/Source/WebCore/WebCore.gypi (125830 => 125831)

--- trunk/Source/WebCore/WebCore.gypi	2012-08-17 00:10:26 UTC (rev 125830)
+++ trunk/Source/WebCore/WebCore.gypi	2012-08-17 00:18:29 UTC (rev 125831)
@@ -2170,6 +2170,8 @@
 'bindings/v8/IDBBindingUtilities.h',
 'bindings/v8/IDBCustomBindings.cpp',
 'bindings/v8/IntrusiveDOMWrapperMap.h',
+'bindings/v8/IsolatedWorld.cpp',
+'bindings/v8/IsolatedWorld.h',
 'b

[webkit-changes] [125824] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125824] trunk/LayoutTests








Revision 125824
Author e...@google.com
Date 2012-08-16 16:27:28 -0700 (Thu, 16 Aug 2012)


Log Message
Remove text output from overflow-hidden-canvas-layer test
https://bugs.webkit.org/show_bug.cgi?id=94050

Unreviewed gardening.

This was added in r125758 and doesn't need a text dump.

* compositing/overflow/overflow-hidden-canvas-layer-expected.txt:
* compositing/overflow/overflow-hidden-canvas-layer.html:
* platform/chromium-linux/compositing/overflow/overflow-hidden-canvas-layer-expected.txt: Removed.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer-expected.txt
trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer.html


Removed Paths

trunk/LayoutTests/platform/chromium-linux/compositing/overflow/overflow-hidden-canvas-layer-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (125823 => 125824)

--- trunk/LayoutTests/ChangeLog	2012-08-16 23:17:24 UTC (rev 125823)
+++ trunk/LayoutTests/ChangeLog	2012-08-16 23:27:28 UTC (rev 125824)
@@ -1,5 +1,18 @@
 2012-08-16  Adrienne Walker  
 
+Remove text output from overflow-hidden-canvas-layer test
+https://bugs.webkit.org/show_bug.cgi?id=94050
+
+Unreviewed gardening.
+
+This was added in r125758 and doesn't need a text dump.
+
+* compositing/overflow/overflow-hidden-canvas-layer-expected.txt:
+* compositing/overflow/overflow-hidden-canvas-layer.html:
+* platform/chromium-linux/compositing/overflow/overflow-hidden-canvas-layer-expected.txt: Removed.
+
+2012-08-16  Adrienne Walker  
+
 [chromium] Mark http/tests/inspector/indexeddb/resources-panel.html as debug crasher
 https://bugs.webkit.org/show_bug.cgi?id=94261
 


Modified: trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer-expected.txt (125823 => 125824)

--- trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer-expected.txt	2012-08-16 23:17:24 UTC (rev 125823)
+++ trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer-expected.txt	2012-08-16 23:27:28 UTC (rev 125824)
@@ -1,10 +1 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x216
-  RenderBlock {HTML} at (0,0) size 800x216
-RenderBody {BODY} at (8,8) size 784x200
-layer at (8,8) size 200x200 scrollWidth 400 scrollHeight 404
-  RenderBlock {DIV} at (0,0) size 200x200
-RenderText {#text} at (0,0) size 0x0
-layer at (8,8) size 400x400 backgroundClip at (8,8) size 200x200 clip at (8,8) size 200x200 outlineClip at (8,8) size 200x200
-  RenderHTMLCanvas {CANVAS} at (0,0) size 400x400
+


Modified: trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer.html (125823 => 125824)

--- trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer.html	2012-08-16 23:17:24 UTC (rev 125823)
+++ trunk/LayoutTests/compositing/overflow/overflow-hidden-canvas-layer.html	2012-08-16 23:27:28 UTC (rev 125824)
@@ -13,6 +13,8 @@
   

[webkit-changes] [125819] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125819] trunk/LayoutTests








Revision 125819
Author e...@google.com
Date 2012-08-16 15:50:49 -0700 (Thu, 16 Aug 2012)


Log Message
[chromium] Mark http/tests/inspector/indexeddb/resources-panel.html as debug crasher
https://bugs.webkit.org/show_bug.cgi?id=94261

Unreviewed gardening.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125818 => 125819)

--- trunk/LayoutTests/ChangeLog	2012-08-16 22:48:25 UTC (rev 125818)
+++ trunk/LayoutTests/ChangeLog	2012-08-16 22:50:49 UTC (rev 125819)
@@ -1,3 +1,12 @@
+2012-08-16  Adrienne Walker  
+
+[chromium] Mark http/tests/inspector/indexeddb/resources-panel.html as debug crasher
+https://bugs.webkit.org/show_bug.cgi?id=94261
+
+Unreviewed gardening.
+
+* platform/chromium/TestExpectations:
+
 2012-08-16  Mike West  
 
 Refactor CSPDirective to support non-sourcelist types.


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125818 => 125819)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-16 22:48:25 UTC (rev 125818)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-16 22:50:49 UTC (rev 125819)
@@ -3512,3 +3512,5 @@
 BUGWK94156 DEBUG : fast/canvas/fallback-content.html = PASS CRASH
 
 BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH
+
+BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125814] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125814] trunk/LayoutTests








Revision 125814
Author e...@google.com
Date 2012-08-16 15:18:52 -0700 (Thu, 16 Aug 2012)


Log Message
[chromium] Unreviewed gardening. Update expectations.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125813 => 125814)

--- trunk/LayoutTests/ChangeLog	2012-08-16 22:01:24 UTC (rev 125813)
+++ trunk/LayoutTests/ChangeLog	2012-08-16 22:18:52 UTC (rev 125814)
@@ -1,3 +1,9 @@
+2012-08-16  Adrienne Walker  
+
+[chromium] Unreviewed gardening. Update expectations.
+
+* platform/chromium/TestExpectations:
+
 2012-08-16  Ojan Vafai  
 
 Fix test added in r125635. The test failed on non-chromium ports due


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125813 => 125814)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-16 22:01:24 UTC (rev 125813)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-16 22:18:52 UTC (rev 125814)
@@ -3509,3 +3509,6 @@
 
 BUGWK94156 DEBUG : accessibility/canvas-fallback-content.html = PASS CRASH
 BUGWK94156 DEBUG : platform/chromium/virtual/gpu/fast/canvas/fallback-content.html = PASS CRASH
+BUGWK94156 DEBUG : fast/canvas/fallback-content.html = PASS CRASH
+
+BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125789] trunk/LayoutTests

2012-08-16 Thread enne
Title: [125789] trunk/LayoutTests








Revision 125789
Author e...@google.com
Date 2012-08-16 10:20:24 -0700 (Thu, 16 Aug 2012)


Log Message
Make compositing/layer-creation/overflow-scroll-overlap non-flaky
https://bugs.webkit.org/show_bug.cgi?id=94162

Reviewed by James Robinson.

This test has been failing flakily in Chromium with the scrollbar
layer sometimes being composited and sometimes not. This is likely due
to the video flakily being accelerated depending on whether it has
loaded or not.

Fix this test by making it always have a vertical scrollbar and remove
the video with an always-composited div.

* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap.html:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt
trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap.html
trunk/LayoutTests/platform/chromium/TestExpectations


Removed Paths

trunk/LayoutTests/platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (125788 => 125789)

--- trunk/LayoutTests/ChangeLog	2012-08-16 17:16:06 UTC (rev 125788)
+++ trunk/LayoutTests/ChangeLog	2012-08-16 17:20:24 UTC (rev 125789)
@@ -1,3 +1,23 @@
+2012-08-16  Adrienne Walker  
+
+Make compositing/layer-creation/overflow-scroll-overlap non-flaky
+https://bugs.webkit.org/show_bug.cgi?id=94162
+
+Reviewed by James Robinson.
+
+This test has been failing flakily in Chromium with the scrollbar
+layer sometimes being composited and sometimes not. This is likely due
+to the video flakily being accelerated depending on whether it has
+loaded or not.
+
+Fix this test by making it always have a vertical scrollbar and remove
+the video with an always-composited div.
+
+* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
+* compositing/layer-creation/overflow-scroll-overlap.html:
+* platform/chromium/TestExpectations:
+* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.
+
 2012-08-16  Zan Dobersek  
 
 Unreviewed GTK gardening.


Modified: trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt (125788 => 125789)

--- trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt	2012-08-16 17:16:06 UTC (rev 125788)
+++ trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt	2012-08-16 17:20:24 UTC (rev 125789)
@@ -1,4 +1,4 @@
- (GraphicsLayer
+(GraphicsLayer
   (bounds 800.00 600.00)
   (children 1
 (GraphicsLayer
@@ -7,12 +7,18 @@
 (GraphicsLayer
   (position 8.00 8.00)
   (bounds 30.00 30.00)
-  (opacity 0.00)
 )
 (GraphicsLayer
   (position 20.00 20.00)
   (bounds 306.00 206.00)
   (drawsContent 1)
+  (children 1
+(GraphicsLayer
+  (position 288.00 3.00)
+  (bounds 15.00 200.00)
+  (drawsContent 1)
+)
+  )
 )
 (GraphicsLayer
   (position 23.00 23.00)


Modified: trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap.html (125788 => 125789)

--- trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap.html	2012-08-16 17:16:06 UTC (rev 125788)
+++ trunk/LayoutTests/compositing/layer-creation/overflow-scroll-overlap.html	2012-08-16 17:20:24 UTC (rev 125789)
@@ -4,17 +4,17 @@
 
   

[webkit-changes] [125719] trunk/LayoutTests

2012-08-15 Thread enne
Title: [125719] trunk/LayoutTests








Revision 125719
Author e...@google.com
Date 2012-08-15 15:54:36 -0700 (Wed, 15 Aug 2012)


Log Message
[chromium] Mark canvas-fallback-content tests as asserting in debug builds
https://bugs.webkit.org/show_bug.cgi?id=94156

Unreviewed gardening. Update expectations.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125718 => 125719)

--- trunk/LayoutTests/ChangeLog	2012-08-15 22:42:52 UTC (rev 125718)
+++ trunk/LayoutTests/ChangeLog	2012-08-15 22:54:36 UTC (rev 125719)
@@ -1,3 +1,12 @@
+2012-08-15  Adrienne Walker  
+
+[chromium] Mark canvas-fallback-content tests as asserting in debug builds
+https://bugs.webkit.org/show_bug.cgi?id=94156
+
+Unreviewed gardening. Update expectations.
+
+* platform/chromium/TestExpectations:
+
 2012-08-15  Bruno de Oliveira Abinader  
 
 [css3-text] Add CSS3 Text decoration compile flag


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125718 => 125719)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-15 22:42:52 UTC (rev 125718)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-15 22:54:36 UTC (rev 125719)
@@ -3493,3 +3493,6 @@
 BUGWK94063 LION : fast/css/nested-rounded-corners.html = IMAGE+TEXT
 
 BUGWK94078 WIN RELEASE : http/tests/inspector/web-socket-frame-error.html = PASS TEXT
+
+BUGWK94156 DEBUG : accessibility/canvas-fallback-content.html = PASS CRASH
+BUGWK94156 DEBUG : platform/chromium/virtual/gpu/fast/canvas/fallback-content.html = PASS CRASH






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125619] trunk/LayoutTests

2012-08-14 Thread enne
Title: [125619] trunk/LayoutTests








Revision 125619
Author e...@google.com
Date 2012-08-14 16:21:57 -0700 (Tue, 14 Aug 2012)


Log Message
[chromium] Add baselines for video-controls-layer-creation layout test

Unreviewed expectation update.

* compositing/video/video-controls-layer-creation-expected.txt: Added.
* platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-win/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations


Added Paths

trunk/LayoutTests/compositing/video/video-controls-layer-creation-expected.txt
trunk/LayoutTests/platform/chromium-linux/compositing/video/
trunk/LayoutTests/platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png
trunk/LayoutTests/platform/chromium-mac/compositing/video/
trunk/LayoutTests/platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png
trunk/LayoutTests/platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png
trunk/LayoutTests/platform/chromium-win/compositing/video/
trunk/LayoutTests/platform/chromium-win/compositing/video/video-controls-layer-creation-expected.png




Diff

Modified: trunk/LayoutTests/ChangeLog (125618 => 125619)

--- trunk/LayoutTests/ChangeLog	2012-08-14 23:17:08 UTC (rev 125618)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 23:21:57 UTC (rev 125619)
@@ -1,3 +1,16 @@
+2012-08-14  Adrienne Walker  
+
+[chromium] Add baselines for video-controls-layer-creation layout test
+
+Unreviewed expectation update.
+
+* compositing/video/video-controls-layer-creation-expected.txt: Added.
+* platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png: Added.
+* platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png: Added.
+* platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png: Added.
+* platform/chromium-win/compositing/video/video-controls-layer-creation-expected.png: Added.
+* platform/mac/TestExpectations:
+
 2012-08-14  Alexandru Chiculita  
 
 Layout Test css3/filters/custom/custom-filter-animation.html is failing


Added: trunk/LayoutTests/compositing/video/video-controls-layer-creation-expected.txt (0 => 125619)

--- trunk/LayoutTests/compositing/video/video-controls-layer-creation-expected.txt	(rev 0)
+++ trunk/LayoutTests/compositing/video/video-controls-layer-creation-expected.txt	2012-08-14 23:21:57 UTC (rev 125619)
@@ -0,0 +1 @@
+
Property changes on: trunk/LayoutTests/compositing/video/video-controls-layer-creation-expected.txt
___


Added: svn:eol-style

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125618 => 125619)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 23:17:08 UTC (rev 125618)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 23:21:57 UTC (rev 125619)
@@ -3454,9 +3454,6 @@
 // Bug 93148 changed this to a testRunner test and it started timing out on Mac.
 BUGWK93148 MAC : fast/css/nested-layers-with-hover.html = TIMEOUT
 
-// Needs new image to be checked in for all platforms.
-BUGWK93859 : compositing/video/video-controls-layer-creation.html = PASS FAIL
-
 BUGWK93247 DEBUG : fast/lists/list-marker-remove-crash.html = CRASH
 
 BUGWK93565 DEBUG : fast/dom/Document/document-reopen.html = PASS TEXT


Added: trunk/LayoutTests/platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png

(Binary files differ)

Property changes on: trunk/LayoutTests/platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png
___

Added: svn:mime-type

Added: trunk/LayoutTests/platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png

(Binary files differ)

Property changes on: trunk/LayoutTests/platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png
___

Added: svn:mime-type

Added: trunk/LayoutTests/platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png

(Binary files differ)

Property changes on: trunk/LayoutTests/platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png
___

Added: svn:mime-type

Added: trunk/LayoutTests/platform/chromium-wi

[webkit-changes] [125597] trunk

2012-08-14 Thread enne
Title: [125597] trunk








Revision 125597
Author e...@google.com
Date 2012-08-14 13:44:35 -0700 (Tue, 14 Aug 2012)


Log Message
REGRESSION (r109851): Video controls do not render
https://bugs.webkit.org/show_bug.cgi?id=93859

Reviewed by Simon Fraser.

Source/WebCore:

Because video layers can't act as an ancestor composited layer whose
backing can be shared by child layers, any child layer of a video
layer needs to be put into its own composited layer. Because this is
technically overlap, the "overlap" indirect compositing reason is
reused for this case.

Test: compositing/video/video-controls-layer-creation.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

LayoutTests:

Convert jernoble's test into a layout test.

* compositing/video/video-controls-layer-creation.html: Added.
* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp


Added Paths

trunk/LayoutTests/compositing/video/video-controls-layer-creation.html




Diff

Modified: trunk/LayoutTests/ChangeLog (125596 => 125597)

--- trunk/LayoutTests/ChangeLog	2012-08-14 20:30:52 UTC (rev 125596)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 20:44:35 UTC (rev 125597)
@@ -1,3 +1,16 @@
+2012-08-13  Adrienne Walker  
+
+REGRESSION (r109851): Video controls do not render
+https://bugs.webkit.org/show_bug.cgi?id=93859
+
+Reviewed by Simon Fraser.
+
+Convert jernoble's test into a layout test.
+
+* compositing/video/video-controls-layer-creation.html: Added.
+* platform/chromium/TestExpectations:
+* platform/mac/TestExpectations:
+
 2012-08-14  Robert Hogan  
 
 Update Test Expectations to consolidate bug refs for new tests added


Added: trunk/LayoutTests/compositing/video/video-controls-layer-creation.html (0 => 125597)

--- trunk/LayoutTests/compositing/video/video-controls-layer-creation.html	(rev 0)
+++ trunk/LayoutTests/compositing/video/video-controls-layer-creation.html	2012-08-14 20:44:35 UTC (rev 125597)
@@ -0,0 +1,39 @@
+
+
+
+
+div {
+-webkit-transform:translateZ(0);
+position: absolute;
+top: 100px;
+left: 0px;
+width: 300px;
+height: 300px;
+background-color: white;
+z-index: 2;
+}
+video {
+position: absolute;
+top: 0px;
+left: 0px;
+width: 272px;
+height: 153px;
+z-index: 3;
+}
+
+
+
+if (window.testRunner)
+testRunner.dumpAsText(true);
+
+
+
+
+
+
+
+
+
+
+
+
Property changes on: trunk/LayoutTests/compositing/video/video-controls-layer-creation.html
___


Added: svn:eol-style

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125596 => 125597)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 20:30:52 UTC (rev 125596)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 20:44:35 UTC (rev 125597)
@@ -3454,6 +3454,8 @@
 // Bug 93148 changed this to a testRunner test and it started timing out on Mac.
 BUGWK93148 MAC : fast/css/nested-layers-with-hover.html = TIMEOUT
 
+// Needs new image to be checked in for all platforms.
+BUGWK93859 : compositing/video/video-controls-layer-creation.html = PASS FAIL
 
 BUGWK93247 DEBUG : fast/lists/list-marker-remove-crash.html = CRASH
 


Modified: trunk/LayoutTests/platform/mac/TestExpectations (125596 => 125597)

--- trunk/LayoutTests/platform/mac/TestExpectations	2012-08-14 20:30:52 UTC (rev 125596)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2012-08-14 20:44:35 UTC (rev 125597)
@@ -349,6 +349,9 @@
 BUGWK91969 : fast/dom/HTMLProgressElement/progress-writing-mode.html = TEXT
 BUGWK91969 : fast/dom/HTMLProgressElement/indeterminate-progress-001.html = TEXT
 
+// Needs new image to be checked in for all platforms.
+BUGWK93859 : compositing/video/video-controls-layer-creation.html = PASS FAIL
+
 // Require rebaseline after bug 93148
 BUGWK93148 : tables/mozilla_expected_failures/bugs/bug106966.html = TEXT
 BUGWK93148 : tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody.html = TEXT


Modified: trunk/Source/WebCore/ChangeLog (125596 => 125597)

--- trunk/Source/WebCore/ChangeLog	2012-08-14 20:30:52 UTC (rev 125596)
+++ trunk/Source/WebCore/ChangeLog	2012-08-14 20:44:35 UTC (rev 125597)
@@ -1,3 +1,21 @@
+2012-08-13  Adrienne Walker  
+
+REGRESSION (r109851): Video controls do not render
+https://bugs.webkit.org/show_bug.cgi?id=93859
+
+Reviewed by Simon Fraser.
+
+Because video layers can't act as an ancestor composited layer whose
+backing can be share

[webkit-changes] [125595] trunk/LayoutTests

2012-08-14 Thread enne
Title: [125595] trunk/LayoutTests








Revision 125595
Author e...@google.com
Date 2012-08-14 13:06:48 -0700 (Tue, 14 Aug 2012)


Log Message
[chromium] Mark css2.1/20110323/c541-word-sp-000.htm as failing on Windows Chromium
https://bugs.webkit.org/show_bug.cgi?id=94017

Unreviewed gardening. Expectation update.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125594 => 125595)

--- trunk/LayoutTests/ChangeLog	2012-08-14 20:02:05 UTC (rev 125594)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 20:06:48 UTC (rev 125595)
@@ -1,3 +1,12 @@
+2012-08-14  Adrienne Walker  
+
+[chromium] Mark css2.1/20110323/c541-word-sp-000.htm as failing on Windows Chromium
+https://bugs.webkit.org/show_bug.cgi?id=94017
+
+Unreviewed gardening. Expectation update.
+
+* platform/chromium/TestExpectations:
+
 2012-08-14  Robert Hogan  
 
 Update Test Expectations after r125578


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125594 => 125595)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 20:02:05 UTC (rev 125594)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 20:06:48 UTC (rev 125595)
@@ -3492,5 +3492,5 @@
 // Added by bug 89826
 BUGWK94003 MAC : fast/css/word-spacing-characters.html = IMAGE
 BUGWK94003 MAC : fast/css/word-spacing-characters-complex-text.html = IMAGE
-
 BUGWK94010 DEBUG : fast/regex/unicodeCaseInsensitive.html = PASS CRASH
+BUGWK94017 WIN : css2.1/20110323/c541-word-sp-000.htm = IMAGE






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125587] trunk/LayoutTests

2012-08-14 Thread enne
Title: [125587] trunk/LayoutTests








Revision 125587
Author e...@google.com
Date 2012-08-14 11:54:32 -0700 (Tue, 14 Aug 2012)


Log Message
[chromium] Mark fast/regex/unicodeCaseInsensitive.html expectation as crashing
https://bugs.webkit.org/show_bug.cgi?id=94010

Unreviewed gardening. Update expectations.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125586 => 125587)

--- trunk/LayoutTests/ChangeLog	2012-08-14 18:53:23 UTC (rev 125586)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 18:54:32 UTC (rev 125587)
@@ -1,3 +1,12 @@
+2012-08-14  Adrienne Walker  
+
+[chromium] Mark fast/regex/unicodeCaseInsensitive.html expectation as crashing
+https://bugs.webkit.org/show_bug.cgi?id=94010
+
+Unreviewed gardening. Update expectations.
+
+* platform/chromium/TestExpectations:
+
 2012-08-14  Robert Hogan  
 
 Update Test Expectations after r125578


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125586 => 125587)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 18:53:23 UTC (rev 125586)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 18:54:32 UTC (rev 125587)
@@ -3489,3 +3489,5 @@
 // Added by bug 89826
 BUGWK94003 MAC : fast/css/word-spacing-characters.html = IMAGE
 BUGWK94003 MAC : fast/css/word-spacing-characters-complex-text.html = IMAGE
+
+BUGWK94010 DEBUG : fast/regex/unicodeCaseInsensitive.html = PASS CRASH






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125582] trunk/LayoutTests

2012-08-14 Thread enne
Title: [125582] trunk/LayoutTests








Revision 125582
Author e...@google.com
Date 2012-08-14 10:58:08 -0700 (Tue, 14 Aug 2012)


Log Message
[chromium] Mark inspector/debugger tests as flaky timeout on Win7
https://bugs.webkit.org/show_bug.cgi?id=94002

Unreviewed gardening. Update expectations.

* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (125581 => 125582)

--- trunk/LayoutTests/ChangeLog	2012-08-14 17:55:03 UTC (rev 125581)
+++ trunk/LayoutTests/ChangeLog	2012-08-14 17:58:08 UTC (rev 125582)
@@ -1,3 +1,12 @@
+2012-08-14  Adrienne Walker  
+
+[chromium] Mark inspector/debugger tests as flaky timeout on Win7
+https://bugs.webkit.org/show_bug.cgi?id=94002
+
+Unreviewed gardening. Update expectations.
+
+* platform/chromium/TestExpectations:
+
 2012-06-24  Robert Hogan  
 
 CSS 2.1 failure: Word-spacing affects each space and non-breaking space


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125581 => 125582)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 17:55:03 UTC (rev 125581)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-14 17:58:08 UTC (rev 125582)
@@ -3484,3 +3484,4 @@
 // Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
 BUGWK89826 MAC WIN : fast/css/word-space-extra.html = IMAGE+TEXT
 
+BUGWK94002 WIN7 : inspector/debugger = PASS TIMEOUT






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [125130] trunk/Source

2012-08-08 Thread enne
Title: [125130] trunk/Source








Revision 125130
Author e...@google.com
Date 2012-08-08 18:04:31 -0700 (Wed, 08 Aug 2012)


Log Message
[chromium] Move scrollbar pointer into WebScrollbarThemePainter
https://bugs.webkit.org/show_bug.cgi?id=93541

Reviewed by James Robinson.

Source/Platform:

Update WebScrollbarThemePainter to encapsulate a pointer to the
scrollbar as well. Lion scrollbars and RenderScrollbars are both
incompatible with wrapping a scrollbar in a WebScrollbar.

ScrollbarTheme(Chromium)Mac attaches extra data to a scrollbar based
on the pointer value (via a static map keyed on the pointer) so
passing an object that returns all the same values for the
ScrollbarThemeClient interface but has a different pointer will fail
to paint.

RenderScrollbar does static casts on the ScrollbarThemeClient pointer
that it is passed, assuming that it is the same. Therefore, it also
cannot use a WebScrollbar.

To fix this, push the real scrollbar pointer into the painter.

* chromium/public/WebScrollbarThemePainter.h:
(WebCore):
(WebKit::WebScrollbarThemePainter::WebScrollbarThemePainter):
(WebScrollbarThemePainter):

Source/WebCore:

Update clients of WebScrollbarThemePainter.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:

Source/WebKit/chromium:

Fix WebScrollbarThemePainter implementation to make direct calls on
the scrollbar rather than through the WebScrollbarThemeClientImpl
adapter.

* src/WebScrollbarThemePainter.cpp:
(WebKit::WebScrollbarThemePainter::assign):
(WebKit::WebScrollbarThemePainter::paintScrollbarBackground):
(WebKit::WebScrollbarThemePainter::paintTrackBackground):
(WebKit::WebScrollbarThemePainter::paintBackTrackPart):
(WebKit::WebScrollbarThemePainter::paintForwardTrackPart):
(WebKit::WebScrollbarThemePainter::paintBackButtonStart):
(WebKit::WebScrollbarThemePainter::paintBackButtonEnd):
(WebKit::WebScrollbarThemePainter::paintForwardButtonStart):
(WebKit::WebScrollbarThemePainter::paintForwardButtonEnd):
(WebKit::WebScrollbarThemePainter::paintTickmarks):
(WebKit::WebScrollbarThemePainter::paintThumb):
(WebKit::WebScrollbarThemePainter::WebScrollbarThemePainter):
* tests/ScrollbarLayerChromiumTest.cpp:
(WebCore::TEST):

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/chromium/public/WebScrollbarThemePainter.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebScrollbarThemePainter.cpp
trunk/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp




Diff

Modified: trunk/Source/Platform/ChangeLog (125129 => 125130)

--- trunk/Source/Platform/ChangeLog	2012-08-09 01:02:07 UTC (rev 125129)
+++ trunk/Source/Platform/ChangeLog	2012-08-09 01:04:31 UTC (rev 125130)
@@ -1,3 +1,31 @@
+2012-08-08  Adrienne Walker  
+
+[chromium] Move scrollbar pointer into WebScrollbarThemePainter
+https://bugs.webkit.org/show_bug.cgi?id=93541
+
+Reviewed by James Robinson.
+
+Update WebScrollbarThemePainter to encapsulate a pointer to the
+scrollbar as well. Lion scrollbars and RenderScrollbars are both
+incompatible with wrapping a scrollbar in a WebScrollbar.
+
+ScrollbarTheme(Chromium)Mac attaches extra data to a scrollbar based
+on the pointer value (via a static map keyed on the pointer) so
+passing an object that returns all the same values for the
+ScrollbarThemeClient interface but has a different pointer will fail
+to paint.
+
+RenderScrollbar does static casts on the ScrollbarThemeClient pointer
+that it is passed, assuming that it is the same. Therefore, it also
+cannot use a WebScrollbar.
+
+To fix this, push the real scrollbar pointer into the painter.
+
+* chromium/public/WebScrollbarThemePainter.h:
+(WebCore):
+(WebKit::WebScrollbarThemePainter::WebScrollbarThemePainter):
+(WebScrollbarThemePainter):
+
 2012-08-07  James Robinson  
 
 [chromium] Only use public Platform API in NonCompositedContentHost


Modified: trunk/Source/Platform/chromium/public/WebScrollbarThemePainter.h (125129 => 125130)

--- trunk/Source/Platform/chromium/public/WebScrollbarThemePainter.h	2012-08-09 01:02:07 UTC (rev 125129)
+++ trunk/Source/Platform/chromium/public/WebScrollbarThemePainter.h	2012-08-09 01:04:31 UTC (rev 125130)
@@ -30,6 +30,7 @@
 
 namespace WebCore {
 class ScrollbarThemeComposite;
+class Scrollbar;
 };
 
 namespace WebKit {
@@ -40,7 +41,7 @@
 class WebScrollbarThemePainter {
 public:
 WebScrollbarThemePainter() : m_theme(0) { }
-WebScrollbarThemePainter(const WebScrollbarThemePainter& geometry) { assign(geometry); }
+WebScrollbarThemePainter(const WebScrollbarThemePainter& painter) { assign(paint

[webkit-changes] [124919] trunk/Source/WebCore

2012-08-07 Thread enne
Title: [124919] trunk/Source/WebCore








Revision 124919
Author e...@google.com
Date 2012-08-07 14:33:31 -0700 (Tue, 07 Aug 2012)


Log Message
50% fixed position coverage slow scroll heuristic is incorrect when invalidations aren't clipped
https://bugs.webkit.org/show_bug.cgi?id=92011

Reviewed by Simon Fraser.

The heuristic in scrollContentsFastPath to slow scroll by invalidating
the entire frame if fixed position elements cover 50% of the frame
takes away the ability of ports to make their own decisions about how
to best handle invalidations. Therefore, remove this heuristic.

* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FrameView.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (124918 => 124919)

--- trunk/Source/WebCore/ChangeLog	2012-08-07 21:31:32 UTC (rev 124918)
+++ trunk/Source/WebCore/ChangeLog	2012-08-07 21:33:31 UTC (rev 124919)
@@ -1,3 +1,18 @@
+2012-08-07  Adrienne Walker  
+
+50% fixed position coverage slow scroll heuristic is incorrect when invalidations aren't clipped
+https://bugs.webkit.org/show_bug.cgi?id=92011
+
+Reviewed by Simon Fraser.
+
+The heuristic in scrollContentsFastPath to slow scroll by invalidating
+the entire frame if fixed position elements cover 50% of the frame
+takes away the ability of ports to make their own decisions about how
+to best handle invalidations. Therefore, remove this heuristic.
+
+* page/FrameView.cpp:
+(WebCore::FrameView::scrollContentsFastPath):
+
 2012-08-07  Konrad Piascik  
 
 [BlackBerry] Change how devicePixelRatio is set.


Modified: trunk/Source/WebCore/page/FrameView.cpp (124918 => 124919)

--- trunk/Source/WebCore/page/FrameView.cpp	2012-08-07 21:31:32 UTC (rev 124918)
+++ trunk/Source/WebCore/page/FrameView.cpp	2012-08-07 21:33:31 UTC (rev 124919)
@@ -1491,10 +1491,6 @@
 regionToUpdate.unite(updateRect);
 }
 
-// The area to be painted by fixed objects exceeds 50% of the area of the view, we cannot use the fast path.
-if (regionToUpdate.totalArea() > (clipRect.width() * clipRect.height() * 0.5))
-return false;
-
 // 1) scroll
 hostWindow()->scroll(scrollDelta, rectToScroll, clipRect);
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [124516] trunk/Source/WebCore

2012-08-02 Thread enne
Title: [124516] trunk/Source/WebCore








Revision 124516
Author e...@google.com
Date 2012-08-02 15:47:38 -0700 (Thu, 02 Aug 2012)


Log Message
[chromium] Remove dependency on Scrollbar.h from ScrollbarLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=93024

Reviewed by James Robinson.

Change part enum from the Scrollbar version to WebScrollbar's.

Tested by composited layout tests.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (124515 => 124516)

--- trunk/Source/WebCore/ChangeLog	2012-08-02 22:46:01 UTC (rev 124515)
+++ trunk/Source/WebCore/ChangeLog	2012-08-02 22:47:38 UTC (rev 124516)
@@ -1,3 +1,20 @@
+2012-08-02  Adrienne Walker  
+
+[chromium] Remove dependency on Scrollbar.h from ScrollbarLayerChromium
+https://bugs.webkit.org/show_bug.cgi?id=93024
+
+Reviewed by James Robinson.
+
+Change part enum from the Scrollbar version to WebScrollbar's.
+
+Tested by composited layout tests.
+
+* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+(WebCore::ScrollbarBackgroundPainter::create):
+(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
+(ScrollbarBackgroundPainter):
+(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
+
 2012-08-02  Adam Barth  
 
 BindingSecurityBase serves no purpose and should be removed


Modified: trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp (124515 => 124516)

--- trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp	2012-08-02 22:46:01 UTC (rev 124515)
+++ trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp	2012-08-02 22:47:38 UTC (rev 124516)
@@ -30,7 +30,6 @@
 
 #include "BitmapCanvasLayerTextureUpdater.h"
 #include "LayerPainterChromium.h"
-#include "Scrollbar.h"
 #include "cc/CCLayerTreeHost.h"
 #include "cc/CCScrollbarLayerImpl.h"
 #include "cc/CCTextureUpdater.h"
@@ -86,7 +85,7 @@
 class ScrollbarBackgroundPainter : public LayerPainterChromium {
 WTF_MAKE_NONCOPYABLE(ScrollbarBackgroundPainter);
 public:
-static PassOwnPtr create(WebKit::WebScrollbar* scrollbar, WebKit::WebScrollbarThemePainter painter, WebKit::WebScrollbarThemeGeometry geometry, ScrollbarPart trackPart)
+static PassOwnPtr create(WebKit::WebScrollbar* scrollbar, WebKit::WebScrollbarThemePainter painter, WebKit::WebScrollbarThemeGeometry geometry, WebKit::WebScrollbar::ScrollbarPart trackPart)
 {
 return adoptPtr(new ScrollbarBackgroundPainter(scrollbar, painter, geometry, trackPart));
 }
@@ -116,7 +115,7 @@
 
 bool thumbPresent = m_geometry.hasThumb(m_scrollbar);
 if (thumbPresent) {
-if (m_trackPart == ForwardTrackPart)
+if (m_trackPart == WebKit::WebScrollbar::ForwardTrackPart)
 m_painter.paintForwardTrackPart(canvas, m_scrollbar, trackPaintRect);
 else
 m_painter.paintBackTrackPart(canvas, m_scrollbar, trackPaintRect);
@@ -125,7 +124,7 @@
 m_painter.paintTickmarks(canvas, m_scrollbar, trackPaintRect);
 }
 private:
-ScrollbarBackgroundPainter(WebKit::WebScrollbar* scrollbar, WebKit::WebScrollbarThemePainter painter, WebKit::WebScrollbarThemeGeometry geometry, ScrollbarPart trackPart)
+ScrollbarBackgroundPainter(WebKit::WebScrollbar* scrollbar, WebKit::WebScrollbarThemePainter painter, WebKit::WebScrollbarThemeGeometry geometry, WebKit::WebScrollbar::ScrollbarPart trackPart)
 : m_scrollbar(scrollbar)
 , m_painter(painter)
 , m_geometry(geometry)
@@ -136,7 +135,7 @@
 WebKit::WebScrollbar* m_scrollbar;
 WebKit::WebScrollbarThemePainter m_painter;
 WebKit::WebScrollbarThemeGeometry m_geometry;
-ScrollbarPart m_trackPart;
+WebKit::WebScrollbar::ScrollbarPart m_trackPart;
 };
 
 class ScrollbarThumbPainter : public LayerPainterChromium {
@@ -188,14 +187,14 @@
 m_textureFormat = layerTreeHost()->layerRendererCapabilities().bestTextureFormat;
 
 if (!m_backTrackUpdater)
-m_backTrackUpdater = BitmapCanvasLayerTextureUpdater::create(ScrollbarBackgroundPainter::create(m_scrollbar.get(), m_painter, m_geometry, BackTrackPart));
+m_backTrackUpdater = BitmapCanvasLayerTextureUpdater::create(ScrollbarBackgroundPainter::create(m_scrollbar.get(), m_painter, m_geometry, WebKit::WebScrollbar::BackTrackPart));
 if (!m_backTrack)
 m_backTrack = m_backTrackUpdater->createTexture(layerTreeHost()->contentsTextureManager());
 
 // Only create two-part track if we think the two parts could be different in appearance.
 if (m_sc

[webkit-changes] [124511] trunk/Source

2012-08-02 Thread enne
Title: [124511] trunk/Source








Revision 124511
Author e...@google.com
Date 2012-08-02 15:29:38 -0700 (Thu, 02 Aug 2012)


Log Message
[chromium] Make CCScrollbarLayerImpl handle lost contexts properly
https://bugs.webkit.org/show_bug.cgi?id=93021

Reviewed by James Robinson.

Source/WebCore:

The resource ids that CCScrollbarLayerImpl holds onto need to be
discarded during a lost context as the resource provider they came
from is also destroyed.

Make a scrollbarGeometry function that wraps all uses of the
m_geometry member to make it possible to test CCScrollbarLayerImpl
without depending on WebCore.

Test: CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext

* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
(WebCore):
(WebCore::CCScrollbarLayerImpl::appendQuads):
(WebCore::CCScrollbarLayerImpl::didLoseContext):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Add CCScrollbarLayerImpl to the dontUseOldResourceAfterLostContext
test. Additionally, modify this test so that stale resource ids
properly point at invalid texture ids so that the test actually tests
what it is supposed to be testing.

* tests/CCLayerTreeHostImplTest.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (124510 => 124511)

--- trunk/Source/WebCore/ChangeLog	2012-08-02 22:24:08 UTC (rev 124510)
+++ trunk/Source/WebCore/ChangeLog	2012-08-02 22:29:38 UTC (rev 124511)
@@ -1,3 +1,28 @@
+2012-08-02  Adrienne Walker  
+
+[chromium] Make CCScrollbarLayerImpl handle lost contexts properly
+https://bugs.webkit.org/show_bug.cgi?id=93021
+
+Reviewed by James Robinson.
+
+The resource ids that CCScrollbarLayerImpl holds onto need to be
+discarded during a lost context as the resource provider they came
+from is also destroyed.
+
+Make a scrollbarGeometry function that wraps all uses of the
+m_geometry member to make it possible to test CCScrollbarLayerImpl
+without depending on WebCore.
+
+Test: CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext
+
+* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+(WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
+(WebCore):
+(WebCore::CCScrollbarLayerImpl::appendQuads):
+(WebCore::CCScrollbarLayerImpl::didLoseContext):
+* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+(CCScrollbarLayerImpl):
+
 2012-08-02  Oliver Hunt  
 
 A few objects aren't being safely protected from GC in all cases


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp (124510 => 124511)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp	2012-08-02 22:24:08 UTC (rev 124510)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp	2012-08-02 22:29:38 UTC (rev 124511)
@@ -86,6 +86,13 @@
  static_cast(r.width) / bounds.width, static_cast(r.height) / bounds.height);
 }
 
+void CCScrollbarLayerImpl::scrollbarGeometry(WebRect& thumbRect, WebRect& backTrackRect, WebRect& foreTrackRect)
+{
+m_geometry.splitTrack(&m_scrollbar, m_geometry.trackRect(&m_scrollbar), backTrackRect, thumbRect, foreTrackRect);
+if (!m_geometry.hasThumb(&m_scrollbar))
+thumbRect = WebRect();
+}
+
 void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadList, const CCSharedQuadState* sharedQuadState, bool&)
 {
 bool premultipledAlpha = false;
@@ -94,9 +101,9 @@
 IntRect boundsRect(IntPoint(), contentBounds());
 
 WebRect thumbRect, backTrackRect, foreTrackRect;
-m_geometry.splitTrack(&m_scrollbar, m_geometry.trackRect(&m_scrollbar), backTrackRect, thumbRect, foreTrackRect);
+scrollbarGeometry(thumbRect, backTrackRect, foreTrackRect);
 
-if (m_thumbResourceId && m_geometry.hasThumb(&m_scrollbar) && !thumbRect.isEmpty()) {
+if (m_thumbResourceId && !thumbRect.isEmpty()) {
 OwnPtr quad = CCTextureDrawQuad::create(sharedQuadState, IntRect(thumbRect), m_thumbResourceId, premultipledAlpha, uvRect, flipped);
 quad->setNeedsBlending();
 quadList.append(quad.release());
@@ -115,6 +122,13 @@
 quadList.append(CCTextureDrawQuad::create(sharedQuadState, IntRect(boundsRect), m_backTrackResourceId, premultipledAlpha, uvRect, flipped));
 }
 
+void CCScrollbarLayerImpl::didLoseContext()
+{
+m_backTrackResourceId = 0;
+m_foreTrackResourceId = 0;
+m_thumbResourceId = 0;
+}
+
 bool CCScrollbarLayerImpl::CCScrollbar::isOverlay() const
 {
 return m_owner->m_isOverlayScrollbar;


Modified: trunk/Source/WebCor

[webkit-changes] [124222] trunk/LayoutTests

2012-07-31 Thread enne
Title: [124222] trunk/LayoutTests








Revision 124222
Author e...@google.com
Date 2012-07-31 11:13:41 -0700 (Tue, 31 Jul 2012)


Log Message
[Chromium] transforms/3d/point-mapping/3d-point-mapping-*.html failing on Win
https://bugs.webkit.org/show_bug.cgi?id=92707

Unreviewed, updating expectations after r124052.

For efficiency's sake, ScrollbarLayerChromium doesn't draw the top and
bottom part of the track differently on "native" scrollbars. This
changes the way the mock Windows scrollbars look in tests.

* platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png: Removed.
* platform/chromium-win-xp/compositing/geometry/fixed-position-iframe-composited-page-scale-down-expected.png: Removed.
* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png:
* platform/chromium/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/TestExpectations
trunk/LayoutTests/platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
trunk/LayoutTests/platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-expected.png
trunk/LayoutTests/platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
trunk/LayoutTests/platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png


Removed Paths

trunk/LayoutTests/platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
trunk/LayoutTests/platform/chromium-win-xp/compositing/geometry/fixed-position-iframe-composited-page-scale-down-expected.png




Diff

Modified: trunk/LayoutTests/ChangeLog (124221 => 124222)

--- trunk/LayoutTests/ChangeLog	2012-07-31 17:43:30 UTC (rev 124221)
+++ trunk/LayoutTests/ChangeLog	2012-07-31 18:13:41 UTC (rev 124222)
@@ -1,3 +1,22 @@
+2012-07-31  Adrienne Walker  
+
+[Chromium] transforms/3d/point-mapping/3d-point-mapping-*.html failing on Win
+https://bugs.webkit.org/show_bug.cgi?id=92707
+
+Unreviewed, updating expectations after r124052.
+
+For efficiency's sake, ScrollbarLayerChromium doesn't draw the top and
+bottom part of the track differently on "native" scrollbars. This
+changes the way the mock Windows scrollbars look in tests.
+
+* platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png: Removed.
+* platform/chromium-win-xp/compositing/geometry/fixed-position-iframe-composited-page-scale-down-expected.png: Removed.
+* platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png:
+* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-expected.png:
+* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
+* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png:
+* platform/chromium/TestExpectations:
+
 2012-07-31  Michael Saboff  
 
 inspector/profiler/heap-snapshot-containment-show-all.html test crashing during WebView closing


Modified: trunk/LayoutTests/platform/chromium/TestExpectations (124221 => 124222)

--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-07-31 17:43:30 UTC (rev 124221)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-07-31 18:13:41 UTC (rev 124222)
@@ -3628,8 +3628,3 @@
 BUGCR131189 : platform/chromium/virtual/gpu/canvas/philip/tests/2d.transformation.setTransform.skewed.html = TEXT
 BUGCR131189 : platform/chromium/virtual/gpu/canvas/philip/tests/2d.transformation.transform.skewed.html = TEXT
 
-BUGWK92707 WIN : transforms/3d/point-mapping/3d-point-mapping.html = IMAGE
-BUGWK92707 WIN : transforms/3d/point-mapping/3d-point-mapping-origins.html = IMAGE
-BUGWK92707 WIN : transforms/3d/point-mapping/3d-point-mapping-preserve-3d.html = IMAGE
-BUGWK92707 WIN : compositing/geometry/fixed-position-iframe-composited-page-scale-down.html = IMAGE PASS
-BUGWK92707 WIN : platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment.html = IMAGE


Deleted: trunk/LayoutTests/platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-win/transforms/3d/point-mapping/3d-point-mapp

[webkit-changes] [124160] trunk/Source

2012-07-30 Thread enne
Title: [124160] trunk/Source








Revision 124160
Author e...@google.com
Date 2012-07-30 20:02:52 -0700 (Mon, 30 Jul 2012)


Log Message
[chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer
https://bugs.webkit.org/show_bug.cgi?id=91032

Reviewed by James Robinson.

Source/Platform:

Add WebScrollbarLayer class to the Platform API.

* Platform.gypi:
* chromium/public/WebScrollbarLayer.h: Added.
(WebCore):
(WebKit):
(WebScrollbarLayer):
(WebKit::WebScrollbarLayer::WebScrollbarLayer):
(WebKit::WebScrollbarLayer::~WebScrollbarLayer):
(WebKit::WebScrollbarLayer::operator=):

Source/WebCore:

Modify ScrollingCoordinatorChromium to operate on WebScrollbarLayer
instead of ScrollbarLayerChromium. This removes the dependency on
ScrollbarLayerChromium.

No change in functionality, so no new tests.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(ScrollingCoordinatorPrivate):
(WebCore::createScrollbarLayer):

Source/WebKit/chromium:

Add implementation of WebScrollbarLayer to the client API.

* WebKit.gyp:
* src/WebScrollbarLayer.cpp: Added.
(WebKit):
(WebKit::WebScrollbarLayer::setScrollLayer):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayer::WebScrollbarLayer):
(WebKit::WebScrollbarLayer::operator=):
(WebKit::WebScrollbarLayer::operator PassRefPtr):

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/Platform.gypi
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/WebKit.gyp


Added Paths

trunk/Source/Platform/chromium/public/WebScrollbarLayer.h
trunk/Source/WebKit/chromium/src/WebScrollbarLayer.cpp




Diff

Modified: trunk/Source/Platform/ChangeLog (124159 => 124160)

--- trunk/Source/Platform/ChangeLog	2012-07-31 02:57:28 UTC (rev 124159)
+++ trunk/Source/Platform/ChangeLog	2012-07-31 03:02:52 UTC (rev 124160)
@@ -1,3 +1,21 @@
+2012-07-30  Adrienne Walker  
+
+[chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer
+https://bugs.webkit.org/show_bug.cgi?id=91032
+
+Reviewed by James Robinson.
+
+Add WebScrollbarLayer class to the Platform API.
+
+* Platform.gypi:
+* chromium/public/WebScrollbarLayer.h: Added.
+(WebCore):
+(WebKit):
+(WebScrollbarLayer):
+(WebKit::WebScrollbarLayer::WebScrollbarLayer):
+(WebKit::WebScrollbarLayer::~WebScrollbarLayer):
+(WebKit::WebScrollbarLayer::operator=):
+
 2012-06-29  James Robinson  
 
 [chromium] Remove WebTransformationMatrix::mapPoint overrides


Modified: trunk/Source/Platform/Platform.gypi (124159 => 124160)

--- trunk/Source/Platform/Platform.gypi	2012-07-31 02:57:28 UTC (rev 124159)
+++ trunk/Source/Platform/Platform.gypi	2012-07-31 03:02:52 UTC (rev 124160)
@@ -109,6 +109,7 @@
 'chromium/public/WebReferrerPolicy.h',
 'chromium/public/WebRenderingStats.h',
 'chromium/public/WebScrollbar.h',
+'chromium/public/WebScrollbarLayer.h',
 'chromium/public/WebScrollbarThemeGeometry.h',
 'chromium/public/WebScrollbarThemePainter.h',
 'chromium/public/WebSessionDescriptionDescriptor.h',


Added: trunk/Source/Platform/chromium/public/WebScrollbarLayer.h (0 => 124160)

--- trunk/Source/Platform/chromium/public/WebScrollbarLayer.h	(rev 0)
+++ trunk/Source/Platform/chromium/public/WebScrollbarLayer.h	2012-07-31 03:02:52 UTC (rev 124160)
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN A

[webkit-changes] [124052] trunk/Source/WebCore

2012-07-30 Thread enne
Title: [124052] trunk/Source/WebCore








Revision 124052
Author e...@google.com
Date 2012-07-30 11:00:29 -0700 (Mon, 30 Jul 2012)


Log Message
[chromium] Turn back on ScrollbarLayerChromium for Windows
https://bugs.webkit.org/show_bug.cgi?id=92409

Reviewed by James Robinson.

This reverts r122791. As GDI issues were addressed in Chromium via
http://src.chromium.org/viewvc/chrome?view=rev&revision=148215,
scrollbar parts can now be composited on the thread.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (124051 => 124052)

--- trunk/Source/WebCore/ChangeLog	2012-07-30 17:56:38 UTC (rev 124051)
+++ trunk/Source/WebCore/ChangeLog	2012-07-30 18:00:29 UTC (rev 124052)
@@ -1,3 +1,17 @@
+2012-07-30  Adrienne Walker  
+
+[chromium] Turn back on ScrollbarLayerChromium for Windows
+https://bugs.webkit.org/show_bug.cgi?id=92409
+
+Reviewed by James Robinson.
+
+This reverts r122791. As GDI issues were addressed in Chromium via
+http://src.chromium.org/viewvc/chrome?view=rev&revision=148215,
+scrollbar parts can now be composited on the thread.
+
+* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+(WebCore::createScrollbarLayer):
+
 2012-07-30  Sheriff Bot  
 
 Unreviewed, rolling out r124025.


Modified: trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (124051 => 124052)

--- trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-30 17:56:38 UTC (rev 124051)
+++ trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-30 18:00:29 UTC (rev 124052)
@@ -126,11 +126,8 @@
 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar);
 
 // FIXME: Mac scrollbar themes are not thread-safe to paint.
-// FIXME: Win scrollbars on XP Classic themes do not paint valid alpha
-// values due to GDI. This needs to be fixed in theme code before it
-// can be turned on here.
 bool platformSupported = true;
-#if OS(DARWIN) || OS(WINDOWS)
+#if OS(DARWIN)
 platformSupported = false;
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [123814] trunk/Source/WebCore

2012-07-26 Thread enne
Title: [123814] trunk/Source/WebCore








Revision 123814
Author e...@google.com
Date 2012-07-26 16:55:10 -0700 (Thu, 26 Jul 2012)


Log Message
[chromium] When computing surface content scale, use top level device scale
https://bugs.webkit.org/show_bug.cgi?id=92328

Reviewed by Kenneth Russell.

Previously, surface scale was calculated with layer->contentsScale(),
however this value is 1 for any layer that is not ContentLayerChromium
because of layer->needsContentsScale(). This would cause any surface
created with a non-content owner layer to look fuzzy on a high DPI
device. Fix by using the top level device scale.

Additionally, remove contentsScale from CCLayerImpl as it is no longer
used.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsInternal):
(WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (123813 => 123814)

--- trunk/Source/WebCore/ChangeLog	2012-07-26 23:27:53 UTC (rev 123813)
+++ trunk/Source/WebCore/ChangeLog	2012-07-26 23:55:10 UTC (rev 123814)
@@ -1,3 +1,29 @@
+2012-07-26  Adrienne Walker  
+
+[chromium] When computing surface content scale, use top level device scale
+https://bugs.webkit.org/show_bug.cgi?id=92328
+
+Reviewed by Kenneth Russell.
+
+Previously, surface scale was calculated with layer->contentsScale(),
+however this value is 1 for any layer that is not ContentLayerChromium
+because of layer->needsContentsScale(). This would cause any surface
+created with a non-content owner layer to look fuzzy on a high DPI
+device. Fix by using the top level device scale.
+
+Additionally, remove contentsScale from CCLayerImpl as it is no longer
+used.
+
+* platform/graphics/chromium/LayerChromium.cpp:
+(WebCore::LayerChromium::pushPropertiesTo):
+* platform/graphics/chromium/cc/CCLayerImpl.cpp:
+(WebCore::CCLayerImpl::CCLayerImpl):
+* platform/graphics/chromium/cc/CCLayerImpl.h:
+(CCLayerImpl):
+* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+(WebCore::calculateDrawTransformsInternal):
+(WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
+
 2012-07-26  Anders Carlsson  
 
 HTMLAppletElement should inherit from HTMLPlugInImageElement


Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp (123813 => 123814)

--- trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-07-26 23:27:53 UTC (rev 123813)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-07-26 23:55:10 UTC (rev 123814)
@@ -534,7 +534,6 @@
 layer->setBackgroundColor(m_backgroundColor);
 layer->setBounds(m_bounds);
 layer->setContentBounds(contentBounds());
-layer->setContentsScale(contentsScale());
 layer->setDebugBorderColor(m_debugBorderColor);
 layer->setDebugBorderWidth(m_debugBorderWidth);
 layer->setDebugName(m_debugName.isolatedCopy()); // We have to use isolatedCopy() here to safely pass ownership to another thread.
@@ -615,7 +614,6 @@
 setNeedsCommit();
 }
 
-
 void LayerChromium::setContentsScale(float contentsScale)
 {
 if (!needsContentsScale() || m_contentsScale == contentsScale)


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp (123813 => 123814)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-07-26 23:27:53 UTC (rev 123813)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-07-26 23:55:10 UTC (rev 123814)
@@ -50,7 +50,6 @@
 , m_layerTreeHostImpl(0)
 , m_anchorPoint(0.5, 0.5)
 , m_anchorPointZ(0)
-, m_contentsScale(1)
 , m_scrollable(false)
 , m_shouldScrollOnMainThread(false)
 , m_haveWheelEventHandlers(false)


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h (123813 => 123814)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h	2012-07-26 23:27:53 UTC (rev 123813)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h	2012-07-26 23:55:10 UTC (rev 123814)
@@ -187,9 +187,6 @@
 const IntSize& contentBounds() const { return m_contentBounds; }
 void setContentBounds(const IntSize&);
 
-void setContentsScale(float contentsScale) { m_contentsScale = contentsScale; }
-float contentsScale() const { return m_conte

[webkit-changes] [123772] trunk

2012-07-26 Thread enne
Title: [123772] trunk








Revision 123772
Author e...@google.com
Date 2012-07-26 11:02:42 -0700 (Thu, 26 Jul 2012)


Log Message
Source/WebCore: [chromium] Remove redundant surface origin transforms
https://bugs.webkit.org/show_bug.cgi?id=91815

Reviewed by Stephen White.

Bug 91417 changed draw transforms to become equivalent to origin
transforms for surfaces. This change removes them as they are no
longer needed for anything.

No new tests. Just a refactoring.

* platform/graphics/chromium/RenderSurfaceChromium.h:
(RenderSurfaceChromium):
* platform/graphics/chromium/cc/CCDamageTracker.cpp:
(WebCore::CCDamageTracker::extendDamageForRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::computeScrollCompensationMatrixForChildren):
(WebCore::calculateDrawTransformsInternal):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCoreleaveToRenderTarget):
(WebCoreunoccludedContributingSurfaceContentRect):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::createSharedQuadState):
(WebCore::CCRenderSurface::createReplicaSharedQuadState):
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):

Source/WebKit2: [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp
https://bugs.webkit.org/show_bug.cgi?id=92387

Reviewed by Kenneth Rohde Christiansen.

Fix compilation warning in EWK2UnitTestServer.cpp.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
(EWK2UnitTestServer::EWK2UnitTestServer):

LayoutTests: [Qt] css3/filters, editing/undo, fast/block/lineboxcontain, fast/js and tables/layering tests need update after rebaseline and new testfonts
https://bugs.webkit.org/show_bug.cgi?id=92292

Reviewed by Alexis Menard.

* platform/qt-5.0/Skipped:
* platform/qt/css3/filters/effect-blur-expected.txt:
* platform/qt/css3/filters/effect-blur-hw-expected.txt:
* platform/qt/css3/filters/regions-expanding-expected.txt:
* platform/qt/editing/undo/5378473-expected.txt:
* platform/qt/editing/undo/undo-misspellings-expected.txt:
* platform/qt/fast/block/lineboxcontain/inline-box-expected.png:
* platform/qt/fast/block/lineboxcontain/inline-box-expected.txt:
* platform/qt/fast/block/lineboxcontain/inline-box-vertical-expected.png:
* platform/qt/fast/block/lineboxcontain/inline-box-vertical-expected.txt:
* platform/qt/fast/block/lineboxcontain/inline-replaced-expected.png:
* platform/qt/fast/block/lineboxcontain/inline-replaced-expected.txt:
* platform/qt/fast/block/lineboxcontain/none-expected.png:
* platform/qt/fast/block/lineboxcontain/none-expected.txt:
* platform/qt/fast/block/lineboxcontain/parsing-invalid-expected.png:
* platform/qt/fast/block/lineboxcontain/parsing-invalid-expected.txt:
* platform/qt/fast/block/lineboxcontain/replaced-expected.png:
* platform/qt/fast/block/lineboxcontain/replaced-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/css3/filters/effect-blur-expected.txt
trunk/LayoutTests/platform/qt/css3/filters/effect-blur-hw-expected.txt
trunk/LayoutTests/platform/qt/css3/filters/regions-expanding-expected.txt
trunk/LayoutTests/platform/qt/editing/undo/5378473-expected.txt
trunk/LayoutTests/platform/qt/editing/undo/undo-misspellings-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-box-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-box-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-box-vertical-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-box-vertical-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-replaced-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/inline-replaced-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/none-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/none-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/parsing-invalid-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/parsing-invalid-expected.txt
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/replaced-expected.png
trunk/LayoutTests/platform/qt/fast/block/lineboxcontain/replaced-expected.txt
trunk/LayoutTests/platform/qt-5.0/Skipped
trunk/Source/WebCore/ChangeLog
trunk/Source/WebKit2/ChangeLog




Diff

Modified: trunk/LayoutTests/ChangeLog (123771 => 123772)

--- trunk/LayoutTests/ChangeLog	2012-07-26 17:59:59 UTC (rev 123771)
+++ trunk/LayoutTests/ChangeLog	2012-07-26 18:02:42 UTC (rev 123772)
@@ -1,3 +1,29 @@
+2012-07-26  Luciano Wolf  
+
+[Qt] css3/filters, editing/undo, fast/block/lineboxcontain, fast/js and tables/layering tests need update after rebaseline and n

[webkit-changes] [123685] trunk/Source

2012-07-25 Thread enne
Title: [123685] trunk/Source








Revision 123685
Author e...@google.com
Date 2012-07-25 17:53:47 -0700 (Wed, 25 Jul 2012)


Log Message
[chromium] Make all compositor screen space transforms operate on content rects
https://bugs.webkit.org/show_bug.cgi?id=91807

Reviewed by Kenneth Russell.

Source/WebCore:

Previously, surface screen space transforms operated on surface
content space but layer screen space transforms operated on layer
space. For the purpose of consistency, unify these two so that they
both operate on content space.

No tests, because no change in behavior expected. Just a refactoring.

* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::savePaintRects):
(WebCore::CCDebugRectHistory::savePropertyChangedRects):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsInternal):
(WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCoremarkOccludedBehindLayer):
(WebCoreoccluded):
(WebCoreunoccludedContentRect):

Source/WebKit/chromium:

Update tests that deal with screen space transforms to reflect this change.

* tests/CCLayerTreeHostCommonTest.cpp:
* tests/TiledLayerChromiumTest.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCDebugRectHistory.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
trunk/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (123684 => 123685)

--- trunk/Source/WebCore/ChangeLog	2012-07-26 00:30:35 UTC (rev 123684)
+++ trunk/Source/WebCore/ChangeLog	2012-07-26 00:53:47 UTC (rev 123685)
@@ -1,3 +1,30 @@
+2012-07-19  Adrienne Walker  
+
+[chromium] Make all compositor screen space transforms operate on content rects
+https://bugs.webkit.org/show_bug.cgi?id=91807
+
+Reviewed by Kenneth Russell.
+
+Previously, surface screen space transforms operated on surface
+content space but layer screen space transforms operated on layer
+space. For the purpose of consistency, unify these two so that they
+both operate on content space.
+
+No tests, because no change in behavior expected. Just a refactoring.
+
+* platform/graphics/chromium/LayerChromium.h:
+(LayerChromium):
+* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
+(WebCore::CCDebugRectHistory::savePaintRects):
+(WebCore::CCDebugRectHistory::savePropertyChangedRects):
+* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+(WebCore::calculateDrawTransformsInternal):
+(WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
+* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+(WebCoremarkOccludedBehindLayer):
+(WebCoreoccluded):
+(WebCoreunoccludedContentRect):
+
 2012-07-25  Dan Bernstein  
 
 Hit testing in one column or in the gap between cloumns along the block axis can return a result from the wrong column


Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h (123684 => 123685)

--- trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h	2012-07-26 00:30:35 UTC (rev 123684)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h	2012-07-26 00:53:47 UTC (rev 123685)
@@ -247,7 +247,7 @@
 // root render surface, then this converts to physical pixels).
 const WebKit::WebTransformationMatrix& drawTransform() const { return m_drawTransform; }
 void setDrawTransform(const WebKit::WebTransformationMatrix& matrix) { m_drawTransform = matrix; }
-// This moves from layer space, with origin the top left to screen space with origin in the top left.
+// This moves from content space, with origin the top left to screen space with origin in the top left.
 // It converts logical, non-page-scaled pixels to physical pixels.
 const WebKit::WebTransformationMatrix& screenSpaceTransform() const { return m_screenSpaceTransform; }
 void setScreenSpaceTransform(const WebKit::WebTransformationMatrix& matrix) { m_screenSpaceTransform = matrix; }


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCDebugRectHistory.cpp (123684 => 123685)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCDebugRectHistory.cpp	2012-07-26 00:30:35 UTC (rev 123684)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCDebugRectHistory.cpp	2012-07-26 00:53:47 UTC (rev 123685)
@@ -67,8 +67,11 @@
 // regardless of whether this layer is skipped for actual drawing or not. Therefore

[webkit-changes] [123413] trunk/Source/WebKit/chromium

2012-07-23 Thread enne
Title: [123413] trunk/Source/WebKit/chromium








Revision 123413
Author e...@google.com
Date 2012-07-23 17:57:18 -0700 (Mon, 23 Jul 2012)


Log Message
[chromium] Add more compositor unit tests for high DPI transforms
https://bugs.webkit.org/show_bug.cgi?id=91917

Reviewed by Kenneth Russell.

The current set of high DPI tests only deal with layers in a render
surface. Add some extra tests for non-surface layers. Also add a test
to make sure that an owning layer in a surface doesn't differ from a
non-owning layer in high DPI circumstances.

* tests/CCLayerTreeHostCommonTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (123412 => 123413)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-07-24 00:53:24 UTC (rev 123412)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-07-24 00:57:18 UTC (rev 123413)
@@ -1,3 +1,17 @@
+2012-07-23  Adrienne Walker  
+
+[chromium] Add more compositor unit tests for high DPI transforms
+https://bugs.webkit.org/show_bug.cgi?id=91917
+
+Reviewed by Kenneth Russell.
+
+The current set of high DPI tests only deal with layers in a render
+surface. Add some extra tests for non-surface layers. Also add a test
+to make sure that an owning layer in a surface doesn't differ from a
+non-owning layer in high DPI circumstances.
+
+* tests/CCLayerTreeHostCommonTest.cpp:
+
 2012-07-23  Shawn Singh  
 
 [chromium] Fix unit tests in debug mode after r123375


Modified: trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp (123412 => 123413)

--- trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp	2012-07-24 00:53:24 UTC (rev 123412)
+++ trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp	2012-07-24 00:57:18 UTC (rev 123413)
@@ -2946,7 +2946,7 @@
 // test makes sure that hit testing works correctly accounts for the contents scale.
 // A contentsScale that is not 1 effectively forces a non-identity transform between
 // layer's content space and layer's origin space, which is not included in the
-// screenSpaceTransformn. The hit testing code must take this into account.
+// screenSpaceTransform. The hit testing code must take this into account.
 //
 // To test this, the layer is positioned at (25, 25), and is size (50, 50). If
 // contentsScale is ignored, then hit testing will mis-interpret the visibleContentRect
@@ -3415,13 +3415,103 @@
 return toReturn.release();
 }
 
-TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceTranformsInHighDPI)
+TEST(CCLayerTreeHostCommonTest, verifyLayerTransformsInHighDPI)
 {
+// Verify draw and screen space transforms of layers not in a surface.
 MockContentLayerDelegate delegate;
 WebTransformationMatrix identityMatrix;
 WebTransformationMatrix parentMatrix;
 
 RefPtr parent = createDrawableContentLayerChromium(&delegate);
+setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), true);
+
+RefPtr child = createDrawableContentLayerChromium(&delegate);
+setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(2, 2), IntSize(10, 10), true);
+
+RefPtr childNoScale = createDrawableContentLayerChromium(&delegate);
+setLayerPropertiesForTesting(childNoScale.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(2, 2), IntSize(10, 10), true);
+
+parent->addChild(child);
+parent->addChild(childNoScale);
+
+Vector > renderSurfaceLayerList;
+Vector > dummyLayerList;
+int dummyMaxTextureSize = 512;
+
+parent->createRenderSurface();
+parent->renderSurface()->setContentRect(IntRect(IntPoint(), parent->bounds()));
+renderSurfaceLayerList.append(parent.get());
+
+const double deviceScaleFactor = 2.5;
+parentMatrix.scale(deviceScaleFactor);
+parent->setContentsScale(deviceScaleFactor);
+child->setContentsScale(deviceScaleFactor);
+EXPECT_EQ(childNoScale->contentsScale(), 1);
+
+CCLayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent.get(), parentMatrix, identityMatrix, renderSurfaceLayerList, dummyLayerList, dummyMaxTextureSize);
+
+EXPECT_EQ(1u, renderSurfaceLayerList.size());
+
+// Verify parent transforms
+WebTransformationMatrix expectedParentScreenSpaceTransform;
+expectedParentScreenSpaceTransform.setM11(deviceScaleFactor);
+expectedParentScreenSpaceTransform.setM22(deviceScaleFactor);
+EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentScreenSpaceTransform, parent->screenSpaceTransform());
+
+WebTransformationMatrix expectedParentDrawTransform = expectedParentScreenSpaceTransform;
+expectedParentDrawTransform.translate(0.5 * parent->bounds().width(), 0.5 * parent->bounds().height());
+EXPECT_TRANSFORMATION_MATRIX_EQ(expectedPa

[webkit-changes] [122886] trunk/Source/WebCore

2012-07-17 Thread enne
Title: [122886] trunk/Source/WebCore








Revision 122886
Author e...@google.com
Date 2012-07-17 16:06:38 -0700 (Tue, 17 Jul 2012)


Log Message
REGRESSION(r122215) - RenderObject::willRenderImage crashes on null view()
https://bugs.webkit.org/show_bug.cgi?id=91525

Reviewed by Julien Chaffraix.

Fix by doing an early out check.  This is intended to fix the crash in
http://crbug.com/137161.

No new test, because unfortunately a layout test is ill-suited to
reproing this kind of Document creation/destruction bug.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::willRenderImage):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (122885 => 122886)

--- trunk/Source/WebCore/ChangeLog	2012-07-17 23:05:24 UTC (rev 122885)
+++ trunk/Source/WebCore/ChangeLog	2012-07-17 23:06:38 UTC (rev 122886)
@@ -1,3 +1,19 @@
+2012-07-17  Adrienne Walker  
+
+REGRESSION(r122215) - RenderObject::willRenderImage crashes on null view()
+https://bugs.webkit.org/show_bug.cgi?id=91525
+
+Reviewed by Julien Chaffraix.
+
+Fix by doing an early out check.  This is intended to fix the crash in
+http://crbug.com/137161.
+
+No new test, because unfortunately a layout test is ill-suited to
+reproing this kind of Document creation/destruction bug.
+
+* rendering/RenderObject.cpp:
+(WebCore::RenderObject::willRenderImage):
+
 2012-07-17  Emil A Eklund  
 
 vertical-align: middle causes overflow with subpixel layout


Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (122885 => 122886)

--- trunk/Source/WebCore/rendering/RenderObject.cpp	2012-07-17 23:05:24 UTC (rev 122885)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2012-07-17 23:06:38 UTC (rev 122886)
@@ -2692,6 +2692,11 @@
 if (document()->inPageCache() || document()->view()->isOffscreen())
 return false;
 
+// If the document is being destroyed or has not been attached, then this
+// RenderObject will not be rendered.
+if (!view())
+return false;
+
 // If a renderer is outside the viewport, we won't render.
 return viewRect().intersects(absoluteClippedOverflowRect());
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [122854] branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ ScrollingCoordinatorChromium.cpp

2012-07-17 Thread enne
Title: [122854] branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp








Revision 122854
Author e...@google.com
Date 2012-07-17 10:40:56 -0700 (Tue, 17 Jul 2012)


Log Message
Merge 122791 - [chromium] Turn off ScrollbarLayerChromium for Windows due to bad alpha values
https://bugs.webkit.org/show_bug.cgi?id=91438

Reviewed by Kenneth Russell.

r120509 turned on blending for scrollbar thumbs. Unfortunately for
Windows XP scrollbar thumbs, their alpha channel is bogus and so the
thumb ends up being completely transparent. This should ultimately be
fixed in Chromium theme code, but in the meantime this patch turns
off the use of ScrollbarLayerChromium.

This change makes Windows scrollbars fall back to using normal
ContentLayerChromiums and being painted all in one layer on the main
thread rather than being painted separately and composited on the
compositor thread.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):

TBR=e...@google.com
Review URL: https://chromiumcodereview.appspot.com/10704248

Modified Paths

branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp




Diff

Modified: branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (122853 => 122854)

--- branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-17 17:35:25 UTC (rev 122853)
+++ branches/chromium/1180/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-17 17:40:56 UTC (rev 122854)
@@ -120,9 +120,12 @@
 if (!scrollbarGraphicsLayer->contentsOpaque())
 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar);
 
-// FIXME: Mac scrollbar themes are not thread-safe.
+// FIXME: Mac scrollbar themes are not thread-safe to paint.
+// FIXME: Win scrollbars on XP Classic themes do not paint valid alpha
+// values due to GDI. This needs to be fixed in theme code before it
+// can be turned on here.
 bool platformSupported = true;
-#if OS(DARWIN)
+#if OS(DARWIN) || OS(WINDOWS)
 platformSupported = false;
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [122791] trunk/Source/WebCore

2012-07-16 Thread enne
Title: [122791] trunk/Source/WebCore








Revision 122791
Author e...@google.com
Date 2012-07-16 18:24:45 -0700 (Mon, 16 Jul 2012)


Log Message
[chromium] Turn off ScrollbarLayerChromium for Windows due to bad alpha values
https://bugs.webkit.org/show_bug.cgi?id=91438

Reviewed by Kenneth Russell.

r120509 turned on blending for scrollbar thumbs. Unfortunately for
Windows XP scrollbar thumbs, their alpha channel is bogus and so the
thumb ends up being completely transparent. This should ultimately be
fixed in Chromium theme code, but in the meantime this patch turns
off the use of ScrollbarLayerChromium.

This change makes Windows scrollbars fall back to using normal
ContentLayerChromiums and being painted all in one layer on the main
thread rather than being painted separately and composited on the
compositor thread.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (122790 => 122791)

--- trunk/Source/WebCore/ChangeLog	2012-07-17 01:14:18 UTC (rev 122790)
+++ trunk/Source/WebCore/ChangeLog	2012-07-17 01:24:45 UTC (rev 122791)
@@ -1,3 +1,24 @@
+2012-07-16  Adrienne Walker  
+
+[chromium] Turn off ScrollbarLayerChromium for Windows due to bad alpha values
+https://bugs.webkit.org/show_bug.cgi?id=91438
+
+Reviewed by Kenneth Russell.
+
+r120509 turned on blending for scrollbar thumbs. Unfortunately for
+Windows XP scrollbar thumbs, their alpha channel is bogus and so the
+thumb ends up being completely transparent. This should ultimately be
+fixed in Chromium theme code, but in the meantime this patch turns
+off the use of ScrollbarLayerChromium.
+
+This change makes Windows scrollbars fall back to using normal
+ContentLayerChromiums and being painted all in one layer on the main
+thread rather than being painted separately and composited on the
+compositor thread.
+
+* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+(WebCore::createScrollbarLayer):
+
 2012-07-16  Koji Ishii  
 
 Vertical alternate glyph (GSUB) support for OpenTypeVerticalData


Modified: trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (122790 => 122791)

--- trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-17 01:14:18 UTC (rev 122790)
+++ trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-07-17 01:24:45 UTC (rev 122791)
@@ -125,9 +125,12 @@
 if (!scrollbarGraphicsLayer->contentsOpaque())
 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar);
 
-// FIXME: Mac scrollbar themes are not thread-safe.
+// FIXME: Mac scrollbar themes are not thread-safe to paint.
+// FIXME: Win scrollbars on XP Classic themes do not paint valid alpha
+// values due to GDI. This needs to be fixed in theme code before it
+// can be turned on here.
 bool platformSupported = true;
-#if OS(DARWIN)
+#if OS(DARWIN) || OS(WINDOWS)
 platformSupported = false;
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [122776] trunk/Source

2012-07-16 Thread enne
Title: [122776] trunk/Source








Revision 122776
Author e...@google.com
Date 2012-07-16 16:45:35 -0700 (Mon, 16 Jul 2012)


Log Message
[chromium] Unify compositor quad transforms into content space
https://bugs.webkit.org/show_bug.cgi?id=91350

Reviewed by Kenneth Russell.

Source/WebCore:

For the purpose of simplification and as a first step towards removing
any transform that takes a centered rect, remove the ability of layers
to override the quad transform. All quads and quad transforms operate
on content space with the origin in the top left.

The gutter quads used to use the root layer (that doesn't draw
content) as the layer to create the shared quad state from. This is
now created manually as a layer without bounds should never in general
need a shared quad state created for it.

No change in functionality; tested by existing layout and unit tests.

* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
(WebCore::CCIOSurfaceLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::createSharedQuadState):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsToFillScreen):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
(WebCore::CCSolidColorLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
(CCSolidColorLayerImpl):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):

Source/WebKit/chromium:

Update tests to add bounds/contentBounds properties to layers. This
exposed a bug in the quad culler tests where the draw transform was
incorrectly being set to the origin transform rather than being a
transform that operates on centered layer rects. Fixed this bug.

* tests/CCQuadCullerTest.cpp:
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::createLayer):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
trunk/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
trunk/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (122775 => 122776)

--- trunk/Source/WebCore/ChangeLog	2012-07-16 23:05:21 UTC (rev 122775)
+++ trunk/Source/WebCore/ChangeLog	2012-07-16 23:45:35 UTC (rev 122776)
@@ -1,3 +1,42 @@
+2012-07-16  Adrienne Walker  
+
+[chromium] Unify compositor quad transforms into content space
+https://bugs.webkit.org/show_bug.cgi?id=91350
+
+Reviewed by Kenneth Russell.
+
+For the purpose of simplification and as a first step towards removing
+any transform that takes a centered rect, remove the ability of layers
+to override the quad transform. All quads and quad transforms operate
+on content space with the origin in the top left.
+
+The gutter quads used to use the root layer (that doesn't draw
+content) as the layer to create the shared quad state from. This is
+now created manually as a layer without bounds should never in general
+need a shared quad state created for it.
+
+No change in functionality; tested by existing layout and unit tests.
+
+* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
+(WebCore::CCIOSurfaceLayerImpl::appendQuads):
+* platform/graphics/chromium/cc/CCLayerImpl.cpp:
+(WebCore::CCLayerImpl::createSharedQuadState):
+* platform/graphics/chromium/cc/CCLayerImpl.h:
+(CCLayerImpl):
+* platform/graphics/chromium/cc/CCRenderPass.cpp:
+(WebCore::CCRenderPass::appendQuadsToFillScreen):
+* platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
+(WebCore::CCSolidColorLayerImpl::appendQuads):
+* platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+(CCSolidColorLayerImpl):
+* platform/graphics/chromium/cc/CCTextureLayerI

[webkit-changes] [122751] branches/chromium/1180

2012-07-16 Thread enne
Title: [122751] branches/chromium/1180








Revision 122751
Author e...@google.com
Date 2012-07-16 12:50:08 -0700 (Mon, 16 Jul 2012)


Log Message
Merge 122529 - [chromium] Root invalidations for RTL pages need to be in the right space
https://bugs.webkit.org/show_bug.cgi?id=91155

Reviewed by Kenneth Russell.

Source/WebKit/chromium:

The root layer has a translation on it when placed in the tree, so any
invalidations on this layer likewise need to be adjusted.

This adjustment is due to the fact that compositor layers all have the
origin in the upper left corner of the layer, but this is not always
the origin for graphics layers. Rather than making compositor layers
have to deal with a potential offset, we change the transform when
inserting the layer into the tree. Invalidations need to be similarly
transformed from document space into compositor layer space.

The need for this offset is due to the definition of the initial
containing block. RTL pages (pages with dir=RTL on the body) start
scrolled all the way to the right, and the origin is in the upper left
hand corner of this initial viewport. Thus on RTL pages with
horizontal overflow, the left of the document is in negative CSS
space.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::invalidateRect):

LayoutTests:

Add a test that demonstrates this problem. Before the code fix, the
test shows just a red square because the invalidation for the style
change repaints the wrong rect.

* compositing/rtl/rtl-overflow-invalidation-expected.png: Added.
* compositing/rtl/rtl-overflow-invalidation-expected.txt: Added.
* compositing/rtl/rtl-overflow-invalidation.html: Added.


TBR=e...@google.com
Review URL: https://chromiumcodereview.appspot.com/10782018

Modified Paths

branches/chromium/1180/Source/WebKit/chromium/src/NonCompositedContentHost.cpp


Added Paths

branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png
branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.txt
branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation.html




Diff

Copied: branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png (from rev 122529, trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png) (0 => 122751)

--- branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png	(rev 0)
+++ branches/chromium/1180/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png	2012-07-16 19:50:08 UTC (rev 122751)
@@ -0,0 +1,5 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum7c4f4ad7ad63bab2764e0d8cbcf74d31\x87\xEB
+\xE7IDATx\x9C\xED\xD8\xC1m\x84@EAc\x917"3&\xB2\xD9VH~\xF6xEչ\xFF\xF8\xD4ۜ\xF3\x80\xB7\xCE\xF3\xBC\xFC\xFD{;\x9EI`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@l_=a;\xB7\xD5>\xC6<\xE6\xEA	?\xE5\x83X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\xDBW\x80G\x98\xC7\=\x81\xBF\xE3\x83X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\xDB末7\xFCwc\x8C\xFB\xC7>X1\x81X1\x81X1\x81

[webkit-changes] [122529] trunk

2012-07-12 Thread enne
Title: [122529] trunk








Revision 122529
Author e...@google.com
Date 2012-07-12 16:38:44 -0700 (Thu, 12 Jul 2012)


Log Message
[chromium] Root invalidations for RTL pages need to be in the right space
https://bugs.webkit.org/show_bug.cgi?id=91155

Reviewed by Kenneth Russell.

Source/WebKit/chromium:

The root layer has a translation on it when placed in the tree, so any
invalidations on this layer likewise need to be adjusted.

This adjustment is due to the fact that compositor layers all have the
origin in the upper left corner of the layer, but this is not always
the origin for graphics layers. Rather than making compositor layers
have to deal with a potential offset, we change the transform when
inserting the layer into the tree. Invalidations need to be similarly
transformed from document space into compositor layer space.

The need for this offset is due to the definition of the initial
containing block. RTL pages (pages with dir=RTL on the body) start
scrolled all the way to the right, and the origin is in the upper left
hand corner of this initial viewport. Thus on RTL pages with
horizontal overflow, the left of the document is in negative CSS
space.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::invalidateRect):

LayoutTests:

Add a test that demonstrates this problem. Before the code fix, the
test shows just a red square because the invalidation for the style
change repaints the wrong rect.

* compositing/rtl/rtl-overflow-invalidation-expected.png: Added.
* compositing/rtl/rtl-overflow-invalidation-expected.txt: Added.
* compositing/rtl/rtl-overflow-invalidation.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/NonCompositedContentHost.cpp


Added Paths

trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png
trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation.html




Diff

Modified: trunk/LayoutTests/ChangeLog (122528 => 122529)

--- trunk/LayoutTests/ChangeLog	2012-07-12 23:30:47 UTC (rev 122528)
+++ trunk/LayoutTests/ChangeLog	2012-07-12 23:38:44 UTC (rev 122529)
@@ -1,3 +1,18 @@
+2012-07-12  Adrienne Walker  
+
+[chromium] Root invalidations for RTL pages need to be in the right space
+https://bugs.webkit.org/show_bug.cgi?id=91155
+
+Reviewed by Kenneth Russell.
+
+Add a test that demonstrates this problem. Before the code fix, the
+test shows just a red square because the invalidation for the style
+change repaints the wrong rect.
+
+* compositing/rtl/rtl-overflow-invalidation-expected.png: Added.
+* compositing/rtl/rtl-overflow-invalidation-expected.txt: Added.
+* compositing/rtl/rtl-overflow-invalidation.html: Added.
+
 2012-07-12  James Simonsen  
 
 [Navigation Timing] Import the W3C Navigation Timing test suite


Added: trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png (0 => 122529)

--- trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png	(rev 0)
+++ trunk/LayoutTests/compositing/rtl/rtl-overflow-invalidation-expected.png	2012-07-12 23:38:44 UTC (rev 122529)
@@ -0,0 +1,5 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum7c4f4ad7ad63bab2764e0d8cbcf74d31\x87\xEB
+\xE7IDATx\x9C\xED\xD8\xC1m\x84@EAc\x917"3&\xB2\xD9VH~\xF6xEչ\xFF\xF8\xD4ۜ\xF3\x80\xB7\xCE\xF3\xBC\xFC\xFD{;\x9EI`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@l_=a;\xB7\xD5>\xC6<\xE6\xEA	?\xE5\x83X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\xDBW\x80G\x98\xC7\=\x81\xBF\xE3\x83X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x8

[webkit-changes] [121227] trunk/Source/WebKit/chromium

2012-06-25 Thread enne
Title: [121227] trunk/Source/WebKit/chromium








Revision 121227
Author e...@google.com
Date 2012-06-25 21:43:44 -0700 (Mon, 25 Jun 2012)


Log Message
[chromium] Add WebPluginScrollbar and WebPluginScrollbarClient stub implementations
https://bugs.webkit.org/show_bug.cgi?id=89928

Reviewed by Darin Fisher.

These classes are just typedef'd to be the non-Plugin version. The
next step is to change Chromium to use the Plugin version, then move
most of WebPluginScrollbar to a WebScrollbar in Platform to separate
out the base functionality, while providing the same top level API.

* WebKit.gyp:
* public/WebPluginScrollbar.h: Added.
(WebKit):
* public/WebPluginScrollbarClient.h: Added.
(WebKit):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/WebKit.gyp


Added Paths

trunk/Source/WebKit/chromium/public/WebPluginScrollbar.h
trunk/Source/WebKit/chromium/public/WebPluginScrollbarClient.h




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (121226 => 121227)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 04:41:25 UTC (rev 121226)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 04:43:44 UTC (rev 121227)
@@ -1,3 +1,21 @@
+2012-06-25  Adrienne Walker  
+
+[chromium] Add WebPluginScrollbar and WebPluginScrollbarClient stub implementations
+https://bugs.webkit.org/show_bug.cgi?id=89928
+
+Reviewed by Darin Fisher.
+
+These classes are just typedef'd to be the non-Plugin version. The
+next step is to change Chromium to use the Plugin version, then move
+most of WebPluginScrollbar to a WebScrollbar in Platform to separate
+out the base functionality, while providing the same top level API.
+
+* WebKit.gyp:
+* public/WebPluginScrollbar.h: Added.
+(WebKit):
+* public/WebPluginScrollbarClient.h: Added.
+(WebKit):
+
 2012-06-25  Sheriff Bot  
 
 Unreviewed.  Rolled DEPS.


Modified: trunk/Source/WebKit/chromium/WebKit.gyp (121226 => 121227)

--- trunk/Source/WebKit/chromium/WebKit.gyp	2012-06-26 04:41:25 UTC (rev 121226)
+++ trunk/Source/WebKit/chromium/WebKit.gyp	2012-06-26 04:43:44 UTC (rev 121227)
@@ -222,6 +222,8 @@
 'public/WebPluginContainer.h',
 'public/WebPluginDocument.h',
 'public/WebPluginListBuilder.h',
+'public/WebPluginScrollbar.h',
+'public/WebPluginScrollbarClient.h',
 'public/WebPrintParams.h',
 'public/WebPrintScalingOption.h',
 'public/WebPopupMenu.h',


Added: trunk/Source/WebKit/chromium/public/WebPluginScrollbar.h (0 => 121227)

--- trunk/Source/WebKit/chromium/public/WebPluginScrollbar.h	(rev 0)
+++ trunk/Source/WebKit/chromium/public/WebPluginScrollbar.h	2012-06-26 04:43:44 UTC (rev 121227)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebPluginScrollbar_h
+#define WebPluginScrollbar_h
+
+#include "WebScrollbar.h"
+
+namespace WebKit {
+
+typedef WebScrollbar WebPluginScrollbar;
+
+} // namespace WebKit
+
+#endif


Added: trunk/Source/WebKit/chromium/public/WebPluginScrollbarClient.h (0 => 121227)

--- trunk/Source/WebKit/chromium/public/WebPluginScrollbarClient.h	(rev 0)
+++ trunk/Source/WebKit/chromium/public/WebPluginScrollbarClient.h	2012-06-26 04:43:44 UTC (rev 121227)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions 

[webkit-changes] [121201] trunk/Source/WebCore

2012-06-25 Thread enne
Title: [121201] trunk/Source/WebCore








Revision 121201
Author e...@google.com
Date 2012-06-25 17:29:20 -0700 (Mon, 25 Jun 2012)


Log Message
[chromium] Make CCThreadProxy not draw a frame mid-commit
https://bugs.webkit.org/show_bug.cgi?id=89905

Reviewed by James Robinson.

If commitComplete is not called before the next frame goes up, then
then the max scroll position on the root scroll layer is not updated.
This causes the compositor-side scrollbar to have an incorrect
visibleSize, causing the thumbRect to become stretched, relative to
when it was originally painted.

CCScheduler::setVisible has the side effect of kicking off a frame, so
move it last.

* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionCommit):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (121200 => 121201)

--- trunk/Source/WebCore/ChangeLog	2012-06-26 00:18:30 UTC (rev 121200)
+++ trunk/Source/WebCore/ChangeLog	2012-06-26 00:29:20 UTC (rev 121201)
@@ -1,3 +1,22 @@
+2012-06-25  Adrienne Walker  
+
+[chromium] Make CCThreadProxy not draw a frame mid-commit
+https://bugs.webkit.org/show_bug.cgi?id=89905
+
+Reviewed by James Robinson.
+
+If commitComplete is not called before the next frame goes up, then
+then the max scroll position on the root scroll layer is not updated.
+This causes the compositor-side scrollbar to have an incorrect
+visibleSize, causing the thumbRect to become stretched, relative to
+when it was originally painted.
+
+CCScheduler::setVisible has the side effect of kicking off a frame, so
+move it last.
+
+* platform/graphics/chromium/cc/CCThreadProxy.cpp:
+(WebCore::CCThreadProxy::scheduledActionCommit):
+
 2012-06-25  Pablo Flouret  
 
 EventSource: Events should not be dispatched after close()


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp (121200 => 121201)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp	2012-06-26 00:18:30 UTC (rev 121200)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp	2012-06-26 00:29:20 UTC (rev 121201)
@@ -621,7 +621,6 @@
 
 m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get());
 m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get());
-m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
 
 m_layerTreeHostImpl->commitComplete();
 
@@ -629,6 +628,9 @@
 
 m_commitCompletionEventOnImplThread->signal();
 m_commitCompletionEventOnImplThread = 0;
+
+// SetVisible kicks off the next scheduler action, so this must be last.
+m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
 }
 
 void CCThreadProxy::scheduledActionBeginContextRecreation()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [120902] trunk/Source/WebCore

2012-06-20 Thread enne
Title: [120902] trunk/Source/WebCore








Revision 120902
Author e...@google.com
Date 2012-06-20 21:46:05 -0700 (Wed, 20 Jun 2012)


Log Message
[chromium] Modify CCDamageTracker hash to allow for layer id 0
https://bugs.webkit.org/show_bug.cgi?id=89631

Reviewed by James Robinson.

HashMap has the bizarre property that 0 is the empty value for integer
keys. Modify the damage tracking HashMap to use negative values for
both the empty and the deleted key traits. Additionally, make sure we
never generate negative layer IDs in practice.

Test: passes webkit_unit_tests with the patch in bug 89589 applied.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/cc/CCDamageTracker.h:
(RectMapKeyTraits):
(WebCore::CCDamageTracker::RectMapKeyTraits::emptyValue):
(WebCore::CCDamageTracker::RectMapKeyTraits::constructDeletedValue):
(WebCore::CCDamageTracker::RectMapKeyTraits::isDeletedValue):
(CCDamageTracker):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (120901 => 120902)

--- trunk/Source/WebCore/ChangeLog	2012-06-21 04:27:18 UTC (rev 120901)
+++ trunk/Source/WebCore/ChangeLog	2012-06-21 04:46:05 UTC (rev 120902)
@@ -1,3 +1,28 @@
+2012-06-20  Adrienne Walker  
+
+[chromium] Modify CCDamageTracker hash to allow for layer id 0
+https://bugs.webkit.org/show_bug.cgi?id=89631
+
+Reviewed by James Robinson.
+
+HashMap has the bizarre property that 0 is the empty value for integer
+keys. Modify the damage tracking HashMap to use negative values for
+both the empty and the deleted key traits. Additionally, make sure we
+never generate negative layer IDs in practice.
+
+Test: passes webkit_unit_tests with the patch in bug 89589 applied.
+
+* platform/graphics/chromium/LayerChromium.cpp:
+(WebCore::LayerChromium::LayerChromium):
+* platform/graphics/chromium/cc/CCDamageTracker.h:
+(RectMapKeyTraits):
+(WebCore::CCDamageTracker::RectMapKeyTraits::emptyValue):
+(WebCore::CCDamageTracker::RectMapKeyTraits::constructDeletedValue):
+(WebCore::CCDamageTracker::RectMapKeyTraits::isDeletedValue):
+(CCDamageTracker):
+* platform/graphics/chromium/cc/CCLayerImpl.cpp:
+(WebCore::CCLayerImpl::CCLayerImpl):
+
 2012-06-20  Adam Klein  
 
 Use Dictionary in MutationObserver.observe to kill custom code


Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp (120901 => 120902)

--- trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-06-21 04:27:18 UTC (rev 120901)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-06-21 04:46:05 UTC (rev 120902)
@@ -97,6 +97,10 @@
 , m_layerAnimationDelegate(0)
 , m_layerScrollDelegate(0)
 {
+if (m_layerId < 0) {
+s_nextLayerId = 1;
+m_layerId = s_nextLayerId++;
+}
 }
 
 LayerChromium::~LayerChromium()


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.h (120901 => 120902)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.h	2012-06-21 04:27:18 UTC (rev 120901)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.h	2012-06-21 04:46:05 UTC (rev 120902)
@@ -70,7 +70,14 @@
 // To correctly track exposed regions, two hashtables of rects are maintained.
 // The "current" map is used to compute exposed regions of the current frame, while
 // the "next" map is used to collect layer rects that are used in the next frame.
-typedef HashMap RectMap;
+struct RectMapKeyTraits : HashTraits {
+static const bool emptyValueIsZero = false;
+static const bool needsDestruction = false;
+static int emptyValue() { return -1; }
+static void constructDeletedValue(int& slot) { slot = -2; }
+static bool isDeletedValue(int value) { return value == -2; }
+};
+typedef HashMap::Hash, RectMapKeyTraits> RectMap;
 OwnPtr m_currentRectHistory;
 OwnPtr m_nextRectHistory;
 


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp (120901 => 120902)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-06-21 04:27:18 UTC (rev 120901)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-06-21 04:46:05 UTC (rev 120902)
@@ -84,6 +84,7 @@
 , m_layerAnimationController(CCLayerAnimationController::create(this))
 {
 ASSERT(CCProxy::isImplThread());
+ASSERT(m_layerId >= 0);
 }
 
 CCLayerImpl::~CCLayerImpl()






___
webkit-changes mailing list

[webkit-changes] [120843] branches/chromium/1180

2012-06-20 Thread enne
Title: [120843] branches/chromium/1180








Revision 120843
Author e...@google.com
Date 2012-06-20 11:36:40 -0700 (Wed, 20 Jun 2012)


Log Message
Merge 120750 - Fix scrollbar layers being misplaced with a clipped owner layer
https://bugs.webkit.org/show_bug.cgi?id=89486

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbar layers are positioned relative to their parent layer. If
that parent gets clipped, then that positioning becomes incorrect and
scrollbars get positioned relative to the clipped bounds instead of
the full bounds. Fix by not clipping in this case.

Test: compositing/overflow/scrollbars-with-clipped-owner.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):

LayoutTests:

* compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
* compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
* compositing/overflow/scrollbars-with-clipped-owner.html: Added.


TBR=e...@google.com
Review URL: https://chromiumcodereview.appspot.com/10536221

Modified Paths

branches/chromium/1180/Source/WebCore/rendering/RenderLayerBacking.cpp


Added Paths

branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png
branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.txt
branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner.html




Diff

Copied: branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png (from rev 120750, trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png) (0 => 120843)

--- branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png	(rev 0)
+++ branches/chromium/1180/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png	2012-06-20 18:36:40 UTC (rev 120843)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksume6569751cdaedb5052c93328d11da15f\xD09!BIDATx\x9C\xED\xD8\xC1q\xC2PAp)BA\x99Id\x862!9\x84\xBB\xCF{xǩ\xBD^.\xFBX\xD7\xC7\xF1\xE3eY޷\xFE޶mǏ޷\xE0X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\x9BF\xE04\xE6y=\xCE\xC1 &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b 6\x8Dp\xCF\xE7\xF3\xF8\xB1@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`Ħu}\x8C\xDE\xF0\x85\xE6y=\xA1w\xBF\xDFGO\x80s\xF0\xC1\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80ش,\xCB\xE8
+_\xC5 &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b v\xDD\xF7}\xF4\x80O\xB7m\xDB\xF1c,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98

[webkit-changes] [120750] trunk

2012-06-19 Thread enne
Title: [120750] trunk








Revision 120750
Author e...@google.com
Date 2012-06-19 14:00:09 -0700 (Tue, 19 Jun 2012)


Log Message
Fix scrollbar layers being misplaced with a clipped owner layer
https://bugs.webkit.org/show_bug.cgi?id=89486

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbar layers are positioned relative to their parent layer. If
that parent gets clipped, then that positioning becomes incorrect and
scrollbars get positioned relative to the clipped bounds instead of
the full bounds. Fix by not clipping in this case.

Test: compositing/overflow/scrollbars-with-clipped-owner.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):

LayoutTests:

* compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
* compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
* compositing/overflow/scrollbars-with-clipped-owner.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp


Added Paths

trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png
trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.txt
trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner.html




Diff

Modified: trunk/LayoutTests/ChangeLog (120749 => 120750)

--- trunk/LayoutTests/ChangeLog	2012-06-19 20:13:45 UTC (rev 120749)
+++ trunk/LayoutTests/ChangeLog	2012-06-19 21:00:09 UTC (rev 120750)
@@ -1,3 +1,14 @@
+2012-06-19  Adrienne Walker  
+
+Fix scrollbar layers being misplaced with a clipped owner layer
+https://bugs.webkit.org/show_bug.cgi?id=89486
+
+Reviewed by Simon Fraser.
+
+* compositing/overflow/scrollbars-with-clipped-owner-expected.png: Added.
+* compositing/overflow/scrollbars-with-clipped-owner-expected.txt: Added.
+* compositing/overflow/scrollbars-with-clipped-owner.html: Added.
+
 2012-06-19  Shinya Kawanaka  
 
 [Shadow][Editing] applying document.execCommand('bold') twice to elements having shadow insertion points causes a crash.


Added: trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png (0 => 120750)

--- trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png	(rev 0)
+++ trunk/LayoutTests/compositing/overflow/scrollbars-with-clipped-owner-expected.png	2012-06-19 21:00:09 UTC (rev 120750)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksume6569751cdaedb5052c93328d11da15f\xD09!BIDATx\x9C\xED\xD8\xC1q\xC2PAp)BA\x99Id\x862!9\x84\xBB\xCF{xǩ\xBD^.\xFBX\xD7\xC7\xF1\xE3eY޷\xFE޶mǏ޷\xE0X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\x9BF\xE04\xE6y=\xCE\xC1 &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b 6\x8Dp\xCF\xE7\xF3\xF8\xB1@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`Ħu}\x8C\xDE\xF0\x85\xE6y=\xA1w\xBF\xDFGO\x80s\xF0\xC1\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80ش,\xCB\xE8
+_\xC5 &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b

[webkit-changes] [120661] trunk

2012-06-18 Thread enne
Title: [120661] trunk








Revision 120661
Author e...@google.com
Date 2012-06-18 20:04:50 -0700 (Mon, 18 Jun 2012)


Log Message
RenderLayerBacking sometimes doesn't attach scrollbars to graphics layer tree
https://bugs.webkit.org/show_bug.cgi?id=89402

Reviewed by James Robinson.

Source/WebCore:

RenderLayerBacking only attaches scrollbar layers to the graphics
layer tree if there's a clip layer. This is wrong, because these
scrollbars become orphans and other code expects them to handle
repainting the scrollbars (which now become invisible). Fix by always
attaching scrollbar layers.

Test: compositing/overflow/image-load-overflow-scrollbars.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateInternalHierarchy):

LayoutTests:

Add a test where an image load creates overflow.

* compositing/overflow/image-load-overflow-scrollbars-expected.png: Added.
* compositing/overflow/image-load-overflow-scrollbars-expected.txt: Added.
* compositing/overflow/image-load-overflow-scrollbars.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp


Added Paths

trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars-expected.png
trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars-expected.txt
trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars.html




Diff

Modified: trunk/LayoutTests/ChangeLog (120660 => 120661)

--- trunk/LayoutTests/ChangeLog	2012-06-19 02:54:19 UTC (rev 120660)
+++ trunk/LayoutTests/ChangeLog	2012-06-19 03:04:50 UTC (rev 120661)
@@ -1,3 +1,16 @@
+2012-06-18  Adrienne Walker  
+
+RenderLayerBacking sometimes doesn't attach scrollbars to graphics layer tree
+https://bugs.webkit.org/show_bug.cgi?id=89402
+
+Reviewed by James Robinson.
+
+Add a test where an image load creates overflow.
+
+* compositing/overflow/image-load-overflow-scrollbars-expected.png: Added.
+* compositing/overflow/image-load-overflow-scrollbars-expected.txt: Added.
+* compositing/overflow/image-load-overflow-scrollbars.html: Added.
+
 2012-06-18  Ami Fischman  
 
 Make serve-video.php serve 206 responses


Added: trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars-expected.png (0 => 120661)

--- trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars-expected.png	(rev 0)
+++ trunk/LayoutTests/compositing/overflow/image-load-overflow-scrollbars-expected.png	2012-06-19 03:04:50 UTC (rev 120661)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum4651dca6186c4ba7186140fdc72f97d3j\x8A\x8B\xC7
+\xD9IDATx\x9C\xEDر
+\x83@EAۢ\xAF\xA3t\xA8\xEC܂\x83g\xA0\x99x\x83>\xED{\xCE\xF9\xA0\xF3Y=\xE0i@L`\xC4@L`\xC4@L`Ķ\xD5\xB8\xBD\xF3<?c\xFCo	\\x84@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@l[=\x80\xDB;\x8E\xE3\xF7\xE31\xC6߆\xC0U\xF8`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@l[=\x80\xDB\xDB\xF7}\xF5\xB8,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88\xBD眫7<\x8A@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4

[webkit-changes] [120509] trunk/Source/WebCore

2012-06-15 Thread enne
Title: [120509] trunk/Source/WebCore








Revision 120509
Author e...@google.com
Date 2012-06-15 16:33:18 -0700 (Fri, 15 Jun 2012)


Log Message
[chromium] Fix composited scrollbars with transparent thumbs
https://bugs.webkit.org/show_bug.cgi?id=89247

Reviewed by James Robinson.

On some platforms, the thumb of a scrollbar can be transparent. Fix by
always drawing the thumb quad with blending.

* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
(WebCore::CCTextureDrawQuad::setNeedsBlending):
(WebCore):
* platform/graphics/chromium/cc/CCTextureDrawQuad.h:
(CCTextureDrawQuad):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (120508 => 120509)

--- trunk/Source/WebCore/ChangeLog	2012-06-15 23:18:34 UTC (rev 120508)
+++ trunk/Source/WebCore/ChangeLog	2012-06-15 23:33:18 UTC (rev 120509)
@@ -1,3 +1,21 @@
+2012-06-15  Adrienne Walker  
+
+[chromium] Fix composited scrollbars with transparent thumbs
+https://bugs.webkit.org/show_bug.cgi?id=89247
+
+Reviewed by James Robinson.
+
+On some platforms, the thumb of a scrollbar can be transparent. Fix by
+always drawing the thumb quad with blending.
+
+* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+(WebCore::CCScrollbarLayerImpl::appendQuads):
+* platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
+(WebCore::CCTextureDrawQuad::setNeedsBlending):
+(WebCore):
+* platform/graphics/chromium/cc/CCTextureDrawQuad.h:
+(CCTextureDrawQuad):
+
 2012-06-14  James Robinson  
 
 [chromium] Use SkBitmap in ImageLayerChromium


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp (120508 => 120509)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp	2012-06-15 23:18:34 UTC (rev 120508)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp	2012-06-15 23:33:18 UTC (rev 120509)
@@ -65,8 +65,12 @@
 
 IntRect thumbRect = theme->thumbRect(&m_scrollbar);
 thumbRect.move(-m_scrollbar.x(), -m_scrollbar.y());
-if (m_thumbTextureId && theme->hasThumb(&m_scrollbar) && !thumbRect.isEmpty())
-quadList.append(CCTextureDrawQuad::create(sharedQuadState, thumbRect, m_thumbTextureId, premultipledAlpha, uvRect, flipped));
+if (m_thumbTextureId && theme->hasThumb(&m_scrollbar) && !thumbRect.isEmpty()) {
+OwnPtr quad = CCTextureDrawQuad::create(sharedQuadState, thumbRect, m_thumbTextureId, premultipledAlpha, uvRect, flipped);
+quad->setNeedsBlending();
+quadList.append(quad.release());
+}
+
 if (!m_backgroundTextureId)
 return;
 


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp (120508 => 120509)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp	2012-06-15 23:18:34 UTC (rev 120508)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp	2012-06-15 23:33:18 UTC (rev 120509)
@@ -43,4 +43,9 @@
 {
 }
 
+void CCTextureDrawQuad::setNeedsBlending()
+{
+m_needsBlending = true;
 }
+
+}


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h (120508 => 120509)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h	2012-06-15 23:18:34 UTC (rev 120508)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h	2012-06-15 23:33:18 UTC (rev 120509)
@@ -41,6 +41,8 @@
 FloatRect uvRect() const { return m_uvRect; }
 bool flipped() const { return m_flipped; }
 
+void setNeedsBlending();
+
 private:
 CCTextureDrawQuad(const CCSharedQuadState*, const IntRect&, unsigned texture_id, bool premultipliedAlpha, const FloatRect& uvRect, bool flipped);
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [120398] trunk/Source/WebCore

2012-06-14 Thread enne
Title: [120398] trunk/Source/WebCore








Revision 120398
Author e...@google.com
Date 2012-06-14 21:59:37 -0700 (Thu, 14 Jun 2012)


Log Message
[chromium] Make TiledLayerChromium robust to unexpected null tiles
https://bugs.webkit.org/show_bug.cgi?id=89143

Reviewed by James Robinson.

Although there shouldn't ever be null tiles in the map, it appears to
be occurring frequently enough to show up in crash reports. In the
short term, be robust to this so the tiler doesn't crash. This should
eventually be reverted.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::setLayerTreeHost):
(WebCore::TiledLayerChromium::invalidateRect):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::resetUpdateState):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (120397 => 120398)

--- trunk/Source/WebCore/ChangeLog	2012-06-15 04:34:25 UTC (rev 120397)
+++ trunk/Source/WebCore/ChangeLog	2012-06-15 04:59:37 UTC (rev 120398)
@@ -1,3 +1,22 @@
+2012-06-14  Adrienne Walker  
+
+[chromium] Make TiledLayerChromium robust to unexpected null tiles
+https://bugs.webkit.org/show_bug.cgi?id=89143
+
+Reviewed by James Robinson.
+
+Although there shouldn't ever be null tiles in the map, it appears to
+be occurring frequently enough to show up in crash reports. In the
+short term, be robust to this so the tiler doesn't crash. This should
+eventually be reverted.
+
+* platform/graphics/chromium/TiledLayerChromium.cpp:
+(WebCore::TiledLayerChromium::pushPropertiesTo):
+(WebCore::TiledLayerChromium::setLayerTreeHost):
+(WebCore::TiledLayerChromium::invalidateRect):
+(WebCore::TiledLayerChromium::updateTiles):
+(WebCore::TiledLayerChromium::resetUpdateState):
+
 2012-06-14  Kent Tamura  
 
 Validate form state strings in FormController::setStateForNewFormElements()


Modified: trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp (120397 => 120398)

--- trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp	2012-06-15 04:34:25 UTC (rev 120397)
+++ trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp	2012-06-15 04:59:37 UTC (rev 120398)
@@ -216,6 +216,9 @@
 int i = iter->first.first;
 int j = iter->first.second;
 UpdatableTile* tile = static_cast(iter->second.get());
+// FIXME: This should not ever be null.
+if (!tile)
+continue;
 tile->isInUseOnImpl = false;
 if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureFormat)) {
 invalidTiles.append(tile);
@@ -243,6 +246,9 @@
 if (host && host != layerTreeHost()) {
 for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begin(); iter != m_tiler->tiles().end(); ++iter) {
 UpdatableTile* tile = static_cast(iter->second.get());
+// FIXME: This should not ever be null.
+if (!tile)
+continue;
 tile->managedTexture()->setTextureManager(host->contentsTextureManager());
 }
 }
@@ -303,6 +309,9 @@
 for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begin(); iter != m_tiler->tiles().end(); ++iter) {
 UpdatableTile* tile = static_cast(iter->second.get());
 ASSERT(tile);
+// FIXME: This should not ever be null.
+if (!tile)
+continue;
 IntRect bound = m_tiler->tileRect(tile);
 bound.intersect(layerRect);
 tile->dirtyRect.unite(bound);
@@ -418,8 +427,9 @@
 for (int j = top; j <= bottom; ++j) {
 for (int i = left; i <= right; ++i) {
 UpdatableTile* tile = tileAt(i, j);
+// FIXME: This should not ever be null.
 if (!tile)
-CRASH();
+continue;
 if (tile->updated)
 tile->copyAndClearDirty();
 else if (!idle && occlusion && tile->isDirty())
@@ -451,6 +461,9 @@
 for (int j = top; j <= bottom; ++j) {
 for (int i = left; i <= right; ++i) {
 UpdatableTile* tile = tileAt(i, j);
+// FIXME: This should not ever be null.
+if (!tile)
+continue;
 
 IntRect tileRect = m_tiler->tileBounds(i, j);
 
@@ -560,6 +573,9 @@
 CCLayerTilingData::TileMap::const_iterator end = m_tiler->tiles().end();
 for (CCLayerTilingData::TileMap::const_iterator iter = m_tiler->tiles().begin(); iter != end; ++iter) {
 UpdatableTile* tile = static_cast(iter->second.get());
+// FIXME: This should not ever be null.
+if (!tile)
+continue;
 tile->updateRect = IntRect();
 tile->partialUpdate = false;
 tile->updated = false;






_

[webkit-changes] [120135] trunk/Source

2012-06-12 Thread enne
Title: [120135] trunk/Source








Revision 120135
Author e...@google.com
Date 2012-06-12 16:04:17 -0700 (Tue, 12 Jun 2012)


Log Message
[chromium] Paint scrollbars on WebKit thread and composite those textures
https://bugs.webkit.org/show_bug.cgi?id=88145

Reviewed by James Robinson.

Source/WebCore:

Scrollbars were previously painted and uploaded on the compositor
thread. This isn't possible to do for many scrollbar themes. This
patch changes ScrollbarLayerChromium to paint the scrollbar into two
parts: the thumb, and everything else. These are uploaded into
textures and synced over to the CCScrollbarImpl where they are
composited and drawn.

Mac and overlay scrollbars are still not enabled to have compositor
thread-updated scrollbars.

As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads
that do not fill the entire layer bounds.

Tested by existing layout and unit tests by removing the condition
that these scrollbar layers are only created when the threaded proxy
exists.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::thumbRect):
(WebCore):
* platform/ScrollbarThemeComposite.h:
(ScrollbarThemeComposite):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTextureQuad):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
(WebCore::ScrollbarLayerChromium::theme):
(WebCore):
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::paint):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarThumbPainter):
(WebCore::ScrollbarThumbPainter::create):
(WebCore::ScrollbarThumbPainter::paint):
(WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::updatePart):
(WebCore::ScrollbarLayerChromium::update):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore):
(ScrollbarLayerChromium):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::setBackgroundTextureId):
(WebCore::CCScrollbarLayerImpl::setThumbTextureId):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Remove scrollbarLayerLostContext test that no longer makes sense. The
compositor won't draw at all after a lost context if it has no
contents.

* tests/CCLayerTreeHostImplTest.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
trunk/Source/WebCore/platform/ScrollbarThemeComposite.cpp
trunk/Source/WebCore/platform/ScrollbarThemeComposite.h
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (120134 => 120135)

--- trunk/Source/WebCore/ChangeLog	2012-06-12 22:52:31 UTC (rev 120134)
+++ trunk/Source/WebCore/ChangeLog	2012-06-12 23:04:17 UTC (rev 120135)
@@ -1,3 +1,64 @@
+2012-06-12  Adrienne Walker  
+
+[chromium] Paint scrollbars on WebKit thread and composite those textures
+https://bugs.webkit.org/show_bug.cgi?id=88145
+
+Reviewed by James Robinson.
+
+Scrollbars were previously painted and uploaded on the compositor
+thread. This isn't possible to do for many scrollbar themes. This
+patch changes ScrollbarLayerChromium to paint the scrollbar into two
+parts: the thumb, and everything else. These are uploaded into
+textures and synced over to the CCScrollbarImpl where they are
+composited and drawn.
+
+Mac and overlay scrollbars are still not enabled to have compositor
+thread-updated scrollbars.
+
+As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads
+that do not fill the entire layer bounds.
+
+Tested by existing layout and unit tests by removing the condition
+that these scrollbar layers are only created when the threaded proxy
+exists.
+
+* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+(WebCore::scrollbarLayerDidChange):
+* platform/ScrollbarThemeComposite.cpp:
+(WebCore::ScrollbarThemeComposite::th

[webkit-changes] [120129] trunk/Source/WebCore

2012-06-12 Thread enne
Title: [120129] trunk/Source/WebCore








Revision 120129
Author e...@google.com
Date 2012-06-12 15:12:52 -0700 (Tue, 12 Jun 2012)


Log Message
[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
https://bugs.webkit.org/show_bug.cgi?id=88895

Reviewed by James Robinson.

We should only set visible layer rects during the recursion in
CClayerTreeHostCommon and not while we're painting. This is one last
straggling piece of code that never got moved.

Tested by existing mask-related layout tests.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleAndScissorRectsInternal):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (120128 => 120129)

--- trunk/Source/WebCore/ChangeLog	2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/ChangeLog	2012-06-12 22:12:52 UTC (rev 120129)
@@ -1,3 +1,21 @@
+2012-06-12  Adrienne Walker  
+
+[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
+https://bugs.webkit.org/show_bug.cgi?id=88895
+
+Reviewed by James Robinson.
+
+We should only set visible layer rects during the recursion in
+CClayerTreeHostCommon and not while we're painting. This is one last
+straggling piece of code that never got moved.
+
+Tested by existing mask-related layout tests.
+
+* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
+* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+(WebCore::calculateVisibleAndScissorRectsInternal):
+
 2012-06-12  Dana Jansens  
 
 [chromium] Return empty visibleLayerRect for layers with empty content bounds


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp (120128 => 120129)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp	2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp	2012-06-12 22:12:52 UTC (rev 120129)
@@ -583,16 +583,12 @@
 // mask and replica should be painted.
 
 LayerChromium* maskLayer = renderSurfaceLayer->maskLayer();
-if (maskLayer) {
-maskLayer->setVisibleLayerRect(IntRect(IntPoint(), renderSurfaceLayer->contentBounds()));
+if (maskLayer)
 update(maskLayer, paintType, updater, 0);
-}
 
 LayerChromium* replicaMaskLayer = renderSurfaceLayer->replicaLayer() ? renderSurfaceLayer->replicaLayer()->maskLayer() : 0;
-if (replicaMaskLayer) {
-replicaMaskLayer->setVisibleLayerRect(IntRect(IntPoint(), renderSurfaceLayer->contentBounds()));
+if (replicaMaskLayer)
 update(replicaMaskLayer, paintType, updater, 0);
-}
 }
 
 void CCLayerTreeHost::paintLayerContents(const LayerList& renderSurfaceLayerList, PaintType paintType, CCTextureUpdater& updater)


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp (120128 => 120129)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp	2012-06-12 22:02:51 UTC (rev 120128)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp	2012-06-12 22:12:52 UTC (rev 120129)
@@ -830,11 +830,17 @@
 
 CCLayerIteratorType end = CCLayerIteratorType::end(&renderSurfaceLayerList);
 for (CCLayerIteratorType it = CCLayerIteratorType::begin(&renderSurfaceLayerList); it != end; ++it) {
-if (!it.representsTargetRenderSurface()) {
+if (it.representsTargetRenderSurface()) {
+LayerType* maskLayer = it->maskLayer();
+if (maskLayer)
+maskLayer->setVisibleLayerRect(IntRect(IntPoint(), it->contentBounds()));
+LayerType* replicaMaskLayer = it->replicaLayer() ? it->replicaLayer()->maskLayer() : 0;
+if (replicaMaskLayer)
+replicaMaskLayer->setVisibleLayerRect(IntRect(IntPoint(), it->contentBounds()));
+} else if (it.representsItself()) {
 IntRect visibleLayerRect = calculateVisibleLayerRect(*it);
 it->setVisibleLayerRect(visibleLayerRect);
-}
-if (it.representsItself()) {
+
 IntRect scissorRect = calculateLayerScissorRect(*it, rootScissorRect);
 it->setScissorRect(scissorRect);
 } else if (it.representsContributingRenderSurface()) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [120125] trunk/Source/WebCore

2012-06-12 Thread enne
Title: [120125] trunk/Source/WebCore








Revision 120125
Author e...@google.com
Date 2012-06-12 14:46:28 -0700 (Tue, 12 Jun 2012)


Log Message
[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
https://bugs.webkit.org/show_bug.cgi?id=2

Reviewed by James Robinson.

Tested manually, as scrollbar layers are currently only created when
threaded compositing is enabled and none of those layout tests trigger
this bug.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore::ScrollbarLayerChromium::setScrollLayerId):
(ScrollbarLayerChromium):
* platform/graphics/chromium/TreeSynchronizer.cpp:
(WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/TreeSynchronizer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (120124 => 120125)

--- trunk/Source/WebCore/ChangeLog	2012-06-12 21:44:54 UTC (rev 120124)
+++ trunk/Source/WebCore/ChangeLog	2012-06-12 21:46:28 UTC (rev 120125)
@@ -1,3 +1,28 @@
+2012-06-12  Adrienne Walker  
+
+[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
+https://bugs.webkit.org/show_bug.cgi?id=2
+
+Reviewed by James Robinson.
+
+Tested manually, as scrollbar layers are currently only created when
+threaded compositing is enabled and none of those layout tests trigger
+this bug.
+
+* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
+(ScrollingCoordinatorPrivate):
+(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
+(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
+(WebCore::createScrollbarLayer):
+(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
+(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
+* platform/graphics/chromium/ScrollbarLayerChromium.h:
+(WebCore::ScrollbarLayerChromium::setScrollLayerId):
+(ScrollbarLayerChromium):
+* platform/graphics/chromium/TreeSynchronizer.cpp:
+(WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
+
 2012-06-12  Mark Mentovai  
 
 [chromium mac] Don't include things in subframeworks of


Modified: trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (120124 => 120125)

--- trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-06-12 21:44:54 UTC (rev 120124)
+++ trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-06-12 21:46:28 UTC (rev 120125)
@@ -45,11 +45,33 @@
 ScrollingCoordinatorPrivate() { }
 ~ScrollingCoordinatorPrivate() { }
 
-void setScrollLayer(LayerChromium* layer) { m_scrollLayer = layer; }
+void setScrollLayer(LayerChromium* layer)
+{
+m_scrollLayer = layer;
+
+int id = layer ? layer->id() : 0;
+if (m_horizontalScrollbarLayer)
+m_horizontalScrollbarLayer->setScrollLayerId(id);
+if (m_verticalScrollbarLayer)
+m_verticalScrollbarLayer->setScrollLayerId(id);
+}
+
+void setHorizontalScrollbarLayer(PassRefPtr layer)
+{
+m_horizontalScrollbarLayer = layer;
+}
+
+void setVerticalScrollbarLayer(PassRefPtr layer)
+{
+m_verticalScrollbarLayer = layer;
+}
+
 LayerChromium* scrollLayer() const { return m_scrollLayer.get(); }
 
 private:
 RefPtr m_scrollLayer;
+RefPtr m_horizontalScrollbarLayer;
+RefPtr m_verticalScrollbarLayer;
 };
 
 PassRefPtr ScrollingCoordinator::create(Page* page)
@@ -81,7 +103,7 @@
 #endif
 }
 
-static void scrollbarLayerDidChange(Scrollbar* scrollbar, LayerChromium* scrollLayer, GraphicsLayer* scrollbarGraphicsLayer, FrameView* frameView)
+static PassRefPtr createScrollbarLayer(Scrollbar* scrollbar, LayerChromium* scrollLayer, GraphicsLayer* scrollbarGraphicsLayer, FrameView* frameView)
 {
 ASSERT(scrollbar);
 ASSERT(scrollbarGraphicsLayer);
@@ -108,13 +130,15 @@
 if (scrollbar->isCustomScrollbar() || !CCProxy::hasImplThread() || !platformSupported) {
 scrollbarGraphicsLayer->setContentsToMedia(0);
 scrollbarGraphicsLayer->setDrawsContent(true);
-return;
+  

[webkit-changes] [120105] trunk/Source/WebKit/chromium

2012-06-12 Thread enne
Title: [120105] trunk/Source/WebKit/chromium








Revision 120105
Author e...@google.com
Date 2012-06-12 12:55:29 -0700 (Tue, 12 Jun 2012)


Log Message
[chromium] Fix incorrect LayerChromium scroll position for RTL overflow pages
https://bugs.webkit.org/show_bug.cgi?id=7

Reviewed by James Robinson.

The scroll position on layers needs to take into account the scroll
origin, since RTL pages start scrolled all the way to the right.
Otherwise, when scrolling left the scroll position incorrectly will go
negative, causing havok in scrollbar theme code that just assumes that
it's always scrolled all the way to the left.

Also, now that the scroll origin is passed into NCCH, handle
scrollOrigin.y() for layer adjusting. This is always zero in practice,
but it seemed awkward to just drop it and that assumption could always
change in the future.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::paintContents):
* src/NonCompositedContentHost.h:
(NonCompositedContentHost):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
trunk/Source/WebKit/chromium/src/NonCompositedContentHost.h
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (120104 => 120105)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-06-12 19:47:59 UTC (rev 120104)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-06-12 19:55:29 UTC (rev 120105)
@@ -1,3 +1,29 @@
+2012-06-12  Adrienne Walker  
+
+[chromium] Fix incorrect LayerChromium scroll position for RTL overflow pages
+https://bugs.webkit.org/show_bug.cgi?id=7
+
+Reviewed by James Robinson.
+
+The scroll position on layers needs to take into account the scroll
+origin, since RTL pages start scrolled all the way to the right.
+Otherwise, when scrolling left the scroll position incorrectly will go
+negative, causing havok in scrollbar theme code that just assumes that
+it's always scrolled all the way to the left.
+
+Also, now that the scroll origin is passed into NCCH, handle
+scrollOrigin.y() for layer adjusting. This is always zero in practice,
+but it seemed awkward to just drop it and that assumption could always
+change in the future.
+
+* src/NonCompositedContentHost.cpp:
+(WebKit::NonCompositedContentHost::setViewport):
+(WebKit::NonCompositedContentHost::paintContents):
+* src/NonCompositedContentHost.h:
+(NonCompositedContentHost):
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::updateLayerTreeViewport):
+
 2012-06-12  Shawn Singh  
 
 [chromium] Make damage tracking more robust to early exits


Modified: trunk/Source/WebKit/chromium/src/NonCompositedContentHost.cpp (120104 => 120105)

--- trunk/Source/WebKit/chromium/src/NonCompositedContentHost.cpp	2012-06-12 19:47:59 UTC (rev 120104)
+++ trunk/Source/WebKit/chromium/src/NonCompositedContentHost.cpp	2012-06-12 19:55:29 UTC (rev 120105)
@@ -98,7 +98,7 @@
 layer->setAlwaysReserveTextures(true);
 }
 
-void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, float deviceScale, int layerAdjustX)
+void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, float deviceScale)
 {
 if (!scrollLayer())
 return;
@@ -106,7 +106,8 @@
 bool visibleRectChanged = m_viewportSize != viewportSize;
 
 m_viewportSize = viewportSize;
-scrollLayer()->setScrollPosition(scrollPosition);
+
+scrollLayer()->setScrollPosition(scrollPosition + toSize(scrollOrigin));
 scrollLayer()->setPosition(-scrollPosition);
 // Due to the possibility of pinch zoom, the noncomposited layer is always
 // assumed to be scrollable.
@@ -115,10 +116,14 @@
 m_graphicsLayer->deviceOrPageScaleFactorChanged();
 m_graphicsLayer->setSize(contentsSize);
 
-m_layerAdjustX = layerAdjustX;
-if (m_graphicsLayer->transform().m41() != m_layerAdjustX) {
+// In RTL-style pages, the origin of the initial containing block for the
+// root layer may be positive; translate the layer to avoid negative
+// coordinates.
+m_layerAdjust = -toSize(scrollOrigin);
+if (m_graphicsLayer->transform().m41() != m_layerAdjust.width() || m_graphicsLayer->transform().m42() != m_layerAdjust.height()) {
 WebCore::TransformationMatrix transform = m_graphicsLayer->transform();
-transform.setM41(m_layerAdjustX);
+transform.setM41(m_layerAdjust.width());
+transform.setM42(m_layerAdjust.height());
 m_graphicsLayer->setTransform(transform);
 

[webkit-changes] [118957] trunk

2012-05-30 Thread enne
Title: [118957] trunk








Revision 118957
Author e...@google.com
Date 2012-05-30 12:51:38 -0700 (Wed, 30 May 2012)


Log Message
Transformed fixed position layers have an incorrect overlap map entry
https://bugs.webkit.org/show_bug.cgi?id=64201

Reviewed by Darin Adler.

Source/WebCore:

Previously, layers that both had a transform and were fixed position
were not considered as being fixed position in RenderGeometryMap or in
RenderBox::mapLocalToContainer (although this case is not incorrect in
the case of painting, so an external caller likely adjusts for this).

Tests: compositing/layer-creation/fixed-position-and-transform.html
   compositing/layer-creation/fixed-position-under-transform.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):

LayoutTests:

Add a test for a layer with both fixed position and a transform to
verify that this is considered as fixed position with respect to the
root.

Also, add a test with a child layer with fixed position and a parent
with a transform to verify that the child is not considered as fixed
position with respect to the root.

* compositing/layer-creation/fixed-position-and-transform-expected.png: Added.
* compositing/layer-creation/fixed-position-and-transform-expected.txt: Added.
* compositing/layer-creation/fixed-position-and-transform.html: Added.
* compositing/layer-creation/fixed-position-under-transform-expected.png: Added.
* compositing/layer-creation/fixed-position-under-transform-expected.txt: Added.
* compositing/layer-creation/fixed-position-under-transform.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderGeometryMap.cpp


Added Paths

trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.png
trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt
trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform.html
trunk/LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.png
trunk/LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt
trunk/LayoutTests/compositing/layer-creation/fixed-position-under-transform.html




Diff

Modified: trunk/LayoutTests/ChangeLog (118956 => 118957)

--- trunk/LayoutTests/ChangeLog	2012-05-30 19:45:20 UTC (rev 118956)
+++ trunk/LayoutTests/ChangeLog	2012-05-30 19:51:38 UTC (rev 118957)
@@ -1,3 +1,25 @@
+2012-05-29  Adrienne Walker  
+
+Transformed fixed position layers have an incorrect overlap map entry
+https://bugs.webkit.org/show_bug.cgi?id=64201
+
+Reviewed by Darin Adler.
+
+Add a test for a layer with both fixed position and a transform to
+verify that this is considered as fixed position with respect to the
+root.
+
+Also, add a test with a child layer with fixed position and a parent
+with a transform to verify that the child is not considered as fixed
+position with respect to the root.
+
+* compositing/layer-creation/fixed-position-and-transform-expected.png: Added.
+* compositing/layer-creation/fixed-position-and-transform-expected.txt: Added.
+* compositing/layer-creation/fixed-position-and-transform.html: Added.
+* compositing/layer-creation/fixed-position-under-transform-expected.png: Added.
+* compositing/layer-creation/fixed-position-under-transform-expected.txt: Added.
+* compositing/layer-creation/fixed-position-under-transform.html: Added.
+
 2012-05-30  Oliver Hunt  
 
 DFG does not correctly handle exceptions caught in the LLInt


Added: trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.png

(Binary files differ)

Property changes on: trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.png
___

Added: svn:mime-type

Added: trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt (0 => 118957)

--- trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt	(rev 0)
+++ trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt	2012-05-30 19:51:38 UTC (rev 118957)
@@ -0,0 +1,21 @@
+(GraphicsLayer
+  (bounds 785.00 5021.00)
+  (children 1
+(GraphicsLayer
+  (bounds 785.00 5021.00)
+  (children 2
+(GraphicsLayer
+  (position 100.00 1100.00)
+  (bounds 256.00 256.00)
+  (drawsContent 1)
+)
+(GraphicsLayer
+  (position 0.00 1000.00)
+  (bounds 500.00 500.00)
+  (drawsContent 1)
+)
+  )
+)
+  )
+)
+
Property changes on: trunk/LayoutTests/compositing/layer-creation/fixed-position-and-transform-expecte

[webkit-changes] [118840] trunk/Source/WebCore

2012-05-29 Thread enne
Title: [118840] trunk/Source/WebCore








Revision 118840
Author e...@google.com
Date 2012-05-29 15:24:47 -0700 (Tue, 29 May 2012)


Log Message
Fix transparent iframes with composited contents in WK1 on Mac
https://bugs.webkit.org/show_bug.cgi?id=76478

Reviewed by Simon Fraser.

Test: compositing/iframes/repaint-after-losing-scrollbars.html

* page/FrameView.cpp:
(WebCore::FrameView::useSlowRepaints):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FrameView.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (118839 => 118840)

--- trunk/Source/WebCore/ChangeLog	2012-05-29 22:22:42 UTC (rev 118839)
+++ trunk/Source/WebCore/ChangeLog	2012-05-29 22:24:47 UTC (rev 118840)
@@ -1,3 +1,15 @@
+2012-05-29  Adrienne Walker  
+
+Fix transparent iframes with composited contents in WK1 on Mac
+https://bugs.webkit.org/show_bug.cgi?id=76478
+
+Reviewed by Simon Fraser.
+
+Test: compositing/iframes/repaint-after-losing-scrollbars.html
+
+* page/FrameView.cpp:
+(WebCore::FrameView::useSlowRepaints):
+
 2012-05-29  David Hyatt  
 
 https://bugs.webkit.org/show_bug.cgi?id=87787


Modified: trunk/Source/WebCore/page/FrameView.cpp (118839 => 118840)

--- trunk/Source/WebCore/page/FrameView.cpp	2012-05-29 22:22:42 UTC (rev 118839)
+++ trunk/Source/WebCore/page/FrameView.cpp	2012-05-29 22:24:47 UTC (rev 118840)
@@ -1259,7 +1259,11 @@
 {
 bool mustBeSlow = m_slowRepaintObjectCount > 0 || (platformWidget() && m_fixedObjectCount > 0);
 
-if (contentsInCompositedLayer())
+// FIXME: WidgetMac.mm makes the assumption that useSlowRepaints ==
+// m_contentIsOpaque, so don't take the fast path for composited layers
+// if they are a platform widget in order to get painting correctness
+// for transparent layers. See the comment in WidgetMac::paint.
+if (contentsInCompositedLayer() && !platformWidget())
 return mustBeSlow;
 
 #if PLATFORM(CHROMIUM)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [118580] trunk/Source/WebCore

2012-05-25 Thread enne
Title: [118580] trunk/Source/WebCore








Revision 118580
Author e...@google.com
Date 2012-05-25 15:49:35 -0700 (Fri, 25 May 2012)


Log Message
[chromium] Add setting for painting debug info onto tiles
https://bugs.webkit.org/show_bug.cgi?id=75763

Reviewed by James Robinson.

Add a compile-time CCSetting to paint debug information onto tiles. This
can help to understand paint counts and layer indices. This setting is
off by default.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerPainter::create):
(WebCore::ContentLayerPainter::paint):
(WebCore::ContentLayerPainter::ContentLayerPainter):
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::UpdatableTile::setUpdateFrame):
(WebCore::UpdatableTile::incrementPaintCount):
(WebCore::UpdatableTile::updateFrame):
(WebCore::UpdatableTile::paintCount):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::paintDebugTileInfo):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (118579 => 118580)

--- trunk/Source/WebCore/ChangeLog	2012-05-25 22:45:57 UTC (rev 118579)
+++ trunk/Source/WebCore/ChangeLog	2012-05-25 22:49:35 UTC (rev 118580)
@@ -1,3 +1,32 @@
+2012-05-25  Adrienne Walker  
+
+[chromium] Add setting for painting debug info onto tiles
+https://bugs.webkit.org/show_bug.cgi?id=75763
+
+Reviewed by James Robinson.
+
+Add a compile-time CCSetting to paint debug information onto tiles. This
+can help to understand paint counts and layer indices. This setting is
+off by default.
+
+* platform/graphics/chromium/ContentLayerChromium.cpp:
+(WebCore::ContentLayerPainter::create):
+(WebCore::ContentLayerPainter::paint):
+(WebCore::ContentLayerPainter::ContentLayerPainter):
+(WebCore::ContentLayerChromium::createTextureUpdater):
+* platform/graphics/chromium/TiledLayerChromium.cpp:
+(WebCore::UpdatableTile::UpdatableTile):
+(WebCore::UpdatableTile::setUpdateFrame):
+(WebCore::UpdatableTile::incrementPaintCount):
+(WebCore::UpdatableTile::updateFrame):
+(WebCore::UpdatableTile::paintCount):
+(WebCore::TiledLayerChromium::TiledLayerChromium):
+(WebCore::TiledLayerChromium::prepareToUpdateTiles):
+(WebCore::TiledLayerChromium::paintDebugTileInfo):
+* platform/graphics/chromium/TiledLayerChromium.h:
+* platform/graphics/chromium/cc/CCLayerTreeHost.h:
+(WebCore::CCSettings::CCSettings):
+
 2012-05-25  Ami Fischman  
 
 [chromium] Default media controls should render only the currentTime-containing buffered range


Modified: trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp (118579 => 118580)

--- trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp	2012-05-25 22:45:57 UTC (rev 118579)
+++ trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp	2012-05-25 22:49:35 UTC (rev 118580)
@@ -49,9 +49,9 @@
 class ContentLayerPainter : public LayerPainterChromium {
 WTF_MAKE_NONCOPYABLE(ContentLayerPainter);
 public:
-static PassOwnPtr create(ContentLayerDelegate* delegate)
+static PassOwnPtr create(ContentLayerDelegate* delegate, TiledLayerChromium* layer)
 {
-return adoptPtr(new ContentLayerPainter(delegate));
+return adoptPtr(new ContentLayerPainter(delegate, layer));
 }
 
 virtual void paint(GraphicsContext& context, const IntRect& contentRect)
@@ -59,19 +59,27 @@
 double paintStart = currentTime();
 context.clearRect(contentRect);
 context.clip(contentRect);
-m_delegate->paintContents(context, contentRect);
-double paintEnd = currentTime();
-double pixelsPerSec = (contentRect.width() * contentRect.height()) / (paintEnd - paintStart);
-WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelContentPaintDurationMS", (paintEnd - paintStart) * 1000, 0, 120, 30);
-WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelContentPaintMegapixPerSecond", pixelsPerSec / 100, 10, 210, 30);
+{
+GraphicsContextStateSaver stateSaver(context, m_layer->layerTreeHost()->settings().debugShowTileInfo);
+
+m_delegate->paintContents(context, contentRect);
+double paintEnd = currentTime();
+double

[webkit-changes] [117664] trunk/Source/WebCore

2012-05-18 Thread enne
Title: [117664] trunk/Source/WebCore








Revision 117664
Author e...@google.com
Date 2012-05-18 18:13:55 -0700 (Fri, 18 May 2012)


Log Message
[chromium] Add diagnostic CRASH calls for tiler crashes
https://bugs.webkit.org/show_bug.cgi?id=86930

Reviewed by James Robinson.

These lines would normally crash on their own due to null pointers,
but having an explicit CRASH call will help us differentiate what the
real problem might be in the crash report.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTile):
(WebCore::TiledLayerChromium::updateTiles):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (117663 => 117664)

--- trunk/Source/WebCore/ChangeLog	2012-05-19 01:11:12 UTC (rev 117663)
+++ trunk/Source/WebCore/ChangeLog	2012-05-19 01:13:55 UTC (rev 117664)
@@ -1,3 +1,18 @@
+2012-05-18  Adrienne Walker  
+
+[chromium] Add diagnostic CRASH calls for tiler crashes
+https://bugs.webkit.org/show_bug.cgi?id=86930
+
+Reviewed by James Robinson.
+
+These lines would normally crash on their own due to null pointers,
+but having an explicit CRASH call will help us differentiate what the
+real problem might be in the crash report.
+
+* platform/graphics/chromium/TiledLayerChromium.cpp:
+(WebCore::TiledLayerChromium::createTile):
+(WebCore::TiledLayerChromium::updateTiles):
+
 2012-05-18  Aaron Colwell  
 
 Update Media Source implementation to reflect changes in 0.5 spec.


Modified: trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp (117663 => 117664)

--- trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp	2012-05-19 01:11:12 UTC (rev 117663)
+++ trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp	2012-05-19 01:13:55 UTC (rev 117664)
@@ -261,6 +261,13 @@
 m_tiler->addTile(tile.release(), i, j);
 
 addedTile->dirtyRect = m_tiler->tileRect(addedTile);
+
+// Temporary diagnostic crash.
+if (!addedTile)
+CRASH();
+if (!tileAt(i, j))
+CRASH();
+
 return addedTile;
 }
 
@@ -363,6 +370,10 @@
 if (!tile)
 tile = createTile(i, j);
 
+// Temporary diagnostic crash
+if (!m_tiler)
+CRASH();
+
 if (!tile->managedTexture()->isValid(m_tiler->tileSize(), m_textureFormat)) {
 // Sets the dirty rect to a full-sized tile with border texels.
 tile->dirtyRect = m_tiler->tileRect(tile);
@@ -412,6 +423,8 @@
 for (int j = top; j <= bottom; ++j) {
 for (int i = left; i <= right; ++i) {
 UpdatableTile* tile = tileAt(i, j);
+if (!tile)
+CRASH();
 if (tile->updated)
 tile->copyAndClearDirty();
 else if (!idle && occlusion && tile->isDirty())






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [117500] branches/chromium/1132/Source

2012-05-17 Thread enne
Title: [117500] branches/chromium/1132/Source








Revision 117500
Author e...@google.com
Date 2012-05-17 14:46:02 -0700 (Thu, 17 May 2012)


Log Message
Merge 117171 - [chromium] Ensure animations get ticked at least once when added.

https://bugs.webkit.org/show_bug.cgi?id=86013

Patch by Ian Vollick < voll...@chromium.org> on 2012-05-15
Reviewed by James Robinson.
Merged by hand by Adrienne Walker, because it didn't apply cleanly.

Source/WebCore:

Tested in

CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::didAddAnimation):
(WebCore):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(CCSingleThreadProxyAnimationTimer):
(WebCore::CCSingleThreadProxyAnimationTimer::create):
(WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
(WebCore):
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::didAddAnimation):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestTickAnimationWhileBackgrounded::animateLayers):
(WTF):

Modified Paths

branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
branches/chromium/1132/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp




Diff

Modified: branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp (117499 => 117500)

--- branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-05-17 21:41:37 UTC (rev 117499)
+++ branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-05-17 21:46:02 UTC (rev 117500)
@@ -595,8 +595,10 @@
 return false;
 
 bool addedAnimation = m_layerAnimationController->addAnimation(values, boxSize, animation, animationId, groupId, timeOffset);
-if (addedAnimation)
+if (addedAnimation) {
+m_layerTreeHost->didAddAnimation();
 setNeedsCommit();
+}
 return addedAnimation;
 }
 


Modified: branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp (117499 => 117500)

--- branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp	2012-05-17 21:41:37 UTC (rev 117499)
+++ branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp	2012-05-17 21:46:02 UTC (rev 117500)
@@ -233,10 +233,8 @@
 
 // We may have added an animation during the tree sync. This will cause both layer tree hosts
 // to visit their controllers.
-if (rootLayer()) {
+if (rootLayer() && m_needsAnimateLayers)
 hostImpl->setNeedsAnimateLayers();
-m_needsAnimateLayers = true;
-}
 
 hostImpl->setSourceFrameNumber(frameNumber());
 hostImpl->setViewportSize(viewportSize());
@@ -339,6 +337,12 @@
 setAnimationEventsRecursive(*events, m_rootLayer.get(), wallClockTime);
 }
 
+void CCLayerTreeHost::didAddAnimation()
+{
+m_needsAnimateLayers = true;
+m_proxy->didAddAnimation();
+}
+
 void CCLayerTreeHost::setRootLayer(PassRefPtr rootLayer)
 {
 if (m_rootLayer == rootLayer)
@@ -407,10 +411,8 @@
 
 // We may have added an animation during the tree sync. This will cause both layer tree hosts
 // to visit their co

[webkit-changes] [117466] trunk/Source/WebCore

2012-05-17 Thread enne
Title: [117466] trunk/Source/WebCore








Revision 117466
Author e...@google.com
Date 2012-05-17 11:22:38 -0700 (Thu, 17 May 2012)


Log Message
Insert source file and line number for v8 function calls into tracing
https://bugs.webkit.org/show_bug.cgi?id=84613

Reviewed by Kentaro Hara.

The trace for v8 function calls doesn't include any information about
what function is being called. Pass this information along so it can
be less opaque.

* bindings/v8/V8Proxy.cpp:
(WebCore::resourceInfo):
(WebCore):
(WebCore::resourceString):
(WebCore::V8Proxy::instrumentedCallFunction):
* platform/chromium/TraceEvent.h:
(WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/v8/V8Proxy.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (117465 => 117466)

--- trunk/Source/WebCore/ChangeLog	2012-05-17 18:21:02 UTC (rev 117465)
+++ trunk/Source/WebCore/ChangeLog	2012-05-17 18:22:38 UTC (rev 117466)
@@ -1,3 +1,22 @@
+2012-05-17  Adrienne Walker  
+
+Insert source file and line number for v8 function calls into tracing
+https://bugs.webkit.org/show_bug.cgi?id=84613
+
+Reviewed by Kentaro Hara.
+
+The trace for v8 function calls doesn't include any information about
+what function is being called. Pass this information along so it can
+be less opaque.
+
+* bindings/v8/V8Proxy.cpp:
+(WebCore::resourceInfo):
+(WebCore):
+(WebCore::resourceString):
+(WebCore::V8Proxy::instrumentedCallFunction):
+* platform/chromium/TraceEvent.h:
+(WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
+
 2012-05-17  Caio Marcelo de Oliveira Filho  
 
 [Qt] REGRESSION(101967): It made editing/style/iframe-onload-crash-mac.html timeout


Modified: trunk/Source/WebCore/bindings/v8/V8Proxy.cpp (117465 => 117466)

--- trunk/Source/WebCore/bindings/v8/V8Proxy.cpp	2012-05-17 18:21:02 UTC (rev 117465)
+++ trunk/Source/WebCore/bindings/v8/V8Proxy.cpp	2012-05-17 18:22:38 UTC (rev 117466)
@@ -69,6 +69,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #if PLATFORM(CHROMIUM)
@@ -387,6 +388,31 @@
 return V8Proxy::instrumentedCallFunction(frame(), function, receiver, argc, args);
 }
 
+static inline void resourceInfo(const v8::Handle function, String& resourceName, int& lineNumber)
+{
+v8::ScriptOrigin origin = function->GetScriptOrigin();
+if (origin.ResourceName().IsEmpty()) {
+resourceName = "undefined";
+lineNumber = 1;
+} else {
+resourceName = toWebCoreString(origin.ResourceName());
+lineNumber = function->GetScriptLineNumber() + 1;
+}
+}
+
+static inline String resourceString(const v8::Handle function)
+{
+String resourceName;
+int lineNumber;
+resourceInfo(function, resourceName, lineNumber);
+
+StringBuilder builder;
+builder.append(resourceName);
+builder.append(':');
+builder.append(String::number(lineNumber));
+return builder.toString();
+}
+
 v8::Local V8Proxy::instrumentedCallFunction(Frame* frame, v8::Handle function, v8::Handle receiver, int argc, v8::Handle args[])
 {
 V8GCController::checkMemoryUsage();
@@ -398,20 +424,16 @@
 
 InspectorInstrumentationCookie cookie;
 if (InspectorInstrumentation::hasFrontends() && context) {
-String resourceName("undefined");
-int lineNumber = 1;
-v8::ScriptOrigin origin = function->GetScriptOrigin();
-if (!origin.ResourceName().IsEmpty()) {
-resourceName = toWebCoreString(origin.ResourceName());
-lineNumber = function->GetScriptLineNumber() + 1;
-}
+String resourceName;
+int lineNumber;
+resourceInfo(function, resourceName, lineNumber);
 cookie = InspectorInstrumentation::willCallFunction(context, resourceName, lineNumber);
 }
 
 v8::Local result;
 {
 #if PLATFORM(CHROMIUM)
-TRACE_EVENT0("v8", "v8.callFunction");
+TRACE_EVENT1("v8", "v8.callFunction", "callsite", resourceString(function).utf8());
 #endif
 V8RecursionScope recursionScope(context);
 result = function->Call(receiver, argc, args);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [117000] branches/chromium/1132/Source

2012-05-14 Thread enne
Title: [117000] branches/chromium/1132/Source








Revision 117000
Author e...@google.com
Date 2012-05-14 14:17:42 -0700 (Mon, 14 May 2012)


Log Message
Merge 116554 - [chromium] Add impl-thread support for fill-mode and direction css animation properties
https://bugs.webkit.org/show_bug.cgi?id=77662

Patch by Ian Vollick  on 2012-05-09
Reviewed by James Robinson.

Source/WebCore:

Adds support for accelerating css animations with -webkit-animation-fill-mode,
and -webkit-animation-direction properties.

Tested in:
  CCActiveAnimationTest.TrimTimeAlternating
  CCLayerAnimationControllerTest.createReversedAnimation
  CCLayerAnimationControllerTest.createAlternatingAnimation
  CCLayerAnimationControllerTest.createReversedAlternatingAnimation

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
(WebCore::CCActiveAnimation::cloneForImplThread):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(CCActiveAnimation):
(WebCore::CCActiveAnimation::alternatesDirection):
(WebCore::CCActiveAnimation::setAlternatesDirection):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

Source/WebKit/chromium:

* tests/CCActiveAnimationTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::TEST):
(WebKitTests):

TBR=commit-qu...@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10384167

Modified Paths

branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.cpp
branches/chromium/1132/Source/WebKit/chromium/tests/CCActiveAnimationTest.cpp
branches/chromium/1132/Source/WebKit/chromium/tests/CCLayerAnimationControllerTest.cpp




Diff

Modified: branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp (116999 => 117000)

--- branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp	2012-05-14 21:12:38 UTC (rev 116999)
+++ branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.cpp	2012-05-14 21:17:42 UTC (rev 117000)
@@ -45,6 +45,7 @@
 , m_runState(WaitingForTargetAvailability)
 , m_iterations(1)
 , m_startTime(0)
+, m_alternatesDirection(false)
 , m_timeOffset(0)
 , m_needsSynchronizedStartTime(false)
 , m_suspended(false)
@@ -119,11 +120,23 @@
 return trimmed;
 
 // If greater than or equal to the total duration, return iteration duration.
-if (m_iterations >= 0 && trimmed >= m_curve->duration() * m_iterations)
+if (m_iterations >= 0 && trimmed >= m_curve->duration() * m_iterations) {
+if (m_alternatesDirection && !(m_iterations % 2))
+return 0;
 return m_curve->duration();
+}
 
-// Finally, return x where trimmed = x + n * m_animation->duration() for some positive integer n.
-return fmod(trimmed, m_curve->duration());
+// We need to know the current iteration if we're alternating.
+int iteration = static_cast(trimmed / m_curve->duration());
+
+// Calculate x where trimmed = x + n * m_curve->duration() for some positive integer n.
+trimmed = fmod(trimmed, m_curve->duration());
+
+// If we're alternating and on an odd iteration, reverse the direction.
+if (m_alternatesDirection && iteration % 2 == 1)
+return m_curve->duration() - trimmed;
+
+return trimmed;
 }
 
 PassOwnPtr CCActiveAnimation::cloneForImplThread() const
@@ -135,6 +148,7 @@
 toReturn->m_pauseTime = m_pauseTime;
 toReturn->m_totalPausedTime = m_totalPausedTime;
 toReturn->m_timeOffset = m_timeOffset;
+toReturn->m_alternatesDirection = m_alternatesDirection;
 return toReturn.release();
 }
 


Modified: branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h (116999 => 117000)

--- branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h	2012-05-14 21:12:38 UTC (rev 116999)
+++ branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCActiveAnimation.h	2012-05-14 21:17:42 UTC (rev 117000)
@@ -90,6 +90,10 @@
 void suspend(double monotonicTime);
 void resume(double monotonicTime);
 
+// If alternatesDirection is true, on odd numbered iterations we reverse the curve.
+bool alternatesDirection() const { return m_alternatesDirection; }
+void setAlternatesDirection(bool alternates) { m_alternatesDirection = alternates; }
+
 bool isFinishedAt(double monotonicTime) const;
 bool isFinished() const { return m_runState == Finished || m_runState == Aborted; }
 
@@ -128,6 +132,7 @@
 RunState m_runState;
 int m_iterations;
 double m_startTime;
+bool m_alternatesDirection;
 
 // The time offset effectively pushes the start of the animat

[webkit-changes] [116998] branches/chromium/1132

2012-05-14 Thread enne
Title: [116998] branches/chromium/1132








Revision 116998
Author e...@google.com
Date 2012-05-14 14:12:00 -0700 (Mon, 14 May 2012)


Log Message
Merge 116786 - [chromium] Ensure that animations continue to run when transform-style is changed
https://bugs.webkit.org/show_bug.cgi?id=83283

Source/WebCore:

Make sure that we transfer animations when changing layers due to a transform-style change.
Unit tested in GraphicsLayerChromiumTest.updateLayerPreserves3DWithAnimations

Patch by Ian Vollick  on 2012-05-11
Reviewed by James Robinson.

Test: animations/change-transform-style-during-animation.html

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerAnimationController):
(WebCore::LayerChromium::releaseLayerAnimationController):
(WebCore):
(WebCore::LayerChromium::notifyAnimationStarted):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::CCLayerAnimationController):
(WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
(WebCore::CCLayerAnimationController::notifyAnimationStarted):
(WebCore::CCLayerAnimationController::setClient):
(WebCore):
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(CCLayerAnimationController):
(WebCore::CCLayerAnimationController::setForceSync):

Source/WebKit/chromium:

Patch by Ian Vollick  on 2012-05-11
Reviewed by James Robinson.

* WebKit.gypi:
* tests/GraphicsLayerChromiumTest.cpp: Added.
(WebKitTests):
(MockGraphicsLayerClient):
(WebKitTests::MockGraphicsLayerClient::notifyAnimationStarted):
(WebKitTests::MockGraphicsLayerClient::notifySyncRequired):
(WebKitTests::MockGraphicsLayerClient::paintContents):
(WebKitTests::MockGraphicsLayerClient::showDebugBorders):
(WebKitTests::MockGraphicsLayerClient::showRepaintCounter):
(WebKitTests::TEST):

LayoutTests:

Patch by Ian Vollick  on 2012-05-11
Reviewed by James Robinson.

* animations/change-transform-style-during-animation-expected.png: Added.
* animations/change-transform-style-during-animation-expected.txt: Added.
* animations/change-transform-style-during-animation.html: Added.

TBR=commit-qu...@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10310152

Modified Paths

branches/chromium/1132/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/LayerChromium.h
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.cpp
branches/chromium/1132/Source/WebCore/platform/graphics/chromium/cc/CCLayerAnimationController.h
branches/chromium/1132/Source/WebKit/chromium/WebKit.gypi


Added Paths

branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation-expected.png
branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation-expected.txt
branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation.html
branches/chromium/1132/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp




Diff

Copied: branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation-expected.png (from rev 116786, trunk/LayoutTests/animations/change-transform-style-during-animation-expected.png) (0 => 116998)

--- branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation-expected.png	(rev 0)
+++ branches/chromium/1132/LayoutTests/animations/change-transform-style-during-animation-expected.png	2012-05-14 21:12:00 UTC (rev 116998)
@@ -0,0 +1,7 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum1ecf3b281e6e08bcec99c07b70fac274Z\xB6\xA4\xA3
+\xC0IDATx\x9C\xED\xDC\xC1	\xC4@\xC1\xDB\xC3yG.'Ѱx\xA9\x8A`\x9E\x8DZ3\xF3\xA0\xF3\xDF=\xE04 &\xB0b &\xB0b &\xB0b\xD7\xEE'X\xCF\xDA=\xE13\xE6\xF6w
+\x80\xF3\xB9`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4\xD6\xCC\xEC\xDEp,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\x98\xC0\x88	,\x80\

[webkit-changes] [116979] trunk/Source

2012-05-14 Thread enne
Title: [116979] trunk/Source








Revision 116979
Author e...@google.com
Date 2012-05-14 12:10:19 -0700 (Mon, 14 May 2012)


Log Message
[chromium] Add compositor debug asserts for blocked main thread
https://bugs.webkit.org/show_bug.cgi?id=86384

Reviewed by James Robinson.

Source/WebCore:

Where we depend for thread-safety that the main thread is blocked,
assert that this is actually the case.

* platform/graphics/chromium/cc/CCProxy.cpp:
(WebCore):
(WebCore::CCProxy::isMainThreadBlocked):
(WebCore::CCProxy::setMainThreadBlocked):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
(WebCore):
(DebugScopedSetMainThreadBlocked):
(WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
(WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::stop):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::beginFrame):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):

Source/WebKit/chromium:

For tests that are just on the impl tree, pretend that the main thread
is always blocked.

* tests/CCLayerTreeHostImplTest.cpp:
(CCLayerTreeHostImplTest):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (116978 => 116979)

--- trunk/Source/WebCore/ChangeLog	2012-05-14 19:06:54 UTC (rev 116978)
+++ trunk/Source/WebCore/ChangeLog	2012-05-14 19:10:19 UTC (rev 116979)
@@ -1,3 +1,33 @@
+2012-05-14  Adrienne Walker  
+
+[chromium] Add compositor debug asserts for blocked main thread
+https://bugs.webkit.org/show_bug.cgi?id=86384
+
+Reviewed by James Robinson.
+
+Where we depend for thread-safety that the main thread is blocked,
+assert that this is actually the case.
+
+* platform/graphics/chromium/cc/CCProxy.cpp:
+(WebCore):
+(WebCore::CCProxy::isMainThreadBlocked):
+(WebCore::CCProxy::setMainThreadBlocked):
+* platform/graphics/chromium/cc/CCProxy.h:
+(CCProxy):
+(WebCore):
+(DebugScopedSetMainThreadBlocked):
+(WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
+(WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
+* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+(WebCore::CCSingleThreadProxy::doCommit):
+(WebCore::CCSingleThreadProxy::stop):
+* platform/graphics/chromium/cc/CCThreadProxy.cpp:
+(WebCore::CCThreadProxy::stop):
+(WebCore::CCThreadProxy::beginFrame):
+* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
+(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
+
 2012-05-14  Swapna P  
 
 Reviewed by Eric Seidel.


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.cpp (116978 => 116979)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.cpp	2012-05-14 19:06:54 UTC (rev 116978)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.cpp	2012-05-14 19:10:19 UTC (rev 116979)
@@ -38,6 +38,7 @@
 namespace {
 #ifndef NDEBUG
 bool implThreadIsOverridden = false;
+bool s_isMainThreadBlocked = false;
 ThreadIdentifier threadIDOverridenToBeImplThread;
 #endif
 CCThread* s_mainThread = 0;
@@ -102,6 +103,16 @@
 if (isImplThread)
 threadIDOverridenToBeImplThread = WTF::currentThread();
 }
+
+bool CCProxy::isMainThreadBlocked()
+{
+return s_isMainThreadBlocked;
+}
+
+void CCProxy::setMainThreadBlocked(bool isMainThreadBlocked)
+{
+s_isMainThreadBlocked = isMainThreadBlocked;
+}
 #endif
 
 CCProxy::CCProxy()


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h (116978 => 116979)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h	2012-05-14 19:06:54 UTC (rev 116978)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h	2012-05-14 19:10:19 UTC (rev 116979)
@@ -106,6 +106,8 @@
 #ifndef NDEBUG
 static bool isMainThread();
 static bool isImplThread();
+static bool isMainThreadBlocked();
+static void setMainThreadBlocked(bool);
 #endif
 
 // Temporary hack while render_widget still does scheduling for CCLayerTreeHostMainThreadI
@@ -121,8 +123,27 @@
 protected:
 CCProxy();
 friend class DebugScopedSetImp

[webkit-changes] [116833] trunk/Source/WebCore

2012-05-11 Thread enne
Title: [116833] trunk/Source/WebCore








Revision 116833
Author e...@google.com
Date 2012-05-11 19:04:46 -0700 (Fri, 11 May 2012)


Log Message
[chromium] Prevent deadlock on CCVideoLayerImpl destruction
https://bugs.webkit.org/show_bug.cgi?id=86258

Reviewed by James Robinson.

~CCVideoLayerImpl had a common deadlock issue where if it got
destroyed before WebMediaPlayerClientImpl, it would take a lock,
call WebMediaPlayerClientImpl::setVideoFrameProviderClient(0),
which in turn would call CCVideoLayerImpl::stopUsingProvider(),
which would try to take the same lock and would deadlock.

CCVideoLayerImpl is only created and destroyed during tree
synchronization in a commit or during synchronous compositor thread
destruction. In either case, the main thread is blocked, and so no
lock needs to be taken at all.

* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::stopUsingProvider):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (116832 => 116833)

--- trunk/Source/WebCore/ChangeLog	2012-05-12 02:01:51 UTC (rev 116832)
+++ trunk/Source/WebCore/ChangeLog	2012-05-12 02:04:46 UTC (rev 116833)
@@ -1,3 +1,26 @@
+2012-05-11  Adrienne Walker  
+
+[chromium] Prevent deadlock on CCVideoLayerImpl destruction
+https://bugs.webkit.org/show_bug.cgi?id=86258
+
+Reviewed by James Robinson.
+
+~CCVideoLayerImpl had a common deadlock issue where if it got
+destroyed before WebMediaPlayerClientImpl, it would take a lock,
+call WebMediaPlayerClientImpl::setVideoFrameProviderClient(0),
+which in turn would call CCVideoLayerImpl::stopUsingProvider(),
+which would try to take the same lock and would deadlock.
+
+CCVideoLayerImpl is only created and destroyed during tree
+synchronization in a commit or during synchronous compositor thread
+destruction. In either case, the main thread is blocked, and so no
+lock needs to be taken at all.
+
+* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
+(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
+(WebCore::CCVideoLayerImpl::stopUsingProvider):
+
 2012-05-11  Jeffrey Pfau  
 
 REGRESSION (r114170): Scroll areas in nested frames improperly placed when tiled drawing is enabled


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp (116832 => 116833)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-05-12 02:01:51 UTC (rev 116832)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-05-12 02:04:46 UTC (rev 116833)
@@ -80,12 +80,17 @@
 , m_frame(0)
 {
 memcpy(m_streamTextureMatrix, flipTransform, sizeof(m_streamTextureMatrix));
-provider->setVideoFrameProviderClient(this);
+
+// This only happens during a commit on the compositor thread while the main
+// thread is blocked. That makes this a thread-safe call to set the video
+// frame provider client that does not require a lock. The same is true of
+// the call in the destructor.
+m_provider->setVideoFrameProviderClient(this);
 }
 
 CCVideoLayerImpl::~CCVideoLayerImpl()
 {
-MutexLocker locker(m_providerMutex);
+// See comment in constructor for why this doesn't need a lock.
 if (m_provider) {
 m_provider->setVideoFrameProviderClient(0);
 m_provider = 0;
@@ -96,7 +101,10 @@
 
 void CCVideoLayerImpl::stopUsingProvider()
 {
+// Block the provider from shutting down until this client is done
+// using the frame.
 MutexLocker locker(m_providerMutex);
+ASSERT(!m_frame);
 m_provider = 0;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [116560] trunk/LayoutTests

2012-05-09 Thread enne
Title: [116560] trunk/LayoutTests








Revision 116560
Author e...@google.com
Date 2012-05-09 15:01:09 -0700 (Wed, 09 May 2012)


Log Message
Update compositing/RTL tests to fail if the root layer is shifted incorrectly
https://bugs.webkit.org/show_bug.cgi?id=85820

Reviewed by James Robinson.

For the Chromium port, if the root layer was shifted incorrectly, the
non-composited red indicator layers would get drawn outside the root
layers bounds, making it impossible to see if the test was failing.

Also turn off overflow:hidden because compositing/ tests have mock
scrollbars. This makes it much easier to debug these tests locally.

* compositing/rtl/rtl-absolute-expected.png:
* compositing/rtl/rtl-absolute-overflow-expected.png:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.png:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled.html:
* compositing/rtl/rtl-absolute-overflow.html:
* compositing/rtl/rtl-absolute.html:
* compositing/rtl/rtl-fixed-expected.png:
* compositing/rtl/rtl-fixed-overflow-expected.png:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.png:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled.html:
* compositing/rtl/rtl-fixed-overflow.html:
* compositing/rtl/rtl-fixed.html:
* compositing/rtl/rtl-iframe-absolute-overflow-expected.png:
* compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
* compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png:
* compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-expected.png:
* compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png:
* compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/compositing/rtl/rtl-absolute-expected.png
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.png
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.png
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled.html
trunk/LayoutTests/compositing/rtl/rtl-absolute-overflow.html
trunk/LayoutTests/compositing/rtl/rtl-absolute.html
trunk/LayoutTests/compositing/rtl/rtl-fixed-expected.png
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.png
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled.html
trunk/LayoutTests/compositing/rtl/rtl-fixed-overflow.html
trunk/LayoutTests/compositing/rtl/rtl-fixed.html
trunk/LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-expected.png
trunk/LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png
trunk/LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.png
trunk/LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt
trunk/LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png
trunk/LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (116559 => 116560)

--- trunk/LayoutTests/ChangeLog	2012-05-09 21:56:11 UTC (rev 116559)
+++ trunk/LayoutTests/ChangeLog	2012-05-09 22:01:09 UTC (rev 116560)
@@ -1,3 +1,42 @@
+2012-05-09  Adrienne Walker  
+
+Update compositing/RTL tests to fail if the root layer is shifted incorrectly
+https://bugs.webkit.org/show_bug.cgi?id=85820
+
+Reviewed by James Robinson.
+
+For the Chromium port, if the root layer was shifted incorrectly, the
+non-composited red indicator layers would get drawn outside the root
+layers bounds, making it impossible to see if the test was failing.
+
+Also turn off overflow:hidden because compositing/ tests have mock
+scrollbars. This makes it much easier to debug these tests locally.
+
+* compositing/rtl/rtl-absolute-expected.png:
+* compositing/rtl/rtl-absolute-overflow-expected.png:
+* compositing/rtl/rtl-absolute-overflow-expected.txt:
+* compositing/rtl/rtl-absolute-overflow-scrolled-expected.png:
+* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
+* compositing/rtl/rtl-absolute-overflow-scrolled.html:
+* compositing/rtl/rtl-absolute-overflow.html:
+* compositing/rtl/rtl-abs

[webkit-changes] [116339] trunk/Source/WebCore

2012-05-07 Thread enne
Title: [116339] trunk/Source/WebCore








Revision 116339
Author e...@google.com
Date 2012-05-07 12:35:40 -0700 (Mon, 07 May 2012)


Log Message
Fix containerForRepaint() assumption about non-null enclosingLayer()
https://bugs.webkit.org/show_bug.cgi?id=85807

Reviewed by Simon Fraser.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (116338 => 116339)

--- trunk/Source/WebCore/ChangeLog	2012-05-07 19:22:05 UTC (rev 116338)
+++ trunk/Source/WebCore/ChangeLog	2012-05-07 19:35:40 UTC (rev 116339)
@@ -1,3 +1,13 @@
+2012-05-07  Adrienne Walker  
+
+Fix containerForRepaint() assumption about non-null enclosingLayer()
+https://bugs.webkit.org/show_bug.cgi?id=85807
+
+Reviewed by Simon Fraser.
+
+* rendering/RenderObject.cpp:
+(WebCore::RenderObject::containerForRepaint):
+
 2012-05-07  Alec Flett  
 
 IndexedDB: Replace numeric constants with strings


Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (116338 => 116339)

--- trunk/Source/WebCore/rendering/RenderObject.cpp	2012-05-07 19:22:05 UTC (rev 116338)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2012-05-07 19:35:40 UTC (rev 116339)
@@ -1255,9 +1255,11 @@
 
 #if USE(ACCELERATED_COMPOSITING)
 if (v->usesCompositing()) {
-RenderLayer* compLayer = enclosingLayer()->enclosingCompositingLayerForRepaint();
-if (compLayer)
-repaintContainer = compLayer->renderer();
+if (RenderLayer* parentLayer = enclosingLayer()) {
+RenderLayer* compLayer = parentLayer->enclosingCompositingLayerForRepaint();
+if (compLayer)
+repaintContainer = compLayer->renderer();
+}
 }
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [116242] trunk/Source/WebKit/chromium

2012-05-06 Thread enne
Title: [116242] trunk/Source/WebKit/chromium








Revision 116242
Author e...@google.com
Date 2012-05-06 15:06:47 -0700 (Sun, 06 May 2012)


Log Message
[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl.  If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
  WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
  WebMediaPlayerClientImplTest.DestroyProvider
  WebMediaPlayerClientImplTest.SetMultipleVideoClients

* WebKit.gypi:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* tests/WebMediaPlayerClientImplTest.cpp: Added.
(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/WebKit.gypi
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h


Added Paths

trunk/Source/WebKit/chromium/tests/WebMediaPlayerClientImplTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (116241 => 116242)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-05-06 22:05:38 UTC (rev 116241)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-05-06 22:06:47 UTC (rev 116242)
@@ -1,3 +1,46 @@
+2012-05-06  Adrienne Walker  
+
+[chromium] Allow WebMediaPlayerClientImpl to switch clients
+https://bugs.webkit.org/show_bug.cgi?id=85093
+
+Reviewed by James Robinson.
+
+WebVideoFrameProviderClient has a 1:1 relationship with a
+WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
+provider is WebMediaPlayerClientImpl.  If the provider gets a new
+client, then the old client needs to be informed to stop using the
+provider.
+
+If this doesn't happen, then the old client will have an unsafe
+pointer to the provider, will not get informed if the provider gets
+deleted, and the client will crash when it dereferences the provider
+pointer trying to tell the provider that its client is going away.
+
+Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
+  WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
+  WebMediaPlayerClientImplTest.DestroyProvider
+  WebMediaPlayerClientImplTest.SetMultipleVideoClients
+
+* WebKit.gypi:
+* src/WebMediaPlayerClientImpl.cpp:
+(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
+* src/WebMediaPlayerClientImpl.h:
+(WebMediaPlayerClientImpl):
+* tests/WebMediaPlayerClientImplTest.cpp: Added.
+(WebKit):
+(FakeWebMediaPlayerClientImpl):
+(WebKit::FakeWebMediaPlayerClientImpl::create):
+(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
+(FakeVideoFrameProviderClient):
+(WebKit::FakeVideoFrameProviderClient::create):
+(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
+(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
+(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
+(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
+(WebKit::FakeVideoFrameProviderClient::provider):
+(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
+(WebKit::TEST):
+
 2012-05-06  Sheriff Bot  
 
 Unreviewed.  Rolled DEPS.


Modified: trunk/Source/WebKit/chromium/WebKit.gypi (116241 => 116242)

--- trunk/Source/WebKit/chromium/WebKit.gypi	2012-05-06 22:05:38 UTC (rev 116241)
+++ trunk/Source/WebKit/chromium/WebKit.gypi	2012-05-06 22:06:47 UTC (rev 116242)
@@ -135,6 +135,7 @@
 'tests/WebCompositorInputHandlerImplTest.cpp',
 'tests/WebFrameTest.cpp',
 '

[webkit-changes] [115734] branches/chromium/1084/Source/WebCore/platform/graphics/chromium/ cc

2012-05-01 Thread enne
Title: [115734] branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc








Revision 115734
Author e...@google.com
Date 2012-05-01 10:08:55 -0700 (Tue, 01 May 2012)


Log Message
Merged 115281 - [chromium] Hold video provider lock from willDraw to didDraw
https://bugs.webkit.org/show_bug.cgi?id=84805

Reviewed by James Robinson.

Note: merged by hand due to conflicts.

* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::appendQuads):
(WebCore::CCVideoLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Modified Paths

branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h




Diff

Modified: branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp (115733 => 115734)

--- branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-05-01 16:59:33 UTC (rev 115733)
+++ branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-05-01 17:08:55 UTC (rev 115734)
@@ -129,8 +129,25 @@
 ASSERT(CCProxy::isImplThread());
 CCLayerImpl::willDraw(layerRenderer);
 
-MutexLocker locker(m_providerMutex);
+// Explicitly lock and unlock the provider mutex so it can be held from
+// willDraw to didDraw. Since the compositor thread is in the middle of
+// drawing, the layer will not be destroyed before didDraw is called.
+// Therefore, the only thing that will prevent this lock from being released
+// is the GPU process locking it. As the GPU process can't cause the
+// destruction of the provider (calling stopUsingProvider), holding this
+// lock should not cause a deadlock.
+m_providerMutex.lock();
 
+willDrawInternal(layerRenderer);
+
+if (!m_frame)
+m_providerMutex.unlock();
+}
+
+void CCVideoLayerImpl::willDrawInternal(LayerRendererChromium* layerRenderer)
+{
+ASSERT(CCProxy::isImplThread());
+
 if (!m_provider) {
 m_frame = 0;
 return;
@@ -157,6 +174,8 @@
 
 void CCVideoLayerImpl::appendQuads(CCQuadCuller& quadList, const CCSharedQuadState* sharedQuadState, bool&)
 {
+ASSERT(CCProxy::isImplThread());
+
 if (!m_frame)
 return;
 
@@ -174,15 +193,15 @@
 ASSERT(CCProxy::isImplThread());
 CCLayerImpl::didDraw();
 
-MutexLocker locker(m_providerMutex);
-
-if (!m_provider || !m_frame)
+if (!m_frame)
 return;
 
 for (unsigned plane = 0; plane < m_frame->planes(); ++plane)
 m_textures[plane].m_texture->unreserve();
 m_provider->putCurrentFrame(m_frame);
 m_frame = 0;
+
+m_providerMutex.unlock();
 }
 
 IntSize CCVideoLayerImpl::computeVisibleSize(const VideoFrameChromium* frame, unsigned plane)


Modified: branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h (115733 => 115734)

--- branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h	2012-05-01 16:59:33 UTC (rev 115733)
+++ branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h	2012-05-01 17:08:55 UTC (rev 115734)
@@ -86,9 +86,11 @@
 static IntSize computeVisibleSize(const VideoFrameChromium*, unsigned plane);
 virtual const char* layerTypeAsString() const { return "VideoLayer"; }
 
+void willDrawInternal(LayerRendererChromium*);
 bool reserveTextures(const VideoFrameChromium*, GC3Denum format, LayerRendererChromium*);
 
-Mutex m_providerMutex; // Guards m_provider below.
+// Guards the destruction of m_provider and the frame that it provides
+Mutex m_providerMutex;
 VideoFrameProvider* m_provider;
 
 Texture m_textures[MaxPlanes];






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [115731] branches/chromium/1084/Source

2012-05-01 Thread enne
Title: [115731] branches/chromium/1084/Source








Revision 115731
Author e...@google.com
Date 2012-05-01 09:41:51 -0700 (Tue, 01 May 2012)


Log Message
Merge 115278 - [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
https://bugs.webkit.org/show_bug.cgi?id=84812

Reviewed by James Robinson.

Note: this did not merge cleanly, and was merged by hand.

Source/WebCore:

Because some layers lock/unlock resources, it needs to be guaranteed
that if willDraw is called on a layer then didDraw will also be called
on that layer before another willDraw or before layer destruction. Add
asserts to make sure that this is the case.

willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
calculateRenderPasses. didDraw was previously called in
CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
skipped by the caller of these functions based on what prepareToDraw
returned (causing didDraw to not be called). Fix this by having an
explicit step to call didDraw on all layers. This new didDrawAllLayers
function must be called if and only if prepareToDraw is called.

Tested by existing tests via new asserts in CCLayerImpl.

* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::~CCLayerImpl):
(WebCore::CCLayerImpl::willDraw):
(WebCore):
(WebCore::CCLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::drawLayers):
(WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::willDraw):
(WebCore::CCScrollbarLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::willDraw):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::didDraw):

Source/WebKit/chromium:

Update all tests to call CCLayerTreeHostImpl::didDrawAllLayers if they
call CCLayerTreeHostImpl::prepareToDraw.

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::CCLayerTreeHostImplTest::initializeLayerRendererAndDrawFrame):
(WebKitTests::TEST_F):

Modified Paths

branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
branches/chromium/1084/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp (115730 => 115731)

--- branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-05-01 16:10:33 UTC (rev 115730)
+++ branches/chromium/1084/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp	2012-05-01 16:41:51 UTC (rev 115731)
@@ -68,6 +68,9 @@
 , m_debugBorderWidth(0)
 , m_drawTransformIsAnimating(false)
 , m_screenSpaceTransformIsAnimating(false)
+#ifndef NDEBUG
+, m_betweenWillDrawAndDidDraw(false)
+#endif
 , m_layerAnimationController(CCLayerAnimationController::create(this))
 {
 ASSERT(CCProxy::isImplThread());
@@ -76,6 +79,9 @@
 CCLayerImpl::~CCLayerImpl()
 {
 ASSERT(CCProxy::isImplThread());
+#ifndef NDEBUG
+ASSERT(!m_betweenWillDrawAndDidDraw);
+#endif
 }
 
 void CCLayerImpl::addChild(PassOwnPtr child)
@@ -135,6 +141,23 @@
 return CCSharedQuadState::create(quadTransform(), drawTransform(), visibleLayerRect(), layerClipRect, drawOpacity(), opaque());
 }
 
+void CCLayerImpl::willDraw(LayerRendererChromium*)
+{
+#ifndef NDEBUG
+// willDraw/didDraw must be matched.
+ASSERT(!m_betweenW

[webkit-changes] [115529] trunk/Source/WebKit/chromium

2012-04-27 Thread enne
Title: [115529] trunk/Source/WebKit/chromium








Revision 115529
Author e...@google.com
Date 2012-04-27 19:55:49 -0700 (Fri, 27 Apr 2012)


Log Message
[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl.  If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
  WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
  WebMediaPlayerClientImplTest.DestroyProvider
  WebMediaPlayerClientImplTest.SetMultipleVideoClients

* WebKit.gypi:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* tests/WebMediaPlayerClientImplTest.cpp: Added.
(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/WebKit.gypi
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h


Added Paths

trunk/Source/WebKit/chromium/tests/WebMediaPlayerClientImplTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (115528 => 115529)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-04-28 02:43:48 UTC (rev 115528)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-04-28 02:55:49 UTC (rev 115529)
@@ -1,3 +1,46 @@
+2012-04-27  Adrienne Walker  
+
+[chromium] Allow WebMediaPlayerClientImpl to switch clients
+https://bugs.webkit.org/show_bug.cgi?id=85093
+
+Reviewed by James Robinson.
+
+WebVideoFrameProviderClient has a 1:1 relationship with a
+WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
+provider is WebMediaPlayerClientImpl.  If the provider gets a new
+client, then the old client needs to be informed to stop using the
+provider.
+
+If this doesn't happen, then the old client will have an unsafe
+pointer to the provider, will not get informed if the provider gets
+deleted, and the client will crash when it dereferences the provider
+pointer trying to tell the provider that its client is going away.
+
+Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
+  WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
+  WebMediaPlayerClientImplTest.DestroyProvider
+  WebMediaPlayerClientImplTest.SetMultipleVideoClients
+
+* WebKit.gypi:
+* src/WebMediaPlayerClientImpl.cpp:
+(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
+* src/WebMediaPlayerClientImpl.h:
+(WebMediaPlayerClientImpl):
+* tests/WebMediaPlayerClientImplTest.cpp: Added.
+(WebKit):
+(FakeWebMediaPlayerClientImpl):
+(WebKit::FakeWebMediaPlayerClientImpl::create):
+(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
+(FakeVideoFrameProviderClient):
+(WebKit::FakeVideoFrameProviderClient::create):
+(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
+(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
+(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
+(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
+(WebKit::FakeVideoFrameProviderClient::provider):
+(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
+(WebKit::TEST):
+
 2012-04-27  Tony Chang  
 
 [chromium] Fix compiler warning in CCSchedulerTest.cpp with gcc 4.6.3


Modified: trunk/Source/WebKit/chromium/WebKit.gypi (115528 => 115529)

--- trunk/Source/WebKit/chromium/WebKit.gypi	2012-04-28 02:43:48 UTC (rev 115528)
+++ trunk/Source/WebKit/chromium/WebKit.gypi	2012-04-28 02:55:49 UTC (rev 115529)
@@ -134,6 +134,7 @@
 'tests/WebCompositorInputHandlerImplTest.cpp',
  

[webkit-changes] [115492] branches/chromium/1084/Source

2012-04-27 Thread enne
Title: [115492] branches/chromium/1084/Source








Revision 115492
Author e...@google.com
Date 2012-04-27 14:08:56 -0700 (Fri, 27 Apr 2012)


Log Message
Merge 114791 - [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
https://bugs.webkit.org/show_bug.cgi?id=84289

Reviewed by James Robinson.

Source/WebCore:

TransparencyWin will create a Skia canvas of whatever size is passed
in, even if the result will ultimately be clipped. Handle the clip
implicitly and try (in some cases) to create a smaller canvas. This
can happen due to RenderBox::paintBoxDecorations passing a paint rect
down of the entire element's size.

Modes with more complicated transforms (ScaleTransform, UnTransform)
are not handled yet.

Tests: TransparencyWin.ClippedKeepTransformNoLayer
   TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
   TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer

* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::computeLayerSize):

Source/WebKit/chromium:

Add a test that would OOM if the layer wasn't clipped. Also, verify
that clipping the canvas doesn't shift pixels around incorrectly.

* tests/TransparencyWinTest.cpp:
(WebCore::testClippedLayerKeepTransform):
(WebCore):
(WebCore::TEST):


TBR=e...@google.com
Review URL: https://chromiumcodereview.appspot.com/10254020

Modified Paths

branches/chromium/1084/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp
branches/chromium/1084/Source/WebKit/chromium/tests/TransparencyWinTest.cpp




Diff

Modified: branches/chromium/1084/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp (115491 => 115492)

--- branches/chromium/1084/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp	2012-04-27 21:07:11 UTC (rev 115491)
+++ branches/chromium/1084/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp	2012-04-27 21:08:56 UTC (rev 115492)
@@ -210,11 +210,19 @@
 // uses the variable: to determine how to translate things to account
 // for the offset of the layer.
 m_transformedSourceRect = m_sourceRect;
-m_layerSize = IntSize(m_sourceRect.width(), m_sourceRect.height());
-} else {
+} else if (m_transformMode == KeepTransform && m_layerMode != TextComposite) {
+// FIXME: support clipping for other modes
+IntRect clippedSourceRect = m_sourceRect;
+SkRect clipBounds;
+if (m_destContext->platformContext()->canvas()->getClipBounds(&clipBounds)) {
+FloatRect clipRect(clipBounds.left(), clipBounds.top(), clipBounds.width(), clipBounds.height());
+clippedSourceRect.intersect(enclosingIntRect(clipRect));
+}
+m_transformedSourceRect = m_orgTransform.mapRect(clippedSourceRect);
+} else
 m_transformedSourceRect = m_orgTransform.mapRect(m_sourceRect);
-m_layerSize = IntSize(m_transformedSourceRect.width(), m_transformedSourceRect.height());
-}
+
+m_layerSize = IntSize(m_transformedSourceRect.width(), m_transformedSourceRect.height());
 }
 
 void TransparencyWin::setupLayer()


Modified: branches/chromium/1084/Source/WebKit/chromium/tests/TransparencyWinTest.cpp (115491 => 115492)

--- branches/chromium/1084/Source/WebKit/chromium/tests/TransparencyWinTest.cpp	2012-04-27 21:07:11 UTC (rev 115491)
+++ branches/chromium/1084/Source/WebKit/chromium/tests/TransparencyWinTest.cpp	2012-04-27 21:08:56 UTC (rev 115492)
@@ -395,6 +395,66 @@
 EXPECT_EQ(green, getPixelAt(src->context(), 15, 7));
 }
 
+static void testClippedLayerKeepTransform(TransparencyWin::LayerMode layerMode)
+{
+// Fill with white.
+OwnPtr src(ImageBuffer::create(IntSize(16, 16), 1, ColorSpaceDeviceRGB));
+Color white(0x);
+FloatRect fullRect(0, 0, 16, 16);
+src->context()->fillRect(fullRect, white, ColorSpaceDeviceRGB);
+
+IntRect clipRect(IntPoint(11, 5), IntSize(1, 1));
+src->context()->clip(clipRect);
+
+// Scroll down by 6 (coordinate system goes up).
+src->context()->save();
+src->context()->translate(0, -6);
+
+Color red(0x);
+Color green(0xFF00FF00);
+{
+// The transparency layer after translation will be @ (0, -6) with
+// a size that would be too large to handle unclipped.
+TransparencyWin helper;
+helper.init(src->context(),
+layerMode,
+TransparencyWin::KeepTransform,
+IntRect(0, 0, INT_MAX, INT_MAX));
+
+// Draw a green pixel at (11, 11). This should be within the clip rect
+// and at (11, 5) after the transform.
+FloatRect greenRect(11, 11, 1, 1);
+helper.context()->fillRect(greenRect, green, ColorSpaceDeviceRGB);
+
+// Draw a red pixel at (9, 9). This should be outside the clip rect
+// and not drawn.
+FloatRect redRect(9, 9, 1, 1);
+helper.context()->fillRect(redRect, red, ColorSpaceDeviceRGB);
+helper.composite();
+}
+
+src->cont

[webkit-changes] [115405] trunk/Source/WebCore

2012-04-26 Thread enne
Title: [115405] trunk/Source/WebCore








Revision 115405
Author e...@google.com
Date 2012-04-26 20:35:30 -0700 (Thu, 26 Apr 2012)


Log Message
[chromium] Remove unused CCLayerImpl::debugID()
https://bugs.webkit.org/show_bug.cgi?id=85019

Reviewed by James Robinson.

CCLayerSorter used debugID() but it was never set anywhere. Change
the CCLayerSorter LOG messages to use id(), which does get set.

* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore::CCLayerSorter::createGraphNodes):
(WebCore::CCLayerSorter::createGraphEdges):
(WebCore::CCLayerSorter::sort):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (115404 => 115405)

--- trunk/Source/WebCore/ChangeLog	2012-04-27 03:32:42 UTC (rev 115404)
+++ trunk/Source/WebCore/ChangeLog	2012-04-27 03:35:30 UTC (rev 115405)
@@ -1,3 +1,20 @@
+2012-04-26  Adrienne Walker  
+
+[chromium] Remove unused CCLayerImpl::debugID()
+https://bugs.webkit.org/show_bug.cgi?id=85019
+
+Reviewed by James Robinson.
+
+CCLayerSorter used debugID() but it was never set anywhere. Change
+the CCLayerSorter LOG messages to use id(), which does get set.
+
+* platform/graphics/chromium/cc/CCLayerImpl.h:
+(CCLayerImpl):
+* platform/graphics/chromium/cc/CCLayerSorter.cpp:
+(WebCore::CCLayerSorter::createGraphNodes):
+(WebCore::CCLayerSorter::createGraphEdges):
+(WebCore::CCLayerSorter::sort):
+
 2012-04-26  Nico Weber  
 
 [chromium] Fix C++ language use.


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h (115404 => 115405)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h	2012-04-27 03:32:42 UTC (rev 115404)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h	2012-04-27 03:35:30 UTC (rev 115405)
@@ -79,10 +79,6 @@
 void setReplicaLayer(PassOwnPtr);
 CCLayerImpl* replicaLayer() const { return m_replicaLayer.get(); }
 
-#ifndef NDEBUG
-int debugID() const { return m_debugID; }
-#endif
-
 PassOwnPtr createSharedQuadState() const;
 // willDraw must be called before appendQuads. If willDraw is called,
 // didDraw is guaranteed to be called before another willDraw or before
@@ -318,12 +314,6 @@
 IntSize m_maxScrollPosition;
 float m_pageScaleDelta;
 
-// Properties owned exclusively by this CCLayerImpl.
-// Debugging.
-#ifndef NDEBUG
-int m_debugID;
-#endif
-
 // Render surface this layer draws into. This is a surface that can belong
 // either to this layer (if m_targetRenderSurface == m_renderSurface) or
 // to an ancestor of this layer. The target render surface determines the


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp (115404 => 115405)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp	2012-04-27 03:32:42 UTC (rev 115404)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp	2012-04-27 03:35:30 UTC (rev 115405)
@@ -233,7 +233,7 @@
 continue;
 
 #if !defined( NDEBUG )
-LOG(CCLayerSorter, "Layer %d (%d x %d)\n", node.layer->debugID(), node.layer->bounds().width(), node.layer->bounds().height());
+LOG(CCLayerSorter, "Layer %d (%d x %d)\n", node.layer->id(), node.layer->bounds().width(), node.layer->bounds().height());
 #endif
 
 TransformationMatrix drawTransform;
@@ -289,7 +289,7 @@
 
 if (startNode) {
 #if !defined( NDEBUG )
-LOG(CCLayerSorter, "%d -> %d\n", startNode->layer->debugID(), endNode->layer->debugID());
+LOG(CCLayerSorter, "%d -> %d\n", startNode->layer->id(), endNode->layer->id());
 #endif
 m_edges.append(GraphEdge(startNode, endNode, weight));
 }
@@ -375,7 +375,7 @@
 sortedList.append(fromNode);
 
 #if !defined( NDEBUG )
-LOG(CCLayerSorter, "%d, ", fromNode->layer->debugID());
+LOG(CCLayerSorter, "%d, ", fromNode->layer->id());
 #endif
 
 // Remove all its outgoing edges from the graph.
@@ -420,7 +420,7 @@
 nextNode->incomingEdgeWeight = 0;
 noIncomingEdgeNodeList.append(nextNode);
 #if !defined( NDEBUG )
-LOG(CCLayerSorter, "Breaking cycle by cleaning up incoming edges from %d (weight = %f)\n", nextNode->layer->debugID(), minIncomingEdgeWeight);
+LOG(CCLayerSorter, "Breaking cycle by cleaning up incoming edges from %d (weight = %f)\n", nextNode->layer->id(), minIncomingEdgeWeight);
 #endif
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [115281] trunk/Source/WebCore

2012-04-25 Thread enne
Title: [115281] trunk/Source/WebCore








Revision 115281
Author e...@google.com
Date 2012-04-25 19:06:41 -0700 (Wed, 25 Apr 2012)


Log Message
[chromium] Hold video provider lock from willDraw to didDraw
https://bugs.webkit.org/show_bug.cgi?id=84805

Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::appendQuads):
(WebCore::CCVideoLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (115280 => 115281)

--- trunk/Source/WebCore/ChangeLog	2012-04-26 02:02:41 UTC (rev 115280)
+++ trunk/Source/WebCore/ChangeLog	2012-04-26 02:06:41 UTC (rev 115281)
@@ -1,3 +1,18 @@
+2012-04-24  Adrienne Walker  
+
+[chromium] Hold video provider lock from willDraw to didDraw
+https://bugs.webkit.org/show_bug.cgi?id=84805
+
+Reviewed by James Robinson.
+
+* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+(WebCore::CCVideoLayerImpl::willDraw):
+(WebCore):
+(WebCore::CCVideoLayerImpl::willDrawInternal):
+(WebCore::CCVideoLayerImpl::appendQuads):
+(WebCore::CCVideoLayerImpl::didDraw):
+* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+
 2012-04-25  Adrienne Walker  
 
 [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp (115280 => 115281)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-04-26 02:02:41 UTC (rev 115280)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp	2012-04-26 02:06:41 UTC (rev 115281)
@@ -123,8 +123,25 @@
 ASSERT(CCProxy::isImplThread());
 CCLayerImpl::willDraw(layerRenderer);
 
-MutexLocker locker(m_providerMutex);
+// Explicitly lock and unlock the provider mutex so it can be held from
+// willDraw to didDraw. Since the compositor thread is in the middle of
+// drawing, the layer will not be destroyed before didDraw is called.
+// Therefore, the only thing that will prevent this lock from being released
+// is the GPU process locking it. As the GPU process can't cause the
+// destruction of the provider (calling stopUsingProvider), holding this
+// lock should not cause a deadlock.
+m_providerMutex.lock();
 
+willDrawInternal(layerRenderer);
+
+if (!m_frame)
+m_providerMutex.unlock();
+}
+
+void CCVideoLayerImpl::willDrawInternal(LayerRendererChromium* layerRenderer)
+{
+ASSERT(CCProxy::isImplThread());
+
 if (!m_provider) {
 m_frame = 0;
 return;
@@ -151,6 +168,8 @@
 
 void CCVideoLayerImpl::appendQuads(CCQuadCuller& quadList, const CCSharedQuadState* sharedQuadState, bool&)
 {
+ASSERT(CCProxy::isImplThread());
+
 if (!m_frame)
 return;
 
@@ -168,15 +187,15 @@
 ASSERT(CCProxy::isImplThread());
 CCLayerImpl::didDraw();
 
-MutexLocker locker(m_providerMutex);
-
-if (!m_provider || !m_frame)
+if (!m_frame)
 return;
 
 for (unsigned plane = 0; plane < m_frame->planes(); ++plane)
 m_textures[plane].m_texture->unreserve();
 m_provider->putCurrentFrame(m_frame);
 m_frame = 0;
+
+m_providerMutex.unlock();
 }
 
 static int videoFrameDimension(int originalDimension, unsigned plane, int format)


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h (115280 => 115281)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h	2012-04-26 02:02:41 UTC (rev 115280)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h	2012-04-26 02:06:41 UTC (rev 115281)
@@ -90,9 +90,11 @@
 static IntSize computeVisibleSize(const WebKit::WebVideoFrame&, unsigned plane);
 virtual const char* layerTypeAsString() const OVERRIDE { return "VideoLayer"; }
 
+void willDrawInternal(LayerRendererChromium*);
 bool reserveTextures(const WebKit::WebVideoFrame&, GC3Denum format, LayerRendererChromium*);
 
-Mutex m_providerMutex; // Guards m_provider below.
+// Guards the destruction of m_provider and the frame that it provides
+Mutex m_providerMutex;
 WebKit::WebVideoFrameProvider* m_provider;
 
 Texture m_textures[MaxPlanes];






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [115278] trunk/Source

2012-04-25 Thread enne
Title: [115278] trunk/Source








Revision 115278
Author e...@google.com
Date 2012-04-25 18:48:08 -0700 (Wed, 25 Apr 2012)


Log Message
[chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
https://bugs.webkit.org/show_bug.cgi?id=84812

Reviewed by James Robinson.

Source/WebCore:

Because some layers lock/unlock resources, it needs to be guaranteed
that if willDraw is called on a layer then didDraw will also be called
on that layer before another willDraw or before layer destruction. Add
asserts to make sure that this is the case.

willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
calculateRenderPasses. didDraw was previously called in
CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
skipped by the caller of these functions based on what prepareToDraw
returned (causing didDraw to not be called). Fix this by having an
explicit step to call didDraw on all layers. This new didDrawAllLayers
function must be called if and only if prepareToDraw is called.

Tested by existing tests via new asserts in CCLayerImpl.

* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::~CCLayerImpl):
(WebCore::CCLayerImpl::willDraw):
(WebCore):
(WebCore::CCLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::drawLayers):
(WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
(WebCore):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::willDraw):
(WebCore::CCScrollbarLayerImpl::didDraw):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::willDraw):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::didDraw):

Source/WebKit/chromium:

Update all tests to call CCLayerTreeHostImpl::didDrawAllLayers if they
call CCLayerTreeHostImpl::prepareToDraw.

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::CCLayerTreeHostImplTest::initializeLayerRendererAndDrawFrame):
(WebKitTests::TEST_F):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (115277 => 115278)

--- trunk/Source/WebCore/ChangeLog	2012-04-26 01:26:09 UTC (rev 115277)
+++ trunk/Source/WebCore/ChangeLog	2012-04-26 01:48:08 UTC (rev 115278)
@@ -1,3 +1,52 @@
+2012-04-25  Adrienne Walker  
+
+[chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
+https://bugs.webkit.org/show_bug.cgi?id=84812
+
+Reviewed by James Robinson.
+
+Because some layers lock/unlock resources, it needs to be guaranteed
+that if willDraw is called on a layer then didDraw will also be called
+on that layer before another willDraw or before layer destruction. Add
+asserts to make sure that this is the case.
+
+willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
+calculateRenderPasses. didDraw was previously called in
+CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
+skipped by the caller of these functions based on what prepareToDraw
+returned (causing didDraw to not be called). Fix this by having an
+explicit step to call didDraw on all layers. This new didDrawAllLayers
+function must be called if and only if prepareToDraw is called.
+
+Tested by existing tests via new asserts in CCLayerImpl.
+
+* platform/graphics/chromium/cc/CCLayerImpl.cpp:
+(WebCore::CCLayerImpl::CCLayerImpl):
+(WebCore::CCLayerImpl::~CCLayerImpl):
+(WebCore::CCLayerImpl::willDraw):
+(WebCore):
+(WebCore::CCLayerImpl::didDraw):
+* platform/graphics/chromium/cc/CCLayerImpl.h:
+(CCLayerImpl):
+* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+(WebCore::CCLayerTreeHostImpl::drawLayers):
+(WebC

[webkit-changes] [115162] trunk/Source/WebCore

2012-04-24 Thread enne
Title: [115162] trunk/Source/WebCore








Revision 115162
Author e...@google.com
Date 2012-04-24 19:58:04 -0700 (Tue, 24 Apr 2012)


Log Message
[chromium] Don't call calculateRenderPasses in CCLayerTreeHostImpl::scrollBegin()
https://bugs.webkit.org/show_bug.cgi?id=84807

Reviewed by James Robinson.

Instead of calculate render passes and quads and tracking damage,
simply calculate the updated render layer list, which is what is
needed for scrolling.  This prevents a willDraw/didDraw mismatch on
layers.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore):
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::ensureMostRecentRenderSurfaceLayerList):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (115161 => 115162)

--- trunk/Source/WebCore/ChangeLog	2012-04-25 02:46:46 UTC (rev 115161)
+++ trunk/Source/WebCore/ChangeLog	2012-04-25 02:58:04 UTC (rev 115162)
@@ -1,3 +1,23 @@
+2012-04-24  Adrienne Walker  
+
+[chromium] Don't call calculateRenderPasses in CCLayerTreeHostImpl::scrollBegin()
+https://bugs.webkit.org/show_bug.cgi?id=84807
+
+Reviewed by James Robinson.
+
+Instead of calculate render passes and quads and tracking damage,
+simply calculate the updated render layer list, which is what is
+needed for scrolling.  This prevents a willDraw/didDraw mismatch on
+layers.
+
+* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
+(WebCore):
+(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+(WebCore::CCLayerTreeHostImpl::ensureMostRecentRenderSurfaceLayerList):
+* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+(CCLayerTreeHostImpl):
+
 2012-04-24  Dana Jansens  
 
 [chromium] Unbounded draws should use clip to limit their damage to opaque tracking


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp (115161 => 115162)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp	2012-04-25 02:46:46 UTC (rev 115161)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp	2012-04-25 02:58:04 UTC (rev 115162)
@@ -240,9 +240,8 @@
 return surfaceDamageRect;
 }
 
-bool CCLayerTreeHostImpl::calculateRenderPasses(CCRenderPassList& passes, CCLayerList& renderSurfaceLayerList)
+void CCLayerTreeHostImpl::calculateRenderSurfaceLayerList(CCLayerList& renderSurfaceLayerList)
 {
-ASSERT(passes.isEmpty());
 ASSERT(renderSurfaceLayerList.isEmpty());
 ASSERT(m_rootLayerImpl);
 
@@ -260,7 +259,14 @@
 TRACE_EVENT("CCLayerTreeHostImpl::calcDrawEtc", this, 0);
 CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility(m_rootLayerImpl.get(), m_rootLayerImpl.get(), identityMatrix, identityMatrix, renderSurfaceLayerList, m_rootLayerImpl->renderSurface()->layerList(), &m_layerSorter, layerRendererCapabilities().maxTextureSize);
 }
+}
 
+bool CCLayerTreeHostImpl::calculateRenderPasses(CCRenderPassList& passes, CCLayerList& renderSurfaceLayerList)
+{
+ASSERT(passes.isEmpty());
+
+calculateRenderSurfaceLayerList(renderSurfaceLayerList);
+
 TRACE_EVENT1("webkit", "CCLayerTreeHostImpl::calculateRenderPasses", "renderSurfaceLayerList.size()", static_cast(renderSurfaceLayerList.size()));
 
 if (layerRendererCapabilities().usingPartialSwap || settings().showSurfaceDamageRects)
@@ -682,10 +688,10 @@
 if (!m_rootLayerImpl)
 return false;
 
-// If we are called after setRootLayer() but before prepareToDraw(), we need to recalculate
-// the visible layers. The return value is ignored because we don't care about checkerboarding.
-CCRenderPassList passes;
-calculateRenderPasses(passes, m_mostRecentRenderSurfaceLayerList);
+// If we are called after setRootLayer() but before prepareToDraw(), we need
+// to recalculate the visible layers. This prevents being unable to scroll
+// during part of a commit.
+calculateRenderSurfaceLayerList(m_mostRecentRenderSurfaceLayerList);
 
 return m_mostRecentRenderSurfaceLayerList.size();
 }


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h (115161 => 115162)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h	2012-04-25 02:46:46 UTC (rev 115161)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h	2012-04-25 02:58:04 UTC (rev 115162)
@@ -176,6 +176,7 @@
 void setPageScaleDelta(float);
 void updateMaxScrollPosition();
 void trackDamageForAllSurfaces(CCLayerImp

[webkit-changes] [114791] trunk/Source

2012-04-20 Thread enne
Title: [114791] trunk/Source








Revision 114791
Author e...@google.com
Date 2012-04-20 15:35:40 -0700 (Fri, 20 Apr 2012)


Log Message
[chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
https://bugs.webkit.org/show_bug.cgi?id=84289

Reviewed by James Robinson.

Source/WebCore:

TransparencyWin will create a Skia canvas of whatever size is passed
in, even if the result will ultimately be clipped. Handle the clip
implicitly and try (in some cases) to create a smaller canvas. This
can happen due to RenderBox::paintBoxDecorations passing a paint rect
down of the entire element's size.

Modes with more complicated transforms (ScaleTransform, UnTransform)
are not handled yet.

Tests: TransparencyWin.ClippedKeepTransformNoLayer
   TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
   TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer

* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::computeLayerSize):

Source/WebKit/chromium:

Add a test that would OOM if the layer wasn't clipped. Also, verify
that clipping the canvas doesn't shift pixels around incorrectly.

* tests/TransparencyWinTest.cpp:
(WebCore::testClippedLayerKeepTransform):
(WebCore):
(WebCore::TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/TransparencyWinTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (114790 => 114791)

--- trunk/Source/WebCore/ChangeLog	2012-04-20 22:33:46 UTC (rev 114790)
+++ trunk/Source/WebCore/ChangeLog	2012-04-20 22:35:40 UTC (rev 114791)
@@ -1,3 +1,26 @@
+2012-04-20  Adrienne Walker  
+
+[chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
+https://bugs.webkit.org/show_bug.cgi?id=84289
+
+Reviewed by James Robinson.
+
+TransparencyWin will create a Skia canvas of whatever size is passed
+in, even if the result will ultimately be clipped. Handle the clip
+implicitly and try (in some cases) to create a smaller canvas. This
+can happen due to RenderBox::paintBoxDecorations passing a paint rect
+down of the entire element's size.
+
+Modes with more complicated transforms (ScaleTransform, UnTransform)
+are not handled yet.
+
+Tests: TransparencyWin.ClippedKeepTransformNoLayer
+   TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
+   TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer
+
+* platform/graphics/chromium/TransparencyWin.cpp:
+(WebCore::TransparencyWin::computeLayerSize):
+
 2012-04-04  Jer Noble  
 
 apple.com top navigation bar appears inside video during full screen exit animation


Modified: trunk/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp (114790 => 114791)

--- trunk/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp	2012-04-20 22:33:46 UTC (rev 114790)
+++ trunk/Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp	2012-04-20 22:35:40 UTC (rev 114791)
@@ -210,11 +210,19 @@
 // uses the variable: to determine how to translate things to account
 // for the offset of the layer.
 m_transformedSourceRect = m_sourceRect;
-m_layerSize = IntSize(m_sourceRect.width(), m_sourceRect.height());
-} else {
+} else if (m_transformMode == KeepTransform && m_layerMode != TextComposite) {
+// FIXME: support clipping for other modes
+IntRect clippedSourceRect = m_sourceRect;
+SkRect clipBounds;
+if (m_destContext->platformContext()->canvas()->getClipBounds(&clipBounds)) {
+FloatRect clipRect(clipBounds.left(), clipBounds.top(), clipBounds.width(), clipBounds.height());
+clippedSourceRect.intersect(enclosingIntRect(clipRect));
+}
+m_transformedSourceRect = m_orgTransform.mapRect(clippedSourceRect);
+} else
 m_transformedSourceRect = m_orgTransform.mapRect(m_sourceRect);
-m_layerSize = IntSize(m_transformedSourceRect.width(), m_transformedSourceRect.height());
-}
+
+m_layerSize = IntSize(m_transformedSourceRect.width(), m_transformedSourceRect.height());
 }
 
 void TransparencyWin::setupLayer()


Modified: trunk/Source/WebKit/chromium/ChangeLog (114790 => 114791)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-04-20 22:33:46 UTC (rev 114790)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-04-20 22:35:40 UTC (rev 114791)
@@ -1,3 +1,18 @@
+2012-04-20  Adrienne Walker  
+
+[chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
+https://bugs.webkit.org/show_bug.cgi?id=84289
+
+Reviewed by James Robinson.
+
+Add a test that would OOM if the layer wasn't clipped. Also, verify
+that clipping the canvas doesn't shift pixels around incorrectly.
+
+* tests/TransparencyWinTest.cpp:
+(WebCore::testClippedLayerKeepTransfo

[webkit-changes] [114607] trunk/Source/WebCore

2012-04-18 Thread enne
Title: [114607] trunk/Source/WebCore








Revision 114607
Author e...@google.com
Date 2012-04-18 21:51:19 -0700 (Wed, 18 Apr 2012)


Log Message
[chromium] Consolidate adjustTextRenderMode copypasta into Skia context
https://bugs.webkit.org/show_bug.cgi?id=83840

Reviewed by James Robinson.

The same logic to decide when to make text use LCD rendering is copy
and pasted in all the different font classes. It seems like this
should live in a single place.

* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/skia/FontSkia.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::adjustTextRenderMode):
(WebCore):
(WebCore::PlatformContextSkia::couldUseLCDRenderedText):
* platform/graphics/skia/PlatformContextSkia.h:
(PlatformContextSkia):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::setupPaintForFont):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/harfbuzz/FontHarfBuzz.cpp
trunk/Source/WebCore/platform/graphics/skia/FontSkia.cpp
trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h
trunk/Source/WebCore/platform/graphics/skia/SkiaFontWin.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (114606 => 114607)

--- trunk/Source/WebCore/ChangeLog	2012-04-19 04:45:40 UTC (rev 114606)
+++ trunk/Source/WebCore/ChangeLog	2012-04-19 04:51:19 UTC (rev 114607)
@@ -1,3 +1,28 @@
+2012-04-18  Adrienne Walker  
+
+[chromium] Consolidate adjustTextRenderMode copypasta into Skia context
+https://bugs.webkit.org/show_bug.cgi?id=83840
+
+Reviewed by James Robinson.
+
+The same logic to decide when to make text use LCD rendering is copy
+and pasted in all the different font classes. It seems like this
+should live in a single place.
+
+* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
+(WebCore::Font::drawGlyphs):
+(WebCore::Font::drawComplexText):
+* platform/graphics/skia/FontSkia.cpp:
+(WebCore::Font::drawGlyphs):
+* platform/graphics/skia/PlatformContextSkia.cpp:
+(WebCore::PlatformContextSkia::adjustTextRenderMode):
+(WebCore):
+(WebCore::PlatformContextSkia::couldUseLCDRenderedText):
+* platform/graphics/skia/PlatformContextSkia.h:
+(PlatformContextSkia):
+* platform/graphics/skia/SkiaFontWin.cpp:
+(WebCore::setupPaintForFont):
+
 2012-04-18  Hironori Bono  
 
 Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled()


Modified: trunk/Source/WebCore/platform/graphics/harfbuzz/FontHarfBuzz.cpp (114606 => 114607)

--- trunk/Source/WebCore/platform/graphics/harfbuzz/FontHarfBuzz.cpp	2012-04-19 04:45:40 UTC (rev 114606)
+++ trunk/Source/WebCore/platform/graphics/harfbuzz/FontHarfBuzz.cpp	2012-04-19 04:51:19 UTC (rev 114607)
@@ -60,16 +60,6 @@
 return false;
 }
 
-static void adjustTextRenderMode(SkPaint* paint, PlatformContextSkia* skiaContext)
-{
-// Our layers only have a single alpha channel. This means that subpixel
-// rendered text cannot be compositied correctly when the layer is
-// collapsed. Therefore, subpixel text is disabled when we are drawing
-// onto a layer or when the compositor is being used.
-if (skiaContext->canvas()->isDrawingToLayer() || skiaContext->isDrawingToImageBuffer())
-paint->setLCDRenderText(false);
-}
-
 void Font::drawGlyphs(GraphicsContext* gc, const SimpleFontData* font,
   const GlyphBuffer& glyphBuffer,  int from, int numGlyphs,
   const FloatPoint& point) const {
@@ -111,7 +101,7 @@
 SkPaint paint;
 gc->platformContext()->setupPaintForFilling(&paint);
 font->platformData().setupPaint(&paint);
-adjustTextRenderMode(&paint, gc->platformContext());
+gc->platformContext()->adjustTextRenderMode(&paint);
 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
 
 if (isVertical) {
@@ -133,7 +123,7 @@
 SkPaint paint;
 gc->platformContext()->setupPaintForStroking(&paint, 0, 0);
 font->platformData().setupPaint(&paint);
-adjustTextRenderMode(&paint, gc->platformContext());
+gc->platformContext()->adjustTextRenderMode(&paint);
 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
 
 if (textMode & TextModeFill) {
@@ -201,13 +191,13 @@
 
 if (fill) {
 controller.fontPlatformDataForScriptRun()->setupPaint(&fillPaint);
-adjustTextRenderMode(&fillPaint, gc->platformContext());
+gc->platformContext()->adjustTextRenderMode(&fillPaint);
 canvas->drawPosText(controller.glyphs() + fromGlyph, glyphLength << 1, controller.positions() + fromGlyph, fillPaint);
 }
 
 if (stroke) {
 con

[webkit-changes] [114533] trunk/LayoutTests

2012-04-18 Thread enne
Title: [114533] trunk/LayoutTests








Revision 114533
Author e...@google.com
Date 2012-04-18 11:03:39 -0700 (Wed, 18 Apr 2012)


Log Message
[chromium] Unreviewed, rebaseline compositing tests after r114283.
https://bugs.webkit.org/show_bug.cgi?id=84083

* platform/chromium-linux/compositing/overflow/overflow-positioning-expected.png:
* platform/chromium-mac-leopard/compositing/overflow/overflow-positioning-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/overflow/overflow-positioning-expected.png:
* platform/chromium-mac/compositing/overflow/overflow-positioning-expected.png:
* platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt: Added.
* platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt: Added.
* platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt: Added.
* platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium-win/compositing/overflow/overflow-positioning-expected.png:
* platform/chromium/test_expectations.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/test_expectations.txt
trunk/LayoutTests/platform/chromium-linux/compositing/overflow/overflow-positioning-expected.png
trunk/LayoutTests/platform/chromium-mac/compositing/overflow/overflow-positioning-expected.png
trunk/LayoutTests/platform/chromium-mac-snowleopard/compositing/overflow/overflow-positioning-expected.png
trunk/LayoutTests/platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt
trunk/LayoutTests/platform/chromium-win/compositing/overflow/overflow-positioning-expected.png


Added Paths

trunk/LayoutTests/platform/chromium-mac-leopard/compositing/overflow/overflow-positioning-expected.png
trunk/LayoutTests/platform/chromium-win/compositing/backing/
trunk/LayoutTests/platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt
trunk/LayoutTests/platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt
trunk/LayoutTests/platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (114532 => 114533)

--- trunk/LayoutTests/ChangeLog	2012-04-18 18:01:53 UTC (rev 114532)
+++ trunk/LayoutTests/ChangeLog	2012-04-18 18:03:39 UTC (rev 114533)
@@ -1,3 +1,19 @@
+2012-04-18  Adrienne Walker  
+
+[chromium] Unreviewed, rebaseline compositing tests after r114283.
+https://bugs.webkit.org/show_bug.cgi?id=84083
+
+* platform/chromium-linux/compositing/overflow/overflow-positioning-expected.png:
+* platform/chromium-mac-leopard/compositing/overflow/overflow-positioning-expected.png: Added.
+* platform/chromium-mac-snowleopard/compositing/overflow/overflow-positioning-expected.png:
+* platform/chromium-mac/compositing/overflow/overflow-positioning-expected.png:
+* platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt: Added.
+* platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt: Added.
+* platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt: Added.
+* platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
+* platform/chromium-win/compositing/overflow/overflow-positioning-expected.png:
+* platform/chromium/test_expectations.txt:
+
 2012-04-18  Sheriff Bot  
 
 Unreviewed, rolling out r114506.


Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (114532 => 114533)

--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-04-18 18:01:53 UTC (rev 114532)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-04-18 18:03:39 UTC (rev 114533)
@@ -3721,12 +3721,6 @@
 BUGWK84065 MAC DEBUG : platform/chromium/virtual/gpu/fast/canvas/webgl/shader-precision-format.html = TEXT
 BUGWK84065 WIN DEBUG : platform/chromium/virtual/gpu/fast/canvas/webgl/shader-precision-format.html = TEXT
 
-BUGWK84083 : compositing/backing/no-backing-for-clip.html = TEXT
-BUGWK84083 : compositing/backing/no-backing-for-clip-overlap.html = TEXT
-BUGWK84083 : compositing/backing/no-backing-for-perspective.html = TEXT
-BUGWK84083 : compositing/geometry/preserve-3d-switching.html = TEXT
-BUGWK84083 : compositing/overflow/overflow-positioning.html = IMAGE
-
 BUGWK83906 : ietestcenter/css3/grid/grid-column-001.htm = IMAGE
 BUGWK83907 : ietestcenter/css3/grid/grid-column-002.htm = IMAGE
 BUGWK83909 : ietestcenter/css3/grid/grid-column-003.htm = IMAGE


Modified: trunk/LayoutTests/platform/chromium-linux/compositing/overflow/overflow-positioning-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium-mac/compositing/overflow/overflow-positioning-expected.png

(Binary files differ)


Added: trunk/LayoutTests/platform/chromium-mac-leopard/compositing/overflow/overflow-positioning-expected.png

(Binary files differ)

P

[webkit-changes] [113947] trunk/Source/WebKit/chromium

2012-04-12 Thread enne
Title: [113947] trunk/Source/WebKit/chromium








Revision 113947
Author e...@google.com
Date 2012-04-12 01:09:03 -0700 (Thu, 12 Apr 2012)


Log Message
[chromium] Fix Windows compiler warnings in webkit_unit_test target
https://bugs.webkit.org/show_bug.cgi?id=83732

Reviewed by Kent Tamura.

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::TEST_F):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCLayerTreeHostCommonTest.cpp:
(WebKitTests::TEST):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::TEST_F):
* tests/CCQuadCullerTest.cpp:
(WebCore::TEST):
* tests/FloatQuadTest.cpp:
(WebCore::TEST):
* tests/ScrollAnimatorNoneTest.cpp:
(TEST_F):
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::TEST):
* tests/WebLayerTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
trunk/Source/WebKit/chromium/tests/CCLayerImplTest.cpp
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
trunk/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
trunk/Source/WebKit/chromium/tests/FloatQuadTest.cpp
trunk/Source/WebKit/chromium/tests/ScrollAnimatorNoneTest.cpp
trunk/Source/WebKit/chromium/tests/TreeSynchronizerTest.cpp
trunk/Source/WebKit/chromium/tests/WebLayerTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (113946 => 113947)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-04-12 07:08:09 UTC (rev 113946)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-04-12 08:09:03 UTC (rev 113947)
@@ -1,3 +1,28 @@
+2012-04-12  Adrienne Walker  
+
+[chromium] Fix Windows compiler warnings in webkit_unit_test target
+https://bugs.webkit.org/show_bug.cgi?id=83732
+
+Reviewed by Kent Tamura.
+
+* tests/CCDamageTrackerTest.cpp:
+(WebKitTests::TEST_F):
+* tests/CCLayerImplTest.cpp:
+(WebCore::TEST):
+* tests/CCLayerTreeHostCommonTest.cpp:
+(WebKitTests::TEST):
+* tests/CCLayerTreeHostImplTest.cpp:
+(WebKitTests::TEST_F):
+* tests/CCQuadCullerTest.cpp:
+(WebCore::TEST):
+* tests/FloatQuadTest.cpp:
+(WebCore::TEST):
+* tests/ScrollAnimatorNoneTest.cpp:
+(TEST_F):
+* tests/TreeSynchronizerTest.cpp:
+(WebKitTests::TEST):
+* tests/WebLayerTest.cpp:
+
 2012-04-11  Alec Flett  
 
 IndexedDB: Stub out WebKit interface for get(IndexedKeyRange)


Modified: trunk/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp (113946 => 113947)

--- trunk/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp	2012-04-12 07:08:09 UTC (rev 113946)
+++ trunk/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp	2012-04-12 08:09:03 UTC (rev 113947)
@@ -432,8 +432,8 @@
 // CASE 2: Same as previous case, but with additional damage elsewhere that should be properly unioned.
 // - child1 surface damage in root surface space: FloatRect(300, 300, 6, 8);
 // - child2 damage in root surface space: FloatRect(11, 11, 18, 18);
-grandChild1->setOpacity(0.7);
-child2->setOpacity(0.7);
+grandChild1->setOpacity(0.7f);
+child2->setOpacity(0.7f);
 emulateDrawingOneFrame(root.get());
 childDamageRect = child1->renderSurface()->damageTracker()->currentDamageRect();
 rootDamageRect = root->renderSurface()->damageTracker()->currentDamageRect();
@@ -776,7 +776,7 @@
 ASSERT_TRUE(grandChild1->renderSurface());
 
 // CASE 1: a property change on the mask should damage only the reflected region on the target surface.
-replicaMaskLayer->setOpacity(0.6);
+replicaMaskLayer->setOpacity(0.6f);
 emulateDrawingOneFrame(root.get());
 
 FloatRect grandChildDamageRect = grandChild1->renderSurface()->damageTracker()->currentDamageRect();
@@ -836,7 +836,7 @@
 ASSERT_TRUE(grandChild1->renderSurface());
 
 // A property change on the replicaMask should damage the reflected region on the target surface.
-replicaMaskLayer->setOpacity(0.6);
+replicaMaskLayer->setOpacity(0.6f);
 emulateDrawingOneFrame(root.get());
 
 FloatRect childDamageRect = child1->renderSurface()->damageTracker()->currentDamageRect();


Modified: trunk/Source/WebKit/chromium/tests/CCLayerImplTest.cpp (113946 => 113947)

--- trunk/Source/WebKit/chromium/tests/CCLayerImplTest.cpp	2012-04-12 07:08:09 UTC (rev 113946)
+++ trunk/Source/WebKit/chromium/tests/CCLayerImplTest.cpp	2012-04-12 08:09:03 UTC (rev 113947)
@@ -81,7 +81,7 @@
 IntSize arbitraryIntSize = IntSize(111, 222);
 IntPoint arbitraryIntPoint = IntPoint(333, 444);
 IntRect arbitraryIntRect = IntRect(arbitraryIntPoint, arbitraryIntSize);
-FloatRect arbitraryFloatRect = FloatRect(arbitraryFloatPoint, FloatSize(1.234, 5.678));
+FloatRect arbitraryFloatRect = FloatRect(arbitraryFloatPoint, FloatSize(1.234f, 5.678f));
 Color arbitraryColor = Color(10, 20, 30);
 TransformationMatrix arbitraryTransform;
 arbitraryTransform.scale3d(0.1, 0.2, 0.3);

[webkit-changes] [113883] trunk

2012-04-11 Thread enne
Title: [113883] trunk








Revision 113883
Author e...@google.com
Date 2012-04-11 11:20:23 -0700 (Wed, 11 Apr 2012)


Log Message
Fix regression where a clip style change did not update layer sizes
https://bugs.webkit.org/show_bug.cgi?id=82990

Reviewed by Simon Fraser.

Source/WebCore:

After r111456, the size of composited layers also used clip, whereas
it previously had only used overflow. Because of this, when clip
changes on a render layer, it needs to recalculate its layer tree.

Test: compositing/clip-change.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::styleChanged):

LayoutTests:

* compositing/clip-change-expected.png: Added.
* compositing/clip-change-expected.txt: Added.
* compositing/clip-change.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp


Added Paths

trunk/LayoutTests/compositing/clip-change-expected.png
trunk/LayoutTests/compositing/clip-change-expected.txt
trunk/LayoutTests/compositing/clip-change.html




Diff

Modified: trunk/LayoutTests/ChangeLog (113882 => 113883)

--- trunk/LayoutTests/ChangeLog	2012-04-11 18:03:37 UTC (rev 113882)
+++ trunk/LayoutTests/ChangeLog	2012-04-11 18:20:23 UTC (rev 113883)
@@ -1,3 +1,14 @@
+2012-04-11  Adrienne Walker  
+
+Fix regression where a clip style change did not update layer sizes
+https://bugs.webkit.org/show_bug.cgi?id=82990
+
+Reviewed by Simon Fraser.
+
+* compositing/clip-change-expected.png: Added.
+* compositing/clip-change-expected.txt: Added.
+* compositing/clip-change.html: Added.
+
 2012-04-11  Dave Tharp  
 
 Expectations update after 81936 and 82734


Added: trunk/LayoutTests/compositing/clip-change-expected.png (0 => 113883)

--- trunk/LayoutTests/compositing/clip-change-expected.png	(rev 0)
+++ trunk/LayoutTests/compositing/clip-change-expected.png	2012-04-11 18:20:23 UTC (rev 113883)
@@ -0,0 +1,7 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum778803df0a824ed8f2c7dfa07c56832eh\x9F\xBD\xAC
+\xB7IDATx\x9C\xED\xD8\xC1	\x80@A\xCF\xC45\xF35
+\x87R\xC1<\x9BY\xC7}\xF0\xD2\\xB3{\xF0\xE7\xEE#\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b &\xB0b \xB6ff\xF7\x80_\xF1`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\xC4@L`\x

[webkit-changes] [113830] trunk/Source/WebCore

2012-04-10 Thread enne
Title: [113830] trunk/Source/WebCore








Revision 113830
Author e...@google.com
Date 2012-04-10 23:26:39 -0700 (Tue, 10 Apr 2012)


Log Message
[chromium] Signedness issue with code informing v8 of PatternSkia memory use
https://bugs.webkit.org/show_bug.cgi?id=83642

Reviewed by James Robinson.

The unary negation of size_t is still a size_t, so clamp and cast to
an int instead when adjusting v8 memory limits.

* platform/graphics/Pattern.h:
(Pattern):
* platform/graphics/skia/PatternSkia.cpp:
(WebCore::Pattern::platformPattern):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/Pattern.h
trunk/Source/WebCore/platform/graphics/skia/PatternSkia.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (113829 => 113830)

--- trunk/Source/WebCore/ChangeLog	2012-04-11 05:39:23 UTC (rev 113829)
+++ trunk/Source/WebCore/ChangeLog	2012-04-11 06:26:39 UTC (rev 113830)
@@ -1,3 +1,18 @@
+2012-04-10  Adrienne Walker  
+
+[chromium] Signedness issue with code informing v8 of PatternSkia memory use
+https://bugs.webkit.org/show_bug.cgi?id=83642
+
+Reviewed by James Robinson.
+
+The unary negation of size_t is still a size_t, so clamp and cast to
+an int instead when adjusting v8 memory limits.
+
+* platform/graphics/Pattern.h:
+(Pattern):
+* platform/graphics/skia/PatternSkia.cpp:
+(WebCore::Pattern::platformPattern):
+
 2012-04-10  Noel Gordon  
 
 [chromium] ImageBuffer minor style fix: remove compound declaration


Modified: trunk/Source/WebCore/platform/graphics/Pattern.h (113829 => 113830)

--- trunk/Source/WebCore/platform/graphics/Pattern.h	2012-04-11 05:39:23 UTC (rev 113829)
+++ trunk/Source/WebCore/platform/graphics/Pattern.h	2012-04-11 06:26:39 UTC (rev 113830)
@@ -96,7 +96,7 @@
 AffineTransform m_patternSpaceTransformation;
 PlatformPatternPtr m_pattern;
 #if USE(SKIA)
-size_t m_externalMemoryAllocated;
+int m_externalMemoryAllocated;
 #endif
 };
 


Modified: trunk/Source/WebCore/platform/graphics/skia/PatternSkia.cpp (113829 => 113830)

--- trunk/Source/WebCore/platform/graphics/skia/PatternSkia.cpp	2012-04-11 05:39:23 UTC (rev 113829)
+++ trunk/Source/WebCore/platform/graphics/skia/PatternSkia.cpp	2012-04-11 06:26:39 UTC (rev 113830)
@@ -40,6 +40,8 @@
 
 #include 
 
+using namespace std;
+
 namespace WebCore {
 
 void Pattern::platformDestroy()
@@ -96,7 +98,8 @@
 canvas.drawBitmap(image->bitmap(), 0, 0);
 m_pattern = SkShader::CreateBitmapShader(bm2, tileModeX, tileModeY);
 
-m_externalMemoryAllocated = bm2.getSafeSize();
+// Clamp to int, since that's what the adjust function takes.
+m_externalMemoryAllocated = static_cast(min(static_cast(INT_MAX), bm2.getSafeSize()));
 v8::V8::AdjustAmountOfExternalAllocatedMemory(m_externalMemoryAllocated);
 }
 m_pattern->setLocalMatrix(m_patternSpaceTransformation);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [113529] trunk/Tools

2012-04-06 Thread enne
Title: [113529] trunk/Tools








Revision 113529
Author e...@google.com
Date 2012-04-06 18:09:56 -0700 (Fri, 06 Apr 2012)


Log Message
[chromium] Add virtual test suite for threaded compositing
https://bugs.webkit.org/show_bug.cgi?id=82263

Reviewed by James Robinson.

Add compositing/visibility as a virtual test suites to test threaded
compositing with. This is a reasonable smoke test of 9 tests, none of
which have any expectations in the non-threaded case.

To fix many of the remaining tests in this virtual test suite, there
will need to be some serious refactoring to merge the conflict between
the way CCScheduler wants to draw frames and the way DRT also wants to
control things. So, in the short term, enable a few simple tests that
are known to be passing.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py




Diff

Modified: trunk/Tools/ChangeLog (113528 => 113529)

--- trunk/Tools/ChangeLog	2012-04-07 01:03:25 UTC (rev 113528)
+++ trunk/Tools/ChangeLog	2012-04-07 01:09:56 UTC (rev 113529)
@@ -1,3 +1,23 @@
+2012-04-06  Adrienne Walker  
+
+[chromium] Add virtual test suite for threaded compositing
+https://bugs.webkit.org/show_bug.cgi?id=82263
+
+Reviewed by James Robinson.
+
+Add compositing/visibility as a virtual test suites to test threaded
+compositing with. This is a reasonable smoke test of 9 tests, none of
+which have any expectations in the non-threaded case.
+
+To fix many of the remaining tests in this virtual test suite, there
+will need to be some serious refactoring to merge the conflict between
+the way CCScheduler wants to draw frames and the way DRT also wants to
+control things. So, in the short term, enable a few simple tests that
+are known to be passing.
+
+* Scripts/webkitpy/layout_tests/port/chromium.py:
+(ChromiumPort.virtual_test_suites):
+
 2012-04-06  Enrica Casucci  
 
 Provide Obj-C private API to simplify markup.


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

--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-04-07 01:03:25 UTC (rev 113528)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-04-07 01:09:56 UTC (rev 113529)
@@ -347,7 +347,11 @@
  ['--enable-accelerated-2d-canvas']),
 VirtualTestSuite('platform/chromium/virtual/gpu/canvas/philip',
  'canvas/philip',
- ['--enable-accelerated-2d-canvas'])]
+ ['--enable-accelerated-2d-canvas']),
+VirtualTestSuite('platform/chromium/virtual/threaded/compositing/visibility',
+ 'compositing/visibility',
+ ['--enable-threaded-compositing']),
+]
 
 #
 # PROTECTED METHODS






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [112354] trunk/Tools

2012-03-27 Thread enne
Title: [112354] trunk/Tools








Revision 112354
Author e...@google.com
Date 2012-03-27 19:06:54 -0700 (Tue, 27 Mar 2012)


Log Message
[chromium] Fix --enabled-threaded-compositing flag in DRT
https://bugs.webkit.org/show_bug.cgi?id=82405

Reviewed by James Robinson.

--enable-threaded-compositing wasn't working because there was no way
to set the value before it was used in the TestShell constructor.

To avoid adding yet another boolean parameter to TestShell's
constructor, add an explicit initialize function that can operate on
any boolean settings that are set post-constructor.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
(TestShell::setTestShellMode):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
trunk/Tools/DumpRenderTree/chromium/TestShell.cpp
trunk/Tools/DumpRenderTree/chromium/TestShell.h




Diff

Modified: trunk/Tools/ChangeLog (112353 => 112354)

--- trunk/Tools/ChangeLog	2012-03-28 02:02:18 UTC (rev 112353)
+++ trunk/Tools/ChangeLog	2012-03-28 02:06:54 UTC (rev 112354)
@@ -1,3 +1,26 @@
+2012-03-27  Adrienne Walker  
+
+[chromium] Fix --enabled-threaded-compositing flag in DRT
+https://bugs.webkit.org/show_bug.cgi?id=82405
+
+Reviewed by James Robinson.
+
+--enable-threaded-compositing wasn't working because there was no way
+to set the value before it was used in the TestShell constructor.
+
+To avoid adding yet another boolean parameter to TestShell's
+constructor, add an explicit initialize function that can operate on
+any boolean settings that are set post-constructor.
+
+* DumpRenderTree/chromium/DumpRenderTree.cpp:
+(main):
+* DumpRenderTree/chromium/TestShell.cpp:
+(TestShell::TestShell):
+(TestShell::initialize):
+* DumpRenderTree/chromium/TestShell.h:
+(TestShell):
+(TestShell::setTestShellMode):
+
 2012-03-27  Dirk Pranke  
 
 new-run-webkit-tests: suppress debug output from run-safari on results file


Modified: trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp (112353 => 112354)

--- trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-03-28 02:02:18 UTC (rev 112353)
+++ trunk/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp	2012-03-28 02:06:54 UTC (rev 112354)
@@ -234,7 +234,8 @@
 openStartupDialog();
 
 { // Explicit scope for the TestShell instance.
-TestShell shell(testShellMode);
+TestShell shell;
+shell.setTestShellMode(testShellMode);
 shell.setAllowExternalPages(allowExternalPages);
 shell.setAcceleratedCompositingForVideoEnabled(acceleratedCompositingForVideoEnabled);
 shell.setThreadedCompositingEnabled(threadedCompositingEnabled);
@@ -251,6 +252,7 @@
 // 0x2000ms is big enough for the purpose to avoid timeout in debugging.
 shell.setLayoutTestTimeout(0x2000);
 }
+shell.initialize();
 if (serverMode && !tests.size()) {
 #if OS(ANDROID)
 // Send a signal to host to indicate DRT is ready to process commands.


Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (112353 => 112354)

--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-03-28 02:02:18 UTC (rev 112353)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp	2012-03-28 02:06:54 UTC (rev 112354)
@@ -98,11 +98,11 @@
 }
 }
 
-TestShell::TestShell(bool testShellMode)
+TestShell::TestShell()
 : m_testIsPending(false)
 , m_testIsPreparing(false)
 , m_focusedWidget(0)
-, m_testShellMode(testShellMode)
+, m_testShellMode(false)
 , m_devTools(0)
 , m_allowExternalPages(false)
 , m_acceleratedCompositingForVideoEnabled(false)
@@ -131,7 +131,10 @@
 WebRuntimeFeatures::enableShadowDOM(true);
 WebRuntimeFeatures::enableStyleScoped(true);
 WebRuntimeFeatures::enableScriptedSpeech(true);
+}
 
+void TestShell::initialize()
+{
 m_webPermissions = adoptPtr(new WebPermissions(this));
 m_accessibilityController = adoptPtr(new AccessibilityController(this));
 m_gamepadController = adoptPtr(new GamepadController(this));
@@ -151,7 +154,6 @@
 } else
 WebCompositor::initialize(0);
 
-
 // 30 second is the same as the value in Mac DRT.
 // If we use a value smaller than the timeout value of
 // (new-)run-webkit-tests, (new-)run-webkit-tests misunderstands that a


Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.h (112353 => 112354)

--- trunk/Tools/DumpRenderTree/chromium/TestShell.h	2012-03-28 02:02:18 UTC (rev 112353)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.h	2012-03-28 02:06:54 UTC (rev 112354)
@@ -82,9 +82,11 @@
 
 class TestShell {
 public:
-TestShell(bool testShellMode);
+TestShell();
 ~TestShell();
 
+void initialize();
+
 // The 

[webkit-changes] [112176] trunk/Tools

2012-03-26 Thread enne
Title: [112176] trunk/Tools








Revision 112176
Author e...@google.com
Date 2012-03-26 16:53:59 -0700 (Mon, 26 Mar 2012)


Log Message
Allow expectations on directories in virtual test suites
https://bugs.webkit.org/show_bug.cgi?id=82250

Reviewed by Dirk Pranke.

lookup_virtual_test_base was only returning valid results for files
and not directories. Fix by falling back to the virtual test suite
mapping if possible.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.lookup_virtual_test_base):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.skipped_tests):
(TestPort.virtual_test_suites):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py
trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py




Diff

Modified: trunk/Tools/ChangeLog (112175 => 112176)

--- trunk/Tools/ChangeLog	2012-03-26 23:42:17 UTC (rev 112175)
+++ trunk/Tools/ChangeLog	2012-03-26 23:53:59 UTC (rev 112176)
@@ -1,3 +1,20 @@
+2012-03-26  Adrienne Walker  
+
+Allow expectations on directories in virtual test suites
+https://bugs.webkit.org/show_bug.cgi?id=82250
+
+Reviewed by Dirk Pranke.
+
+lookup_virtual_test_base was only returning valid results for files
+and not directories. Fix by falling back to the virtual test suite
+mapping if possible.
+
+* Scripts/webkitpy/layout_tests/port/base.py:
+(Port.lookup_virtual_test_base):
+* Scripts/webkitpy/layout_tests/port/test.py:
+(TestPort.skipped_tests):
+(TestPort.virtual_test_suites):
+
 2012-03-26  Dirk Pranke  
 
 Fix duplicated ChangeLog entry from r112171.


Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py (112175 => 112176)

--- trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-03-26 23:42:17 UTC (rev 112175)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-03-26 23:53:59 UTC (rev 112176)
@@ -1090,7 +1090,7 @@
 def lookup_virtual_test_base(self, test_name):
 for suite in self.populated_virtual_test_suites():
 if test_name.startswith(suite.name):
-return suite.tests.get(test_name)
+return test_name.replace(suite.name, suite.base)
 return None
 
 def lookup_virtual_test_args(self, test_name):


Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py (112175 => 112176)

--- trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py	2012-03-26 23:42:17 UTC (rev 112175)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py	2012-03-26 23:53:59 UTC (rev 112176)
@@ -403,7 +403,8 @@
 # This allows us to test the handling Skipped files, both with a test
 # that actually passes, and a test that does fail.
 return set(['failures/expected/skip_text.html',
-'failures/unexpected/skip_pass.html'])
+'failures/unexpected/skip_pass.html',
+'virtual/skipped'])
 
 def name(self):
 return self._name
@@ -488,6 +489,7 @@
 def virtual_test_suites(self):
 return [
 VirtualTestSuite('virtual/passes', 'passes', ['--virtual-arg']),
+VirtualTestSuite('virtual/skipped', 'failures/expected', ['--virtual-arg2']),
 ]
 
 class TestDriver(Driver):






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [111903] trunk/LayoutTests

2012-03-23 Thread enne
Title: [111903] trunk/LayoutTests








Revision 111903
Author e...@google.com
Date 2012-03-23 14:10:35 -0700 (Fri, 23 Mar 2012)


Log Message
[chromium] Unreviewed, rebaseline platform/chromium/compositing/3d-corners.html
https://bugs.webkit.org/show_bug.cgi?id=69124

Somebody checked in an incorrect windows expectation missing a
newline. Fixing.

* platform/chromium-mac/platform/chromium/compositing/3d-corners-expected.png: Renamed from LayoutTests/platform/chromium/platform/chromium/compositing/3d-corners-expected.png.
* platform/chromium-win/platform/chromium/compositing/3d-corners-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/test_expectations.txt


Added Paths

trunk/LayoutTests/platform/chromium-mac/platform/chromium/compositing/3d-corners-expected.png


Removed Paths

trunk/LayoutTests/platform/chromium/platform/chromium/compositing/3d-corners-expected.png
trunk/LayoutTests/platform/chromium-win/platform/chromium/compositing/3d-corners-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (111902 => 111903)

--- trunk/LayoutTests/ChangeLog	2012-03-23 21:09:57 UTC (rev 111902)
+++ trunk/LayoutTests/ChangeLog	2012-03-23 21:10:35 UTC (rev 111903)
@@ -1,3 +1,15 @@
+2012-03-23  Adrienne Walker  
+
+[chromium] Unreviewed, rebaseline platform/chromium/compositing/3d-corners.html
+https://bugs.webkit.org/show_bug.cgi?id=69124
+
+Somebody checked in an incorrect windows expectation missing a
+newline. Fixing.
+
+* platform/chromium-mac/platform/chromium/compositing/3d-corners-expected.png: Renamed from LayoutTests/platform/chromium/platform/chromium/compositing/3d-corners-expected.png.
+* platform/chromium-win/platform/chromium/compositing/3d-corners-expected.txt: Removed.
+* platform/chromium/test_expectations.txt:
+
 2012-03-23  Ryosuke Niwa  
 
 Revert r111891. Instead, add editing/inserting/insert-bg-font.html to the list of failing tests.


Deleted: trunk/LayoutTests/platform/chromium/platform/chromium/compositing/3d-corners-expected.png

(Binary files differ)


Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (111902 => 111903)

--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-03-23 21:09:57 UTC (rev 111902)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2012-03-23 21:10:35 UTC (rev 111903)
@@ -3598,8 +3598,6 @@
 BUGWK69103 WIN LINUX : fast/text/line-initial-and-final-swashes.html = IMAGE+TEXT
 BUGWK69103 MAC : fast/text/line-initial-and-final-swashes.html = IMAGE
 
-BUGWK69124 WIN LINUX : platform/chromium/compositing/3d-corners.html = TEXT
-
 BUGWK69136 MAC SNOWLEOPARD : fast/frames/frame-set-rotation-hit.html = IMAGE
 BUGWK69136 MAC SNOWLEOPARD : fast/frames/frame-set-scaling-hit.html = IMAGE
 
@@ -4225,7 +4223,7 @@
 BUGWK81638 SNOWLEOPARD DEBUG : editing/selection/iframe.html = IMAGE PASS
 
 // Allowed to regress to fix a crash. 
-BUGWK81276 WIN LINUX: fast/inline/continuation-outlines-with-layers.html = IMAGE
+BUGWK81276 WIN LINUX : fast/inline/continuation-outlines-with-layers.html = IMAGE
 
 BUGWK81721 WIN : fullscreen/full-screen-restrictions.html = PASS TIMEOUT
 
@@ -4269,14 +4267,14 @@
 
 // Rebaseline after https://bugs.webkit.org/show_bug.cgi?id=78412
 BUGWK78412 MAC WIN : tables/mozilla/bugs/bug2123.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug2509.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug34176.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : tables/mozilla/bugs/bug44505.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : tables/mozilla_expected_failures/bugs/bug59252.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : tables/mozilla_expected_failures/bugs/bug7243.html = IMAGE+TEXT
-BUGWK78412 MAC WIN  : fast/repaint/scroll-inside-table-cell.html = IMAGE
-BUGWK78412 MAC WIN  : fast/repaint/scroll-relative-table-inside-table-cell.html = IMAGE
-BUGWK78412 MAC WIN  : fast/table/cell-pref-width-invalidation.html = TEXT
+BUGWK78412 MAC WIN : tables/mozilla/bugs/bug2509.html = IMAGE+TEXT
+BUGWK78412 MAC WIN : tables/mozilla/bugs/bug34176.html = IMAGE+TEXT
+BUGWK78412 MAC WIN : tables/mozilla/bugs/bug44505.html = IMAGE+TEXT
+BUGWK78412 MAC WIN : tables/mozilla_expected_failures/bugs/bug59252.html = IMAGE+TEXT
+BUGWK78412 MAC WIN : tables/mozilla_expected_failures/bugs/bug7243.html = IMAGE+TEXT
+BUGWK78412 MAC WIN : fast/repaint/scroll-inside-table-cell.html = IMAGE
+BUGWK78412 MAC WIN : fast/repaint/scroll-relative-table-inside-table-cell.html = IMAGE
+BUGWK78412 MAC WIN : fast/table/cell-pref-width-invalidation.html = TEXT
 
 // Need rebaselining.
 BUGWK37244 : tables/mozilla/bugs/bug27038-1.html = IMAGE+TEXT


Copied: trunk/LayoutTests/platform/chromium-mac/platform/chromium/compositing/3d-corners-expected.png (from rev 111902, trunk/LayoutTests/platform/chromium/platform/chromium/compositing/3d-corners-expected.png)

(Binary files differ)


Property changes: 

[webkit-changes] [111886] trunk/Source/WebCore

2012-03-23 Thread enne
Title: [111886] trunk/Source/WebCore








Revision 111886
Author e...@google.com
Date 2012-03-23 12:24:40 -0700 (Fri, 23 Mar 2012)


Log Message
[chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
https://bugs.webkit.org/show_bug.cgi?id=82066

Reviewed by James Robinson.

With threaded compositing, OSX will crash and Windows will have black
scrollbars. Fix that by reverting to the previosu behavior of updating
scrollbars on the main thread instead.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (111885 => 111886)

--- trunk/Source/WebCore/ChangeLog	2012-03-23 18:40:16 UTC (rev 111885)
+++ trunk/Source/WebCore/ChangeLog	2012-03-23 19:24:40 UTC (rev 111886)
@@ -1,3 +1,17 @@
+2012-03-23  Adrienne Walker  
+
+[chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
+https://bugs.webkit.org/show_bug.cgi?id=82066
+
+Reviewed by James Robinson.
+
+With threaded compositing, OSX will crash and Windows will have black
+scrollbars. Fix that by reverting to the previosu behavior of updating
+scrollbars on the main thread instead.
+
+* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+(WebCore::scrollbarLayerDidChange):
+
 2012-03-23  Dan Bernstein  
 
  ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers


Modified: trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (111885 => 111886)

--- trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-03-23 18:40:16 UTC (rev 111885)
+++ trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-03-23 19:24:40 UTC (rev 111886)
@@ -98,7 +98,14 @@
 if (!scrollbarGraphicsLayer->contentsOpaque())
 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar);
 
-if (scrollbar->isCustomScrollbar() || !CCProxy::hasImplThread()) {
+// Only certain platforms support the way that scrollbars are currently
+// being painted on the impl thread. For example, Cocoa is not threadsafe.
+bool platformSupported = false;
+#if OS(LINUX)
+platformSupported = true;
+#endif
+
+if (scrollbar->isCustomScrollbar() || !CCProxy::hasImplThread() || !platformSupported) {
 scrollbarGraphicsLayer->setContentsToMedia(0);
 scrollbarGraphicsLayer->setDrawsContent(true);
 return;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [111875] trunk/Source

2012-03-23 Thread enne
Title: [111875] trunk/Source








Revision 111875
Author e...@google.com
Date 2012-03-23 10:13:09 -0700 (Fri, 23 Mar 2012)


Log Message
[chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
https://bugs.webkit.org/show_bug.cgi?id=82062

Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Override the paint function so that it becomes a no-op. Painting
scrollbars on the impl thread is not yet supported on platforms other
than Linux or ChromeOS.

* tests/CCLayerTreeHostImplTest.cpp:
(ScrollbarLayerFakePaint):
(WebKitTests::ScrollbarLayerFakePaint::create):
(WebKitTests::ScrollbarLayerFakePaint::paint):
(WebKitTests::ScrollbarLayerFakePaint::ScrollbarLayerFakePaint):
(WebKitTests):
(WebKitTests::TEST_F):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (111874 => 111875)

--- trunk/Source/WebCore/ChangeLog	2012-03-23 17:10:15 UTC (rev 111874)
+++ trunk/Source/WebCore/ChangeLog	2012-03-23 17:13:09 UTC (rev 111875)
@@ -1,3 +1,13 @@
+2012-03-23  Adrienne Walker  
+
+[chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
+https://bugs.webkit.org/show_bug.cgi?id=82062
+
+Reviewed by James Robinson.
+
+* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+(CCScrollbarLayerImpl):
+
 2012-03-23  Tommy Widenflycht  
 
 [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter


Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h (111874 => 111875)

--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h	2012-03-23 17:10:15 UTC (rev 111874)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h	2012-03-23 17:13:09 UTC (rev 111875)
@@ -66,9 +66,9 @@
 protected:
 explicit CCScrollbarLayerImpl(int id);
 
+virtual void paint(GraphicsContext*);
+
 private:
-void paint(GraphicsContext*);
-
 CCLayerImpl* m_scrollLayer;
 OwnPtr m_texture;
 


Modified: trunk/Source/WebKit/chromium/ChangeLog (111874 => 111875)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 17:10:15 UTC (rev 111874)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 17:13:09 UTC (rev 111875)
@@ -1,3 +1,22 @@
+2012-03-23  Adrienne Walker  
+
+[chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
+https://bugs.webkit.org/show_bug.cgi?id=82062
+
+Reviewed by James Robinson.
+
+Override the paint function so that it becomes a no-op. Painting
+scrollbars on the impl thread is not yet supported on platforms other
+than Linux or ChromeOS.
+
+* tests/CCLayerTreeHostImplTest.cpp:
+(ScrollbarLayerFakePaint):
+(WebKitTests::ScrollbarLayerFakePaint::create):
+(WebKitTests::ScrollbarLayerFakePaint::paint):
+(WebKitTests::ScrollbarLayerFakePaint::ScrollbarLayerFakePaint):
+(WebKitTests):
+(WebKitTests::TEST_F):
+
 2012-03-23  Tommy Widenflycht  
 
 [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter


Modified: trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp (111874 => 111875)

--- trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp	2012-03-23 17:10:15 UTC (rev 111874)
+++ trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp	2012-03-23 17:13:09 UTC (rev 111875)
@@ -1035,13 +1035,23 @@
 m_hostImpl->finishAllRendering();
 }
 
+class ScrollbarLayerFakePaint : public CCScrollbarLayerImpl {
+public:
+static PassOwnPtr create(int id) { return adoptPtr(new ScrollbarLayerFakePaint(id)); }
+
+virtual void paint(GraphicsContext*) { }
+
+private:
+ScrollbarLayerFakePaint(int id) : CCScrollbarLayerImpl(id) { }
+};
+
 TEST_F(CCLayerTreeHostImplTest, scrollbarLayerLostContext)
 {
 m_hostImpl->initializeLayerRenderer(createContext());
 m_hostImpl->setViewportSize(IntSize(10, 10));
 
-m_hostImpl->setRootLayer(CCScrollbarLayerImpl::create(0));
-CCScrollbarLayerImpl* scrollbar = static_cast(m_hostImpl->rootLayer());
+m_hostImpl->setRootLayer(ScrollbarLayerFakePaint::create(0));
+ScrollbarLayerFakePaint* scrollbar = static_cast(m_hostImpl->rootLayer());
 scrollbar->setBounds(IntSize(1, 1));
 scrollbar->setContentBounds(IntSize(1, 1));
 scrollbar->setDrawsContent(true);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [111816] trunk/Source/WebKit/chromium

2012-03-22 Thread enne
Title: [111816] trunk/Source/WebKit/chromium








Revision 111816
Author e...@google.com
Date 2012-03-22 19:59:53 -0700 (Thu, 22 Mar 2012)


Log Message
[chromium] Unreviewed, fix LayerRendererChromiumTest debug unit test errors
https://bugs.webkit.org/show_bug.cgi?id=81823

* tests/LayerRendererChromiumTest.cpp:
(FakeLayerRendererChromiumClient):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (111815 => 111816)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 02:49:45 UTC (rev 111815)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 02:59:53 UTC (rev 111816)
@@ -1,3 +1,11 @@
+2012-03-22  Adrienne Walker  
+
+[chromium] Unreviewed, fix LayerRendererChromiumTest debug unit test errors
+https://bugs.webkit.org/show_bug.cgi?id=81823
+
+* tests/LayerRendererChromiumTest.cpp:
+(FakeLayerRendererChromiumClient):
+
 2012-03-22  Michal Mocny  
 
 [chromium] Removing failing unit test - CCLayerTreeHostImplTest.visibilityChangeResetsDamage


Modified: trunk/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp (111815 => 111816)

--- trunk/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp	2012-03-23 02:49:45 UTC (rev 111815)
+++ trunk/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp	2012-03-23 02:59:53 UTC (rev 111816)
@@ -28,6 +28,7 @@
 #include "FakeWebGraphicsContext3D.h"
 #include "GraphicsContext3D.h"
 #include "GraphicsContext3DPrivate.h"
+#include "cc/CCSingleThreadProxy.h"
 
 #include 
 #include 
@@ -78,6 +79,7 @@
 
 private:
 int m_setFullRootLayerDamageCount;
+DebugScopedSetImplThread m_implThread;
 };
 
 class FakeLayerRendererChromium : public LayerRendererChromium {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[webkit-changes] [111815] trunk/Source/WebKit/chromium

2012-03-22 Thread enne
Title: [111815] trunk/Source/WebKit/chromium








Revision 111815
Author e...@google.com
Date 2012-03-22 19:49:45 -0700 (Thu, 22 Mar 2012)


Log Message
[chromium] Removing failing unit test - CCLayerTreeHostImplTest.visibilityChangeResetsDamage
https://bugs.webkit.org/show_bug.cgi?id=82003

Patch by Michal Mocny  on 2012-03-22
Reviewed by Adrienne Walker.

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::TEST_F):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (111814 => 111815)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 02:42:10 UTC (rev 111814)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-03-23 02:49:45 UTC (rev 111815)
@@ -1,3 +1,13 @@
+2012-03-22  Michal Mocny  
+
+[chromium] Removing failing unit test - CCLayerTreeHostImplTest.visibilityChangeResetsDamage
+https://bugs.webkit.org/show_bug.cgi?id=82003
+
+Reviewed by Adrienne Walker.
+
+* tests/CCLayerTreeHostImplTest.cpp:
+(WebKitTests::TEST_F):
+
 2012-03-22  Robert Kroeger  
 
 [chromium] Halt in progress flings on receipt of key events


Modified: trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp (111814 => 111815)

--- trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp	2012-03-23 02:42:10 UTC (rev 111814)
+++ trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp	2012-03-23 02:49:45 UTC (rev 111815)
@@ -980,54 +980,6 @@
 EXPECT_EQ(expectedSwapRect.height(), actualSwapRect.height());
 }
 
-// Make sure that we reset damage tracking on visibility change because the
-// state of the front buffer that we push to with PostSubBuffer is undefined.
-TEST_F(CCLayerTreeHostImplTest, visibilityChangeResetsDamage)
-{
-PartialSwapTrackerContext* partialSwapTracker = new PartialSwapTrackerContext();
-RefPtr context = GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(partialSwapTracker), GraphicsContext3D::RenderDirectlyToHostWindow);
-
-// This test creates its own CCLayerTreeHostImpl, so
-// that we can force partial swap enabled.
-CCSettings settings;
-settings.partialSwapEnabled = true;
-OwnPtr layerTreeHostImpl = CCLayerTreeHostImpl::create(settings, this);
-layerTreeHostImpl->initializeLayerRenderer(context);
-layerTreeHostImpl->setViewportSize(IntSize(500, 500));
-
-CCLayerImpl* root = new FakeDrawableCCLayerImpl(1);
-root->setAnchorPoint(FloatPoint(0, 0));
-root->setBounds(IntSize(500, 500));
-root->setDrawsContent(true);
-layerTreeHostImpl->setRootLayer(adoptPtr(root));
-
-CCLayerTreeHostImpl::FrameData frame;
-
-// First frame: ignore.
-EXPECT_TRUE(layerTreeHostImpl->prepareToDraw(frame));
-layerTreeHostImpl->drawLayers(frame);
-layerTreeHostImpl->swapBuffers();
-
-// Second frame: nothing has changed --- so we souldn't push anything with partial swap.
-EXPECT_TRUE(layerTreeHostImpl->prepareToDraw(frame));
-layerTreeHostImpl->drawLayers(frame);
-layerTreeHostImpl->swapBuffers();
-EXPECT_TRUE(partialSwapTracker->partialSwapRect().isEmpty());
-
-// Third frame: visibility change --- so we should push a full frame with partial swap.
-layerTreeHostImpl->setVisible(false);
-layerTreeHostImpl->setVisible(true);
-EXPECT_TRUE(layerTreeHostImpl->prepareToDraw(frame));
-layerTreeHostImpl->drawLayers(frame);
-layerTreeHostImpl->swapBuffers();
-IntRect actualSwapRect = partialSwapTracker->partialSwapRect();
-IntRect expectedSwapRect = IntRect(IntPoint::zero(), IntSize(500, 500));
-EXPECT_EQ(expectedSwapRect.x(), actualSwapRect.x());
-EXPECT_EQ(expectedSwapRect.y(), actualSwapRect.y());
-EXPECT_EQ(expectedSwapRect.width(), actualSwapRect.width());
-EXPECT_EQ(expectedSwapRect.height(), actualSwapRect.height());
-}
-
 // Make sure that context lost notifications are propagated through the tree.
 class ContextLostNotificationCheckLayer : public CCLayerImpl {
 public:






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


  1   2   3   4   >