[webkit-changes] [144509] trunk/LayoutTests
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
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
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
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
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
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
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
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
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 ' )tEXtchecksum f9cdba21f7e2009389f80333d1d70551\xA8sY +\xA9IDATx\x9C\xED\xD6\xC1 \xC0\xB0\xD3\xC9\xDD% +\x82$\xF4\xD95g \xED\xD7 \xBF1X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X
[webkit-changes] [128514] trunk
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 ' )tEXtchecksum f9cdba21f7e2009389f80333d1d70551\xA8sY +\xA9IDATx\x9C\xED\xD6\xC1 \xC0\xB0\xD3\xC9\xDD% +\x82$\xF4\xD95g \xED\xD7 \xBF1X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x83 3X 1\x
[webkit-changes] [128358] trunk/Source/WebKit/chromium
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ' )tEXtchecksum 7c4f4ad7ad63bab2764e0d8cbcf74d31\x87\xEB +\xE7IDATx\x9C\xED\xD8\xC1m\x84@EAc\x917"3&\xB2\xD9VH~\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\x83 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 \xDBW \x80G\x98\xC7\=\x81\xBF\xE3\x83 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 \xDB末7 \xFCwc\x8C\xFB\xC7>X 1\x81 X 1\x81 X 1\x81
[webkit-changes] [122529] trunk
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 ' )tEXtchecksum 7c4f4ad7ad63bab2764e0d8cbcf74d31\x87\xEB +\xE7IDATx\x9C\xED\xD8\xC1m\x84@EAc\x917"3&\xB2\xD9VH~\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\x83 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 \xDBW \x80G\x98\xC7\=\x81\xBF\xE3\x83 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x8
[webkit-changes] [121227] trunk/Source/WebKit/chromium
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
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
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
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 ' )tEXtchecksum e6569751cdaedb5052c93328d11da15f\xD09!B IDATx\x9C\xED\xD8\xC1q\xC2PAp)BA\x99Id\x862!9\x84\xBB\xCF{xǩ\xBD^.\xFBX\xD7\xC7\xF1\xE3eY \xFEmǏ \xE0X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 \x9BF\xE04\xE6y= \xCE\xC1 &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b 6\x8D p\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 &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b 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
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 ' )tEXtchecksum e6569751cdaedb5052c93328d11da15f\xD09!B IDATx\x9C\xED\xD8\xC1q\xC2PAp)BA\x99Id\x862!9\x84\xBB\xCF{xǩ\xBD^.\xFBX\xD7\xC7\xF1\xE3eY \xFEmǏ \xE0X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 \x9BF\xE04\xE6y= \xCE\xC1 &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b 6\x8D p\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 &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b
[webkit-changes] [120661] trunk
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 ' )tEXtchecksum 4651dca6186c4ba7186140fdc72f97d3j\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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ' )tEXtchecksum 1ecf3b281e6e08bcec99c07b70fac274Z\xB6\xA4\xA3 +\xC0IDATx\x9C\xED\xDC\xC1 \xC4@\xC1\xDB\xC3yG.'Ѱx\xA9\x8A`\x9E\x8DZ3\xF3 \xA0\xF3\xDF= \xE04 &\xB0 b &\xB0 b &\xB0 b\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\xDE p, \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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ' )tEXtchecksum 778803df0a824ed8f2c7dfa07c56832eh\x9F\xBD\xAC +\xB7IDATx\x9C\xED\xD8\xC1 \x80@A\xCF\xC45\xF35 +\x87R\xC1<\x9BY\xC7}\xF0\xD2\\xB3{ \xF0\xE7\xEE #\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b \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
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
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
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
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
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
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
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
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
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