WebKit.git
7 years ago[EFL][WK2] Add Remote Web Inspector
commit-queue@webkit.org [Sat, 8 Dec 2012 17:16:05 +0000 (17:16 +0000)]
[EFL][WK2] Add Remote Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=98705

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-08
Reviewed by Gyuyoung Kim.

.:

Prepare inspectorPageIndex.html for remote web inspector.

* Source/PlatformEfl.cmake:

Source/WebKit2:

Add Remote Web Inspector to EFL port.
The WebInspectorSever will be started during WebKit context initialization.
The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.

* CMakeLists.txt:
* PlatformEfl.cmake:
* UIProcess/InspectorServer/WebInspectorServer.h:
(WebInspectorServer):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebSocketServer):
* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
(WebKit):
(WebKit::inspectorResourcePath):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
(WebKit::connectionCallback):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::initializeInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):
* config.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMerge Hindi translation of webkit
kov@webkit.org [Sat, 8 Dec 2012 17:13:56 +0000 (17:13 +0000)]
Merge Hindi translation of webkit
https://bugs.webkit.org/show_bug.cgi?id=97410

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2012-12-08
Rubber-stamped by Gustavo Noronha.

* hi.po: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2...
kov@webkit.org [Sat, 8 Dec 2012 16:41:47 +0000 (16:41 +0000)]
Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.

* GNUmakefile.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed trivial space fix to silence an automake warning.
kov@webkit.org [Sat, 8 Dec 2012 16:08:52 +0000 (16:08 +0000)]
Unreviewed trivial space fix to silence an automake warning.

* GNUmakefile.list.am:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Remove no-op line in WebPage.cpp
rwlbuis@webkit.org [Sat, 8 Dec 2012 16:01:02 +0000 (16:01 +0000)]
[BlackBerry] Remove no-op line in WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=104385

Reviewed by Antonio Gomes.

Remove self-assignment no-op line. Must have been left when I removed the
mapFromTransformed part.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 15:52:52 +0000 (15:52 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 14:41:23 +0000 (14:41 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove incorrect ASSERT for m_error in CachedResource
james.wei@intel.com [Sat, 8 Dec 2012 13:48:28 +0000 (13:48 +0000)]
Remove incorrect ASSERT for m_error in CachedResource
https://bugs.webkit.org/show_bug.cgi?id=104333

Reviewed by Nate Chapin.

This assertion was brought in https://bugs.webkit.org/show_bug.cgi?id=100901
When the request is canceled, m_error.isNull() should be true.

run webkit_unit_tests Debug build.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::stopLoading):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137028 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoQt Linux Minimal build fix after r136975.
rniwa@webkit.org [Sat, 8 Dec 2012 11:05:46 +0000 (11:05 +0000)]
Qt Linux Minimal build fix after r136975.

* dom/ElementRareData.h:
(ElementRareData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoQt Linux Minimal build fix attempt after r136959.
rniwa@webkit.org [Sat, 8 Dec 2012 10:52:06 +0000 (10:52 +0000)]
Qt Linux Minimal build fix attempt after r136959.

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix after r137003. Wrap Microdata only sections with ENABLE(MICRODATA).
xan@webkit.org [Sat, 8 Dec 2012 10:44:27 +0000 (10:44 +0000)]
Build fix after r137003. Wrap Microdata only sections with ENABLE(MICRODATA).

* dom/NodeRareData.h:
(NodeRareData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137025 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix after r137003. Wrap NodeMutationObserverData with ENABLE(MUTATION_OBSERVERS).
rniwa@webkit.org [Sat, 8 Dec 2012 10:37:03 +0000 (10:37 +0000)]
Build fix after r137003. Wrap NodeMutationObserverData with ENABLE(MUTATION_OBSERVERS).

* dom/NodeRareData.h:
(NodeRareData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove unused headers
commit-queue@webkit.org [Sat, 8 Dec 2012 10:22:39 +0000 (10:22 +0000)]
Remove unused headers
https://bugs.webkit.org/show_bug.cgi?id=104428

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-08
Reviewed by Kentaro Hara.

Header inclusion cleanup.
Remove <WebCore/NotImplement.h>.

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
* WebMutableURLRequest.cpp:

Source/WebKit2:

* Platform/qt/WorkQueueQt.cpp:
* Platform/win/WorkQueueWin.cpp:
* Shared/qt/ShareableBitmapQt.cpp:
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
* UIProcess/win/TextCheckerWin.cpp:
* UIProcess/win/WebContextMenuProxyWin.cpp:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137023 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix for ENABLE(SVG) && !ENABLE(FILTERS) after r136975.
paroga@webkit.org [Sat, 8 Dec 2012 10:01:24 +0000 (10:01 +0000)]
Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r136975.

* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::buildCachedResources):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLTemplateElement.innerHTML should be parsed into the template contents owner document
adamk@chromium.org [Sat, 8 Dec 2012 09:22:06 +0000 (09:22 +0000)]
HTMLTemplateElement.innerHTML should be parsed into the template contents owner document
https://bugs.webkit.org/show_bug.cgi?id=104407

Reviewed by Eric Seidel.

Source/WebCore:

When parsing via innerHTML, ensure that all operations (including the
initial fragment creation) occur in the proper document to avoid,
e.g., images loading while being parsed into the template contents.
This matches the parsing behavior during page load.

Test: fast/dom/HTMLTemplateElement/innerHTML-inert.html

* editing/markup.cpp:
(WebCore::createFragmentForInnerOuterHTML):

LayoutTests:

* fast/dom/HTMLTemplateElement/innerHTML-inert-expected.txt: Added.
* fast/dom/HTMLTemplateElement/innerHTML-inert.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAssertion failed at WebCore::RedirectedXCompositeWindow::context()
commit-queue@webkit.org [Sat, 8 Dec 2012 08:36:58 +0000 (08:36 +0000)]
Assertion failed at WebCore::RedirectedXCompositeWindow::context()
https://bugs.webkit.org/show_bug.cgi?id=104349

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-12-08
Reviewed by Martin Robinson.

We should return GLContext if m_needsContext is CreateGLContext. By the way
CreateGLContext is a enum value and its default value is 0. So checking
ASSERT(m_needsContext) causes a crash on debug build.
ASSERT(m_needsContext == CreateGLContext) is better here.

No new tests since we can verify this with already existing AC tests.

* platform/gtk/RedirectedXCompositeWindow.cpp:
(WebCore::RedirectedXCompositeWindow::context):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Remove unused source file from PlatformEfl.cmake
commit-queue@webkit.org [Sat, 8 Dec 2012 06:51:30 +0000 (06:51 +0000)]
[EFL][WK2] Remove unused source file from PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=104430

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-12-07
Reviewed by Kentaro Hara.

Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.

* PlatformEfl.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137019 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 05:39:40 +0000 (05:39 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-win-xp/fast/text/hyphenate-character-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137018 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd missing forward declaration for JSC::ArrayAllocationProfile
commit-queue@webkit.org [Sat, 8 Dec 2012 05:35:51 +0000 (05:35 +0000)]
Add missing forward declaration for JSC::ArrayAllocationProfile
https://bugs.webkit.org/show_bug.cgi?id=104425

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-07
Reviewed by Kentaro Hara.

The header for the JSC::ArrayConstructor class is missing a forward
declaration for the JSC::ArrayAllocationProfile class which causes
compilation to fail when compiling with MinGW-w64.

* runtime/ArrayConstructor.h:
(JSC):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 05:17:45 +0000 (05:17 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-mac-lion/css3/flexbox/repaint-column-reverse-expected.png: Removed.
* platform/chromium-mac-snowleopard/css3/flexbox/repaint-column-reverse-expected.png: Removed.
* platform/chromium-win-xp/css3/flexbox/repaint-column-reverse-expected.png: Removed.
* platform/chromium-win/css3/flexbox/repaint-column-reverse-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/flexbox/repaint-column-reverse-expected.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137016 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 05:15:10 +0000 (05:15 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-mac/compositing/background-color/background-color-change-to-text-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/background-color/background-color-change-to-text-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening. Remove some incorrect baselines.
senorblanco@chromium.org [Sat, 8 Dec 2012 04:58:51 +0000 (04:58 +0000)]
[Chromium] Unreviewed gardening.  Remove some incorrect baselines.

* platform/chromium-linux/compositing/backface-visibility/backface-visibility-webgl-expected.png: Removed.
* platform/chromium-mac/compositing/backface-visibility/backface-visibility-webgl-expected.png: Removed.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137014 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 04:24:05 +0000 (04:24 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-mac-lion/css3/flexbox/repaint-column-reverse-expected.png: Added.
* platform/chromium-mac-snowleopard/css3/flexbox/repaint-column-reverse-expected.png: Added.
* platform/chromium-mac/css3/flexbox/repaint-column-reverse-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 04:14:53 +0000 (04:14 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-linux/fast/text/hyphenate-character-expected.png: Added.
* platform/chromium-linux/fast/text/hyphenate-character-expected.txt: Added.
* platform/chromium-linux/fast/text/hyphenate-first-word-expected.png: Added.
* platform/chromium-linux/fast/text/hyphenate-limit-before-after-expected.png: Added.
* platform/chromium-linux/fast/text/hyphenate-limit-lines-expected.png: Added.
* platform/chromium-linux/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium-linux/fast/text/hyphens-expected.png: Added.
* platform/chromium-linux/fast/text/international/hindi-whitespace-expected.png: Added.
* platform/chromium-linux/fast/text/international/hindi-whitespace-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-limit-before-after-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoExtend platform layer so it can pass blend modes to the compositing calls
commit-queue@webkit.org [Sat, 8 Dec 2012 04:03:05 +0000 (04:03 +0000)]
Extend platform layer so it can pass blend modes to the compositing calls
https://bugs.webkit.org/show_bug.cgi?id=104176

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-12-07
Reviewed by Dirk Schulze.

Source/WebCore:

Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context

No new tests, no new functionality.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw):
* platform/graphics/CrossfadeGeneratedImage.h:
(CrossfadeGeneratedImage):
* platform/graphics/GeneratedImage.h:
(GeneratedImage):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
* platform/graphics/GeneratorGeneratedImage.h:
(GeneratorGeneratedImage):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::draw):
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(Image):
* platform/graphics/ImageBuffer.h:
(ImageBuffer):
* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::draw):
* platform/graphics/cg/PDFDocumentImage.h:
(PDFDocumentImage):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
* platform/graphics/qt/StillImageQt.h:
(StillImage):
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(BitmapImageSingleFrameSkia):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/SVGImage.h:
(SVGImage):

Source/WebKit/chromium:

Adding blend mode enumeration to draw functions

* tests/DragImageTest.cpp:
(WebCore::TestImage::draw):
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TestImage::draw):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd missing const qualifier to JSC::CodeBlock::getJITType()
commit-queue@webkit.org [Sat, 8 Dec 2012 03:54:54 +0000 (03:54 +0000)]
Add missing const qualifier to JSC::CodeBlock::getJITType()
https://bugs.webkit.org/show_bug.cgi?id=104424

Patch by Jonathan Liu <net147@gmail.com> on 2012-12-07
Reviewed by Laszlo Gombos.

JSC::CodeBlock::getJITType() has the const qualifier when JIT is
enabled but is missing the const qualifier when JIT is disabled.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::getJITType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 03:14:31 +0000 (03:14 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-linux/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
* platform/chromium-mac-lion/fast/text/hyphenate-character-expected.png: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-character-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-first-word-expected.png: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-first-word-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt.
* platform/chromium-mac-lion/fast/text/hyphenate-limit-lines-expected.png: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-limit-lines-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium-mac-lion/fast/text/hyphens-expected.png: Added.
* platform/chromium-mac-lion/fast/text/hyphens-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/text/hyphenate-character-expected.png:
* platform/chromium-mac-snowleopard/fast/text/hyphenate-character-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/text/hyphenate-first-word-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt:
* platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-lines-expected.png:
* platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-lines-expected.txt:
* platform/chromium-mac-snowleopard/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/text/hyphens-expected.png:
* platform/chromium-mac-snowleopard/fast/text/hyphens-expected.txt: Added.
* platform/chromium-mac/fast/text/hyphenate-character-expected.png:
* platform/chromium-mac/fast/text/hyphenate-character-expected.txt: Added.
* platform/chromium-mac/fast/text/hyphenate-first-word-expected.png: Added.
* platform/chromium-mac/fast/text/hyphenate-first-word-expected.txt: Added.
* platform/chromium-mac/fast/text/hyphenate-limit-before-after-expected.png:
* platform/chromium-mac/fast/text/hyphenate-limit-before-after-expected.txt: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-limit-before-after-expected.txt.
* platform/chromium-mac/fast/text/hyphenate-limit-lines-expected.png: Added.
* platform/chromium-mac/fast/text/hyphenate-limit-lines-expected.txt: Added.
* platform/chromium-mac/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium-mac/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/chromium-mac-snowleopard/fast/text/hyphenate-locale-expected.txt.
* platform/chromium-mac/fast/text/hyphens-expected.png:
* platform/chromium-mac/fast/text/hyphens-expected.txt: Added.
* platform/chromium-mac/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
* platform/chromium-win-xp/fast/text/hyphenate-character-expected.png: Added.
* platform/chromium-win-xp/fast/text/hyphens-expected.png: Added.
* platform/chromium-win-xp/fast/text/international/hindi-whitespace-expected.png: Added.
* platform/chromium-win-xp/fast/text/international/hindi-whitespace-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/text/international/hindi-whitespace-expected.txt.
* platform/chromium-win/fast/text/hyphenate-character-expected.png: Added.
* platform/chromium-win/fast/text/hyphenate-character-expected.txt: Added.
* platform/chromium-win/fast/text/hyphenate-first-word-expected.png: Added.
* platform/chromium-win/fast/text/hyphenate-limit-before-after-expected.png: Added.
* platform/chromium-win/fast/text/hyphenate-limit-lines-expected.png: Added.
* platform/chromium-win/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium-win/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/chromium/fast/text/hyphenate-locale-expected.txt.
* platform/chromium-win/fast/text/hyphens-expected.png: Added.
* platform/chromium-win/fast/text/international/hindi-whitespace-expected.png:
* platform/chromium-win/fast/text/international/hindi-whitespace-expected.txt:
* platform/chromium-win/svg/custom/transform-with-shadow-and-gradient-expected.png: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/fast/text/hyphenate-character-expected.png: Removed.
* platform/chromium/fast/text/hyphenate-first-word-expected.png: Removed.
* platform/chromium/fast/text/hyphenate-limit-before-after-expected.png: Removed.
* platform/chromium/fast/text/hyphenate-limit-lines-expected.png: Removed.
* platform/chromium/fast/text/hyphenate-locale-expected.png: Removed.
* platform/chromium/fast/text/hyphens-expected.png: Removed.
* platform/chromium/svg/custom/transform-with-shadow-and-gradient-expected.png: Added.
* platform/efl-wk1/fast/text/hyphenate-character-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-character-expected.png.
* platform/efl-wk1/fast/text/hyphenate-first-word-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-first-word-expected.png.
* platform/efl-wk1/fast/text/hyphenate-limit-before-after-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-limit-before-after-expected.png.
* platform/efl-wk1/fast/text/hyphenate-limit-lines-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-limit-lines-expected.png.
* platform/efl-wk1/fast/text/hyphenate-locale-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-locale-expected.png.
* platform/efl-wk1/fast/text/hyphenate-locale-expected.txt: Renamed from LayoutTests/platform/efl/fast/text/hyphenate-locale-expected.txt.
* platform/efl-wk1/fast/text/hyphens-expected.png: Renamed from LayoutTests/platform/efl/fast/text/hyphens-expected.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] ImageDecodingStore should cache partially decoded images
hclam@chromium.org [Sat, 8 Dec 2012 03:00:18 +0000 (03:00 +0000)]
[chromium] ImageDecodingStore should cache partially decoded images
https://bugs.webkit.org/show_bug.cgi?id=103796

Reviewed by Stephen White.

Source/WebCore:

Implement caching for incomplete images, meaning the image is partially
decoded. The image is cached together with partially decoded ImageDecoder.
This allows decoding to resume in a later time.

Caching logic for incomplete images is implemented in ImageDecodingStore.

Logic for resuming image decoding is implemented in ImageFrameGenerator.

ImageDecodingStore allows storing incomplete image with the decoder.
The cache entry can be used in a later time to read and write (i.e. resume
decoding.) To avoid the same entry being written and read at the same time,
an incomplete entry can be used by one user only. Concurrent access to
an incomplete entry should never happen and is checked by an assert.
An entry can becomes complete when decoding is finished. In this case
the associated decoder is deleted. Once an entry becomes complete concurrent
read is allowed.

ImageFrameGenerator performs the logic to resume image decoding. It
performs the following operations in sequence:
- Try to lookup a complete image
- Try to perform scaling on a complete image
- Try to lookup an incomplete image and resume decoding & scaling
- Everything fails, start decoding from scratch
The entire sequence of operations in under a mutex, hence there will be
no more than 1 user of an incomplete cache entry at the same time.

New unit tests in ImageDecodingStoreTest and ImageFrameGeneratorTest.

* platform/graphics/chromium/ImageDecodingStore.cpp:
(WebCore::ImageDecodingStore::lockCache):
Change of method definition to return an image and ImageDecoder.
(WebCore::ImageDecodingStore::unlockCache):
(WebCore::ImageDecodingStore::insertAndLockCache):
(WebCore::ImageDecodingStore::overwriteAndLockCache):
New method to allow an incomplete cache entry be overwritten.
(WebCore):
* platform/graphics/chromium/ImageDecodingStore.h:
(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::cachedImage):
(WebCore::ImageDecodingStore::CacheEntry::cachedDecoder):
(WebCore::ImageDecodingStore::CacheEntry::releaseCachedDecoder):
(WebCore::ImageDecodingStore::CacheEntry::overwriteCachedImage):
New method to allow an incomplete image be overwitten.
(CacheEntry):
* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::decodeAndScale):
(WebCore::ImageFrameGenerator::tryToLockCompleteCache):
(WebCore::ImageFrameGenerator::tryToScale):
(WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
New method to lookup an incomplete cache entry and resume decoding.
(WebCore):
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
(WebCore::ImageFrameGenerator::decoder):
New helper method to do decoding for a full sized image.
(WebCore::ImageFrameGenerator::prepareData):
New helper method to prepare data safely.
* platform/graphics/chromium/ImageFrameGenerator.h:
(ImageFrameGenerator):
* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::onLockPixels):
* platform/graphics/chromium/ScaledImageFragment.h:
(WebCore::ScaledImageFragment::setIsComplete):

Source/WebKit/chromium:

Added unit tests to verify caching behavior for partially decoded images.
New tests added:
- ImageDecodingStoreTest.insertIncompleteCache
Insert incomplete image with a decoder into cache.

- ImageDecodingStoreTest.insertCompleteCacheWithDecoder
Insert complete image with a decoder, decoder is deleted.

- ImageDecodingStoreTest.incompleteCacheBecomesComplete
Progressive downloading of a file. Image becomes complete, decoder deleted.

- ImageFrameGeneratorTest.cacheMissWithIncompleteDecodeAndScale
Cache lookup failed and start a decoding that decoded an incomplete image.

ImageFrameGeneratorTest.incompleteDecodeBecomesComplete
Image decoded as incomplete, file fully downloaded and cache entry becomes complete.

ImageFrameGeneratorTest.incompleteDecodeAndScaleBecomesComplete
Image decoded and scaled as incomplete, becomes complete after file is fully dowloaded.

ImageFrameGeneratorTest.incompleteDecodeBecomesCompleteMultiThreaded
Transition from incomplete to complete, entire lifecycle happens on 2 threads.

* tests/DeferredImageDecoderTest.cpp:
(WebCore::DeferredImageDecoderTest::SetUp):
* tests/ImageDecodingStoreTest.cpp:
(WebCore::ImageDecodingStoreTest::SetUp):
(WebCore::ImageDecodingStoreTest::decoderBeingDestroyed):
(ImageDecodingStoreTest):
(WebCore::ImageDecodingStoreTest::frameBufferRequested):
(WebCore::ImageDecodingStoreTest::frameStatus):
(WebCore::ImageDecodingStoreTest::createIncompleteImage):
(WebCore::ImageDecodingStoreTest::lockCache):
(WebCore::TEST_F):
(WebCore):
* tests/ImageFrameGeneratorTest.cpp:
(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(ImageFrameGeneratorTest):
(WebCore::MockImageDecoderFactory::create):
(WebCore::TEST_F):
(WebCore):
(WebCore::decodeThreadMain):
* tests/MockImageDecoder.h:
(WebCore::MockImageDecoder::create):
(MockImageDecoder):
(WebCore::MockImageDecoder::setSize):
(WebCore::MockImageDecoder::frameBufferAtIndex):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoEnable CSS3 position offset for CSS Masking.
alexis@webkit.org [Sat, 8 Dec 2012 02:34:01 +0000 (02:34 +0000)]
Enable CSS3 position offset for CSS Masking.
https://bugs.webkit.org/show_bug.cgi?id=104252

Reviewed by Dirk Schulze.

Source/WebCore:

To follow CSS3 background-position, mask-position should also support
the new <position> type (http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property).
Now the code is shared between background and mask I renamed the
functions used to be more generic. Note that the feature flag is not
meant to stay and will be removed in a following commit.

No new tests : I modified LayoutTests/fast/masking/parsing-mask.html to
cover the new feature.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::createPositionListForLayer):
* css/CSSParser.cpp:
(WebCore::isFillPositionKeyword):
(WebCore::CSSParser::parse4ValuesFillPosition):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::isPotentialPositionValue):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parse2ValuesFillPosition):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseTransformOriginShorthand):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parsePerspectiveOrigin):
* css/CSSParser.h:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):

LayoutTests:

Add coverage for the new cases. Both when setting the position with the
longhand or with the shorthand.

* fast/masking/parsing-mask-expected.txt:
* fast/masking/parsing-mask.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse background color for GraphicsLayers when applicable
commit-queue@webkit.org [Sat, 8 Dec 2012 02:29:36 +0000 (02:29 +0000)]
Use background color for GraphicsLayers when applicable
https://bugs.webkit.org/show_bug.cgi?id=103786

Source/WebCore:

Updated RenderLayerBacking to call GraphicsLayer::setContentsToBackgroundColor when the following conditions take place:
1. The layer doesn't paint its own content, other than background/decoration.
2. There are no borders or other box decorations (border radius, borders, outline, shadow etc.)
3. The image has only a background color, and no background image.
4. background-composite is set to source-over, and background-clip is anything apart from text.
5. The port supports setContentsToBackgroundColor.

This allows any implementation of GraphicsLayer that supports setContentsToBackgroundColor to avoid allocating a backing store
for that layer, but instead draw that solid color directly.
In addition to setting the background color, the layer's contentsRect needs to be adjusted, since the default contents rect of
a layer is not always equivalent to the rect where the background is supposed to be painted, which is derived from the box's
background-clip property.

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-07
Reviewed by Simon Fraser.

Tests: compositing/background-color/background-color-alpha.html
       compositing/background-color/background-color-change-to-text.html
       compositing/background-color/background-color-composite.html
       compositing/background-color/background-color-container.html
       compositing/background-color/background-color-content-clip.html
       compositing/background-color/background-color-padding-change.html
       compositing/background-color/background-color-padding-clip.html
       compositing/background-color/background-color-simple.html
       compositing/background-color/background-color-text-change.html
       compositing/background-color/background-color-text-clip.html

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::supportsBackgroundColorContent):
    Allows different implementation of GraphicsLayer to identify whether they implement setContentsToBackgroundColor.
    Currently only the MAC implementation and TextureMapper falls under that category.

* rendering/RenderBox.h:
(WebCore::RenderBox::paddingBoxRect):
    Added paddingBoxRect to compliment borderBoxRect and contentsBoxRect. paddingBoxRect corresponds to
    background-clip: padding.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
    Update the background color if needed, for every configuration change.
    This should accomodate the old behavior for full-screen, while enabling background color changes for other layers.

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
    Move the contentsRect logic to updateContentsRect.

(WebCore::RenderLayerBacking::updateContentsRect):
    Use the background box when directly compositing backgrounds.

(WebCore::RenderLayerBacking::updateBackgroundColor):
    Set the background color if applicable, otherwise set to trasnparent and clear.
    This was not needed in the past because background colors were only used for the special case of full-screen.

(WebCore::supportsDirectBoxDecorationsComposition):
    Helper function to determine whether a particular background can be directly composited. Right now only
    background color can be composited, and only if the GraphicsLayer implementation supports background colors.
    Also we don't yet support background-clip: text and any background-composite other than source-over.

(WebCore::RenderLayerBacking::paintsBoxDecorations):
    Apply the new supportsDirectBoxDecorationsComposition logic.

(WebCore::RenderLayerBacking::contentsBox):
    Remove unnecessary local variable.

(WebCore::backgroundRectForBox):
(WebCore::RenderLayerBacking::backgroundBox):
    Figure out the correct rect for the GraphicsLayer's contentsRect, based on the renderer's backgroundClip.
    The rectangle has to be adjusted based on the composited layer offset, and snapped to an IntRect as
    GraphicsLayer::contentsRect expects snapped pixels.

LayoutTests:

Created new tests for composited background colors, update existing tests that are affected by the change,
and created platform-specific overrides for Chromium, since it does not yet support composited background
colors.

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-07
Reviewed by Simon Fraser.

* compositing/background-color/background-color-alpha-expected.html: Added.
* compositing/background-color/background-color-alpha.html: Added.
* compositing/background-color/background-color-change-to-text-expected.html: Added.
* compositing/background-color/background-color-change-to-text.html: Added.
* compositing/background-color/background-color-composite-expected.html: Added.
* compositing/background-color/background-color-composite.html: Added.
* compositing/background-color/background-color-container-expected.html: Added.
* compositing/background-color/background-color-container.html: Added.
* compositing/background-color/background-color-content-clip-expected.html: Added.
* compositing/background-color/background-color-content-clip.html: Added.
* compositing/background-color/background-color-padding-change-expected.html: Added.
* compositing/background-color/background-color-padding-change.html: Added.
* compositing/background-color/background-color-padding-clip-expected.html: Added.
* compositing/background-color/background-color-padding-clip.html: Added.
* compositing/background-color/background-color-simple-expected.html: Added.
* compositing/background-color/background-color-simple.html: Added.
* compositing/background-color/background-color-text-change-expected.html: Added.
* compositing/background-color/background-color-text-change.html: Added.
* compositing/background-color/background-color-text-clip-expected.html: Added.
* compositing/background-color/background-color-text-clip.html: Added.
        Added new tests for the specific functionality added, with the edge cases regarding composited
        backgrounds.

* compositing/backing/no-backing-for-clip-expected.txt:
* compositing/backing/no-backing-for-clip-overlap-expected.txt:
* compositing/backing/no-backing-for-perspective-expected.txt:
* compositing/columns/composited-in-paginated-expected.txt:
* compositing/geometry/ancestor-overflow-change-expected.txt:
* compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/composited-in-columns-expected.txt:
* compositing/geometry/flipped-writing-mode-expected.txt:
* compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* compositing/geometry/preserve-3d-switching-expected.txt:
* compositing/iframes/become-composited-nested-iframes-expected.txt:
* compositing/iframes/become-overlapped-iframe-expected.txt:
* compositing/iframes/composited-parent-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* compositing/iframes/connect-compositing-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe2-expected.txt:
* compositing/iframes/connect-compositing-iframe3-expected.txt:
* compositing/iframes/enter-compositing-iframe-expected.txt:
* compositing/iframes/iframe-resize-expected.txt:
* compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* compositing/iframes/invisible-nested-iframe-show-expected.txt:
* compositing/iframes/overlapped-iframe-expected.txt:
* compositing/iframes/overlapped-iframe-iframe-expected.txt:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* compositing/iframes/scrolling-iframe-expected.txt:
* compositing/layer-creation/animation-overlap-with-children-expected.txt:
* compositing/layer-creation/fixed-position-and-transform-expected.txt:
* compositing/layer-creation/fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overlap-animation-expected.txt:
* compositing/layer-creation/overlap-child-layer-expected.txt:
* compositing/layer-creation/overlap-clipping-expected.txt:
* compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* compositing/layer-creation/overlap-transformed-layer-expected.txt:
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/layer-creation/scroll-partial-update-expected.txt:
* compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* compositing/layer-creation/stacking-context-overlap-expected.txt:
* compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
* compositing/layer-creation/translatez-overlap-expected.txt:
* compositing/overflow-trumps-transform-style-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* compositing/plugins/no-backing-store-expected.txt:
* compositing/rtl/rtl-absolute-expected.txt:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-expected.txt:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-relative-expected.txt:
* compositing/tiled-layers-hidpi-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
        Updated existing tests that now print different layer-tree results.

* platform/chromium/compositing/backing/no-backing-for-clip-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-expected.txt.
* platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-clip-overlap-expected.txt.
* platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt: Copied from LayoutTests/compositing/backing/no-backing-for-perspective-expected.txt.
* platform/chromium/compositing/columns/composited-in-paginated-expected.txt: Copied from LayoutTests/compositing/columns/composited-in-paginated-expected.txt.
* platform/chromium/compositing/geometry/ancestor-overflow-change-expected.txt: Copied from LayoutTests/compositing/geometry/ancestor-overflow-change-expected.txt.
* platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt.
* platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Copied from LayoutTests/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt.
* platform/chromium/compositing/geometry/clip-expected.txt: Copied from LayoutTests/compositing/geometry/clip-expected.txt.
* platform/chromium/compositing/geometry/composited-in-columns-expected.txt: Copied from LayoutTests/compositing/geometry/composited-in-columns-expected.txt.
* platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt: Copied from LayoutTests/compositing/geometry/flipped-writing-mode-expected.txt.
* platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Copied from LayoutTests/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt.
* platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt.
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt.
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Copied from LayoutTests/compositing/geometry/limit-layer-bounds-transformed-expected.txt.
* platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt: Copied from LayoutTests/compositing/geometry/preserve-3d-switching-expected.txt.
* platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Copied from LayoutTests/compositing/iframes/invisible-nested-iframe-hide-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt: Copied from LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt.
* platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Copied from LayoutTests/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-animation-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-animation-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-child-layer-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transformed-layer-expected.txt.
* platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt: Copied from LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt.
* platform/chromium/compositing/layer-creation/scroll-partial-update-expected.txt: Copied from LayoutTests/compositing/layer-creation/scroll-partial-update-expected.txt.
* platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-expected.txt.
* platform/chromium/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Copied from LayoutTests/compositing/layer-creation/stacking-context-overlap-nested-expected.txt.
* platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt: Copied from LayoutTests/compositing/layer-creation/translatez-overlap-expected.txt.
* platform/chromium/compositing/overflow-trumps-transform-style-expected.txt: Copied from LayoutTests/compositing/overflow-trumps-transform-style-expected.txt.
* platform/chromium/compositing/rtl/rtl-absolute-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-expected.txt.
* platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.txt.
* platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt.
* platform/chromium/compositing/rtl/rtl-fixed-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-expected.txt.
* platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.txt.
* platform/chromium/compositing/rtl/rtl-relative-expected.txt: Copied from LayoutTests/compositing/rtl/rtl-relative-expected.txt.
* platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt: Copied from LayoutTests/css3/filters/filtered-compositing-descendant-expected.txt.
        Create chromium-specific results since chromium does not yet support setContentsToBackgroundColor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAllow the WebProcess access to the CoreMedia preferences file.
jer.noble@apple.com [Sat, 8 Dec 2012 01:48:06 +0000 (01:48 +0000)]
Allow the WebProcess access to the CoreMedia preferences file.
https://bugs.webkit.org/show_bug.cgi?id=104320
<rdar://problem/10904519>

Reviewed by Alexey Proskuryakov.

Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
to access those preferences as well.

* PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
* WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the...
timothy_horton@apple.com [Sat, 8 Dec 2012 01:19:51 +0000 (01:19 +0000)]
[wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=104418

Reviewed by Simon Fraser.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
(WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoShrink the size of NodeRareData by moving pointers into separate objects
rniwa@webkit.org [Sat, 8 Dec 2012 01:17:36 +0000 (01:17 +0000)]
Shrink the size of NodeRareData by moving pointers into separate objects
https://bugs.webkit.org/show_bug.cgi?id=104312

Reviewed by Andreas Kling.

This patch does three things:
1. Move ChildNodeList back into NodeListsNodeData.
2. Move m_mutationObserverRegistry & m_transientMutationObserverRegistry into a separate object owned by NodeRareData.
3. Move m_itemProp, m_itemRef, m_itemType & into a separate object owned by NodeRareData.

Moving m_childNodeList from NodeRareData to NodeListsNodeData also has a nice side-effect of making ChildNodeList
behave more like other LiveNodeLists.

This patch also fixes Mac build when microdata is enabled.

There should be no user-visible behavior change.

* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::~ChildNodeList):
* dom/Node.cpp:
(WebCore::Node::childNodes): Moved the code to create ChildNodeList into NodeListsNodeData to match other node lists.
(WebCore::Node::invalidateNodeListCachesInAncestors):
(WebCore): Removed removeCachedChildNodeList.
* dom/Node.h:
(Node):
* dom/NodeRareData.cpp:
(WebCore): Assert the size of NodeRareData at compilation time.
(WebCore::NodeListsNodeData::reportMemoryUsage):
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::clearChildNodeListCache): Moved from NodeRareData.
(WebCore::NodeListsNodeData::ensureChildNodeList): Extracted from Node::childNodes.
(WebCore::NodeListsNodeData::removeChildNodeList): Added.
(WebCore::NodeListsNodeData::NodeListsNodeData): Initialize m_childNodeList.
(WebCore::NodeRareData::NodeMutationObserverData): Extracted from NodeRareData.
(WebCore::NodeRareData::NodeMutationObserverData::create):
(WebCore::NodeRareData::NodeMicroDataTokenLists): Ditto.
(WebCore::NodeRareData::NodeMicroDataTokenLists::create):
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::ensureNodeLists): Merged setNodeLists since it's not called elsewhere.
(WebCore::NodeRareData::mutationObserverRegistry):
(WebCore::NodeRareData::ensureMutationObserverRegistry): Added.
(WebCore::NodeRareData::transientMutationObserverRegistry):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
(WebCore::NodeRareData::ensureMicroDataTokenLists):
(NodeRareData):
(WebCore::NodeRareData::itemProp):
(WebCore::NodeRareData::setItemProp):
(WebCore::NodeRareData::itemRef):
(WebCore::NodeRareData::setItemRef):
(WebCore::NodeRareData::itemType):
(WebCore::NodeRareData::setItemType):
* html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::propertyNodeList): Renamed from namedItem since its return type, PropertyNodeList,
is different from that, Node, of LiveNodeList::namedItem. It was shadowing the function name instead of overriding.
* html/HTMLPropertiesCollection.h:
(HTMLPropertiesCollection):
* html/HTMLPropertiesCollection.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Sat, 8 Dec 2012 01:05:32 +0000 (01:05 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake function code cache proportional to main codeblock cache
oliver@apple.com [Sat, 8 Dec 2012 01:00:16 +0000 (01:00 +0000)]
Make function code cache proportional to main codeblock cache
https://bugs.webkit.org/show_bug.cgi?id=104420

Reviewed by Geoffrey Garen.

Makes the constants determining the recently used function cache proportional
to the number of root codeblocks in the cache.  Also renames the constants to
make them more clear.

* runtime/CodeCache.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed gardening. New baselines for new tests.
senorblanco@chromium.org [Sat, 8 Dec 2012 00:42:39 +0000 (00:42 +0000)]
[Chromium] Unreviewed gardening.  New baselines for new tests.

* platform/chromium-mac/css3/filters/effect-reference-after-expected.png: Added.
* platform/chromium-mac/css3/filters/effect-reference-delete-expected.png: Added.
* platform/chromium-mac/css3/filters/effect-reference-rename-expected.png: Added.
* platform/chromium-win/css3/filters/effect-reference-after-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-after-expected.png.
* platform/chromium-win/css3/filters/effect-reference-delete-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-delete-expected.png.
* platform/chromium-win/css3/filters/effect-reference-rename-expected.png: Renamed from LayoutTests/platform/chromium-linux/css3/filters/effect-reference-rename-expected.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r136993.
commit-queue@webkit.org [Sat, 8 Dec 2012 00:40:06 +0000 (00:40 +0000)]
Unreviewed, rolling out r136993.
http://trac.webkit.org/changeset/136993
https://bugs.webkit.org/show_bug.cgi?id=104415

This patch breaks the mac build (Requested by cabanier on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-07

Source/WebCore:

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw):
* platform/graphics/CrossfadeGeneratedImage.h:
(CrossfadeGeneratedImage):
* platform/graphics/GeneratedImage.h:
(GeneratedImage):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
* platform/graphics/GeneratorGeneratedImage.h:
(GeneratorGeneratedImage):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::draw):
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(Image):
* platform/graphics/ImageBuffer.h:
(ImageBuffer):
* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::draw):
* platform/graphics/cg/PDFDocumentImage.h:
(PDFDocumentImage):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
* platform/graphics/qt/StillImageQt.h:
(StillImage):
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(BitmapImageSingleFrameSkia):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/SVGImage.h:
(SVGImage):

Source/WebKit/chromium:

* tests/DragImageTest.cpp:
(WebCore::TestImage::draw):
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TestImage::draw):

Source/WebKit2:

* win/WebKit2.def.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago There is no need to change cached resource storage policy through ResourceHan...
ap@apple.com [Sat, 8 Dec 2012 00:38:32 +0000 (00:38 +0000)]
    There is no need to change cached resource storage policy through ResourceHandleClient
        https://bugs.webkit.org/show_bug.cgi?id=104413

        Reviewed by Brady Eidson.

        This code was only needed to prevent storing responses to disk in private browsing
        mode, but we now have a storage session to take care of that in a cleaner and more
        reliable way.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Network process should use a correct storage session in private browsing...
ap@apple.com [Sat, 8 Dec 2012 00:16:39 +0000 (00:16 +0000)]
    Network process should use a correct storage session in private browsing mode
        <rdar://problem/12838490>
        https://bugs.webkit.org/show_bug.cgi?id=104401

        Reviewed by Brady Eidson.

        Notify NetworkProcess when it needs to create or destroy a private browsing session,
        and add a NetworkResourceLoadParameters member telling if the particular resource
        should be requested using it.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
        (WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
        (WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
        Added another dummy argument to dummy networking context.

        * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
        Ensure private browsing session if it's needed due to a persistent preference, not
        an API call at runtime (which is handled below as ensure/destroy).

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
        used for loading.
        (WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
        matches WebCore, but may be not needed.

        * NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
        Store privateBrowsingEnabled flag.

        * NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
        Return a private session when it's in use.

        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        Pass privateBrowsingEnabled flag to the new process.

        * Shared/Network/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
        (WebKit::NetworkResourceLoadParameters::encode):
        (WebKit::NetworkResourceLoadParameters::decode):
        * Shared/Network/NetworkResourceLoadParameters.h:
        (WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
        Pass inPrivateBrowsingMode flag for the request.

        * UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
        Exposed, so that we can send messages without going through NetworkProcessManager.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::usesNetworkProcess):
        (WebKit::anyContextUsesNetworkProcess):
        (WebKit::WebContext::willStartUsingPrivateBrowsing):
        (WebKit::WebContext::willStopUsingPrivateBrowsing):
        Notify NetworkProcess when entering or exiting private browsing.

        * UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
        anyContextUsesNetworkProcess to use.

        * WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
        Put current private browsing state over in NetworkResourceLoadParameters.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMutationRecord addedNodes/removedNodes should never be null
adamk@chromium.org [Fri, 7 Dec 2012 23:43:48 +0000 (23:43 +0000)]
MutationRecord addedNodes/removedNodes should never be null
https://bugs.webkit.org/show_bug.cgi?id=98921

Reviewed by Ryosuke Niwa.

Source/WebCore:

Per an update to the DOM4 spec that matches Gecko's behavior,
addedNodes/removedNodes should be empty NodeLists on 'attributes'
and 'characterData' records, rather than null.

This is accomplished with lazy initialization of addedNodes/removedNodes
attributes on 'attributes'/'characterData' records and the
addition of a new StaticNodeList::createEmpty() factory method.

* dom/MutationRecord.cpp:
* dom/MutationRecord.h:
(MutationRecord):
* dom/StaticNodeList.h:
(WebCore::StaticNodeList::adopt):
(StaticNodeList):
(WebCore::StaticNodeList::createEmpty):
(WebCore::StaticNodeList::StaticNodeList):

LayoutTests:

Updated nullity test to check for empty nodelists.

* fast/mutation/mutation-record-nullity-expected.txt:
* fast/mutation/mutation-record-nullity.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build correction after 136959.
bfulgham@webkit.org [Fri, 7 Dec 2012 23:42:02 +0000 (23:42 +0000)]
Unreviewed build correction after 136959.

The initialization list should follow the same compiler macro
exclusions as the class members.

* inspector/InstrumentingAgents.h: Add USE(ACCELERATED_COMPOSITING)
  guards around m_inspectorLayerTreeAgent as this does not exist
  when the guard is false.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed chromium-win rebaselines.
eae@chromium.org [Fri, 7 Dec 2012 23:34:46 +0000 (23:34 +0000)]
Unreviewed chromium-win rebaselines.

* platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Removed.
* platform/chromium-win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoExtend platform layer so it can pass blend modes to the compositing calls
commit-queue@webkit.org [Fri, 7 Dec 2012 23:33:11 +0000 (23:33 +0000)]
Extend platform layer so it can pass blend modes to the compositing calls
https://bugs.webkit.org/show_bug.cgi?id=104176

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-12-07
Reviewed by Dirk Schulze.

Source/WebCore:

Adding blend mode enumeration to drawImage functions + stored blendmode in graphics context

No new tests, no new functionality.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw):
* platform/graphics/CrossfadeGeneratedImage.h:
(CrossfadeGeneratedImage):
* platform/graphics/GeneratedImage.h:
(GeneratedImage):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):
* platform/graphics/GeneratorGeneratedImage.h:
(GeneratorGeneratedImage):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::setCompositeOperation):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContextState::GraphicsContextState):
(GraphicsContextState):
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::draw):
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(Image):
* platform/graphics/ImageBuffer.h:
(ImageBuffer):
* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::draw):
* platform/graphics/cg/PDFDocumentImage.h:
(PDFDocumentImage):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
* platform/graphics/qt/StillImageQt.h:
(StillImage):
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(BitmapImageSingleFrameSkia):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/SVGImage.h:
(SVGImage):

Source/WebKit/chromium:

Adding blend mode enumeration to draw functions

* tests/DragImageTest.cpp:
(WebCore::TestImage::draw):
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TestImage::draw):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: propagate transaction_ids through open/upgradeneeded
alecflett@chromium.org [Fri, 7 Dec 2012 23:20:04 +0000 (23:20 +0000)]
IndexedDB: propagate transaction_ids through open/upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=103922

Reviewed by Tony Chang.

Source/WebCore:

Make sure front-end is always generating the transaction id,
so that it can be relied upon as an alternative to the
to-be-deprecated IDBTransactionBackendInterface pointer.

No new tests, this is one stage in a larger refactor.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
(IDBDatabaseBackendImpl::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::transactionId):
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
(IDBDatabaseBackendImpl::PendingOpenCall):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::transactionId):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
(IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::createTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::openInternal):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):

Source/WebKit/chromium:

Update test to account for pre-generated transaction ids.

* tests/IDBDatabaseBackendTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136992 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement general ::cue pseudo element for the <video>
commit-queue@webkit.org [Fri, 7 Dec 2012 23:11:02 +0000 (23:11 +0000)]
Implement general ::cue pseudo element for the <video>
https://bugs.webkit.org/show_bug.cgi?id=104043

Patch by Dima Gorbik <dgorbik@apple.com> on 2012-12-07
Reviewed by Eric Carlson.

Source/WebCore:

Implemented the ::cue pseudo element to be able to style all WebVTT cues.
Added the subcontainer with a '::cue' pseudoId in between the TextTrackContainerElement and WebVTT nodes to separate
user agent default styles from user defined styles for the cue elements.

Test: media/track/track-css-all-cues.html

* css/CSSSelector.cpp: ::cue pseudo selector doesn't have a valid prefix but should be allowed in the user-agent stylesheet.
(WebCore::CSSSelector::parsePseudoType):
* html/shadow/MediaControlElements.cpp:
(WebCore):
(WebCore::MediaControlTextTrackContainerElement::createSubtrees): create a subcontainer and set its pseudoId to '::cue'.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): append WebVTT nodes to the newly created subcontainer.
* html/shadow/MediaControlElements.h:
(MediaControlTextTrackContainerElement):
* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::createTextTrackDisplay): initiate creating subtrees for the MediaControlTextTrackContainerElement.
* html/shadow/MediaControlsChromium.cpp:
(WebCore::MediaControlsChromium::createTextTrackDisplay):

LayoutTests:

* media/track/captions-webvtt/styling.vtt: Added.
* media/track/track-css-all-cues-expected.txt: Added.
* media/track/track-css-all-cues.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136991 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix webgl-depth-texture.html to match the test expectation.
commit-queue@webkit.org [Fri, 7 Dec 2012 23:06:53 +0000 (23:06 +0000)]
Fix webgl-depth-texture.html to match the test expectation.
https://bugs.webkit.org/show_bug.cgi?id=104259.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-07
Reviewed by Kenneth Russell.

The text expectation of this testcase expects to check for FrameBuffer status and compare the value
using ShouldBe after creating the framebuffer.
Currently, we do it only in case of adding a color buffer. This patch ensures that the Framebuffer
Status check using ShouldBe is done in all cases.

* fast/canvas/webgl/webgl-depth-texture.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStrange results calculating a square root in a loop
fpizlo@apple.com [Fri, 7 Dec 2012 22:55:58 +0000 (22:55 +0000)]
Strange results calculating a square root in a loop
https://bugs.webkit.org/show_bug.cgi?id=104247
<rdar://problem/12826880>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Fixed the CFG simplification phase to ignore dead GetLocals in the first of the blocks
under the merge. This fixes the assertion, and is also cleaner: our general rule is
to not "revive" things that we've already proved to be dead.

Also fixed some rotted debug code.

* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

LayoutTests:

* fast/js/dfg-cfg-simplify-redundant-dead-get-local-expected.txt: Added.
* fast/js/dfg-cfg-simplify-redundant-dead-get-local.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js: Added.
(getDist):
(calcError):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136989 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed chromium rebaselines.
eae@chromium.org [Fri, 7 Dec 2012 22:47:45 +0000 (22:47 +0000)]
Unreviewed chromium rebaselines.

* platform/chromium-linux-x86/ietestcenter: Removed.
* platform/chromium-linux/compositing/backface-visibility: Added.
* platform/chromium-linux/compositing/backface-visibility/backface-visibility-webgl-expected.png: Added.
* platform/chromium-mac/compositing/backface-visibility: Added.
* platform/chromium-mac/compositing/backface-visibility/backface-visibility-webgl-expected.png: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing: Removed.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Removed.
* platform/chromium-win-xp/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] General code cleanup and improved logging.
nghanavatian@rim.com [Fri, 7 Dec 2012 22:40:45 +0000 (22:40 +0000)]
[BlackBerry] General code cleanup and improved logging.
https://bugs.webkit.org/show_bug.cgi?id=104389

Reviewed by Rob Buis.

Internally reviewed by Mike Fenton

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::convertStringToWchar):
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::handleKeyboardInput):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136987 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash in JSC::Bindings::RootObject::globalObject() sync'ing notes in Evernote
ggaren@apple.com [Fri, 7 Dec 2012 22:34:04 +0000 (22:34 +0000)]
Crash in JSC::Bindings::RootObject::globalObject() sync'ing notes in Evernote
https://bugs.webkit.org/show_bug.cgi?id=104321
<rdar://problem/12770497>

Reviewed by Sam Weinig.

../JavaScriptCore:

Work around a JSValueUnprotect(NULL) in Evernote.

* API/JSValueRef.cpp:
(evernoteHackNeeded):
(JSValueUnprotect):

../WebCore:

Missed a null check.

* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject JSObject]): If our root object has been cleared, don't
try to dereference it. This happens in Evernote during tear-down.

This matches the behavior of other methods in the same class.

(_isSafeScript returns false if the root object has been cleared.)

If we believe _isSafeScript is a good idea, it's probably the right test
to use here (as opposed to just null-checking _rootObject) because this API
gives the client unlimited access to the underlying JavaScript object.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136986 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed chromium rebaselines.
eae@chromium.org [Fri, 7 Dec 2012 22:16:05 +0000 (22:16 +0000)]
Unreviewed chromium rebaselines.

* platform/chromium-linux-x86/ietestcenter/css3: Removed.
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
* platform/chromium-mac-lion/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
* platform/chromium-mac-snowleopard/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
* platform/chromium-mac/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:
* platform/efl-wk1/ietestcenter/css3/bordersbackgrounds: Added.
* platform/efl-wk1/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Added.
* platform/efl/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136985 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoXMLSerializer is too aggressive in adding prefixes
schenney@chromium.org [Fri, 7 Dec 2012 22:13:30 +0000 (22:13 +0000)]
XMLSerializer is too aggressive in adding prefixes
https://bugs.webkit.org/show_bug.cgi?id=104387

Reviewed by Ryosuke Niwa.

Source/WebCore:

We have been adding "xlink:" and "xmlns:" and "xml:" prefixes to any
attribute that is in one of those namespaces but which did not already
have the matching prefix. This appears to be in error, at least
compared to other browsers.

The correct behavior appears to be to add the prefix only if there is
no existing prefix. If there is an existing prefix, we now leave it alone.

No new tests. Existing test expanded.

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendAttribute): Only replace the prefix
attribute name prefix if it is empty, and in one of the recognised
namespaces.

LayoutTests:

Add a test case for a prefix that is already set, but to a different name than the default.

* svg/custom/xlink-prefix-in-attributes.html:
* svg/custom/xlink-prefix-in-attributes-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CoordGfx] Variable name starts with upper case character
commit-queue@webkit.org [Fri, 7 Dec 2012 22:13:18 +0000 (22:13 +0000)]
[CoordGfx] Variable name starts with upper case character
https://bugs.webkit.org/show_bug.cgi?id=104327

Patch by Helder Correia <helder.correia@nokia.com> on 2012-12-07
Reviewed by Noam Rosenthal.

Just fixing a typo.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDisplay the auto-start label image after a delay
jonlee@apple.com [Fri, 7 Dec 2012 22:08:43 +0000 (22:08 +0000)]
Display the auto-start label image after a delay
https://bugs.webkit.org/show_bug.cgi?id=104173
<rdar://problem/12820071>

Reviewed by Dan Bernstein.

Treat the button now as a label. Once the user has hovered over the plug-in, wait a little while before showing the label.

* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn): Add a one-shot timer, and a variable representing whether the label should
be drawn. Remove the variable that determines whether the label is active.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Set the time to a delay of 1 second.
(WebCore::RenderSnapshottedPlugIn::paintReplaced): Paint the label only when we should.
(WebCore::RenderSnapshottedPlugIn::paintLabel): The label should only paint in its hovered state.
(WebCore::startLabelImage): Renamed.
(WebCore::RenderSnapshottedPlugIn::repaintLabel): Renamed.
(WebCore::RenderSnapshottedPlugIn::hoverDelayTimerFired): Now that the timer has fired, we should paint
the label. Repaint.
(WebCore::RenderSnapshottedPlugIn::handleEvent): Update event handling. Click event handler is the
same, except we move the label check inside so that if the click is not the left label we don't
fall through to the other irrevelant if clauses.
    For the mouse down handler, make sure to check for the left label. If the hover timer is still running,
stop it, so that we don't draw a label while the user is in the middle of a mouse gesture.
    Redo mouse over and out. On mouse over we start the delay timer. On mouse out we stop the delay timer
if it is still running, reset state, and paint the label out.
(WebCore::RenderSnapshottedPlugIn::layout): Refactor.

* Resources/startButtonPressed.png: Removed.
* Resources/startButtonPressed@2x.png: Removed.
* WebCore.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Strip whitespace from learned text.
nghanavatian@rim.com [Fri, 7 Dec 2012 22:04:25 +0000 (22:04 +0000)]
[BlackBerry] Strip whitespace from learned text.
https://bugs.webkit.org/show_bug.cgi?id=104391

Reviewed by Rob Buis.

This was removing the first word from the sentence being learned. Using
stripWhiteSpace to remove spaces from the start and end of the text.

Internally reviewed by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::learnText):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove WebKit2 related projects from WebKit.sln
andersca@apple.com [Fri, 7 Dec 2012 21:48:12 +0000 (21:48 +0000)]
Remove WebKit2 related projects from WebKit.sln
https://bugs.webkit.org/show_bug.cgi?id=104395

Reviewed by Tim Horton.

* WebKit.vcproj/WebKit.sln:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Remove linux theme related files and switch to default
commit-queue@webkit.org [Fri, 7 Dec 2012 21:34:25 +0000 (21:34 +0000)]
[chromium] Remove linux theme related files and switch to default
https://bugs.webkit.org/show_bug.cgi?id=103897

Patch by Scott Violet <sky@chromium.org> on 2012-12-07
Reviewed by Dimitri Glazkov.

Source/Platform:

* Platform.gypi: Remove WebThemeEngine.h
* chromium/public/linux/WebThemeEngine.h: Removed.

Source/WebCore:

Linux related theme files are now named Default.

No new tests, code cleanup.

* WebCore.gyp/WebCore.gyp: Update files
* WebCore.gypi: Update files
* platform/chromium/PlatformThemeChromiumLinux.cpp: Removed.
* platform/chromium/PlatformThemeChromiumLinux.h: Removed.
* platform/chromium/ScrollbarThemeChromiumLinux.cpp: Removed.
* platform/chromium/ScrollbarThemeChromiumLinux.h: Removed.
* rendering/RenderThemeChromiumAndroid.cpp:
(WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet): Linux->Default
* rendering/RenderThemeChromiumAndroid.h: Change superclass
* rendering/RenderThemeChromiumLinux.cpp: Removed.
* rendering/RenderThemeChromiumLinux.h: Removed.

Source/WebKit/chromium:

Linux theme related files are now named Default.

* WebKit.gyp:
* public/linux/WebRenderTheme.h: Removed.
* public/platform/linux/WebThemeEngine.h: Removed.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setScrollbarColors): Cleanup ifdefs.
(WebKit::WebViewImpl::setSelectionColors): Cleanup ifdefs.
* src/linux/WebRenderTheme.cpp: Removed.

Tools:

* Scripts/webkitpy/common/config/build_unittest.py:
(ShouldBuildTest): linux->default

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCaptions menu doesn't update to track changes
eric.carlson@apple.com [Fri, 7 Dec 2012 21:30:12 +0000 (21:30 +0000)]
Captions menu doesn't update to track changes
https://bugs.webkit.org/show_bug.cgi?id=104393

Reviewed by Dean Jackson.

Source/WebCore:

Flag the captions menu as needing an update when tracks are added or removed. Don't actually
change the menu until it needs to be displayed.

No new tests, media/video-controls-captions-trackmenu.html was updated to test this.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTextTrack): Call closedCaptionTracksChanged().
(WebCore::HTMLMediaElement::didRemoveTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement):
    Intialize m_trackListHasChanged.
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Call rebuildTrackListMenu if
    the track list has changed.
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Renamed from resetTrackListMenu.
* html/shadow/MediaControlElements.h:
(WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): Just set m_trackListHasChanged.

* html/shadow/MediaControls.h:
(WebCore::MediaControls::closedCaptionTracksChanged): New, do nothing for base class.

* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::toggleClosedCaptionTrackList): Update the track list before
    showing it.
(WebCore::MediaControlsApple::closedCaptionTracksChanged):
* html/shadow/MediaControlsApple.h:

LayoutTests:

Test to ensure that the captions menu is updated as tracks added and removed.

* media/video-controls-captions-trackmenu-expected.txt:
* media/video-controls-captions-trackmenu.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Rolled DEPS.
senorblanco@chromium.org [Fri, 7 Dec 2012 21:26:48 +0000 (21:26 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral conten...
kenneth@webkit.org [Fri, 7 Dec 2012 21:15:07 +0000 (21:15 +0000)]
[WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
https://webkit.org/b/103519

Reviewed by Noam Rosenthal.

This patch removes the blurriness by pixel aligning the layers. It
does not fully remove the shaking, only minimizes it.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::pagePosition):

    As the pixel alignment of the main layer is moved to the
    PageViewportController, rename discretePagePosition to just
    pagePosition. It now returns a FloatPoint but the positions
    should still be discrete.

* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::didChangeScrollPosition):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
* WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(WebKit::LayerTreeHost::setVisibleContentsRect):

    Change the internal scroll position/visible contents rect
    to be represented as float positions. The rounding to integer
    values not happens just before setFixesVisibleContentsRect.
    This makes it possible to know our exact positions and
    calculate proper scroll deltas.

(WebKit::LayerTreeRenderer::setLayerState):

    Group anchor point, position and size together.

* UIProcess/PageViewportController.h:
(PageViewportController):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::boundContentsPositionAtScale):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):

    Some renaming as what was called viewportPos was actually the
    contents position. Rename clampViewportToContents to
    boundContentsPosition and remove scale argument which is has
    direct access to.

    Make the boundContentsPosition allow one extra pixel in each
    orientation to allow for pixel alignment of fixed position layers

(WebKit::isIntegral):
(WebKit):
(WebKit::PageViewportController::pixelAlignedFloatPoint):

    Introduce way to pixel align the main contents layer. Only in
    use for EFL so far.

* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):

    Store the contents position as a FloatPoint.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::isIntegral):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
(WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

    Pixel align layers when the effective scale is not an integer
    value. This code is based on code from GraphicsLayerCA.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136976 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSS url() filters with forward references don't work
senorblanco@chromium.org [Fri, 7 Dec 2012 20:56:07 +0000 (20:56 +0000)]
CSS url() filters with forward references don't work
https://bugs.webkit.org/show_bug.cgi?id=90405

Based on a patch by Keyar Hood.

Reviewed by Dirk Schulze.

Source/WebCore:

In order for CSS to reference SVG filters that will occur later in
the document, or will be added at a future time, we need a way to
notify the target element (the one the filter style is applied to)
when the correct SVG filter is added to the DOM.
There is already code for SVG elements that handles this problem, in
SVGResourcesCache. This patch allows any element to have a reference to
an SVG element in SVGResourceCache.

Tests: css3/filters/effect-reference-after.html
       css3/filters/effect-reference-delete-crash.html
       css3/filters/effect-reference-delete.html
       css3/filters/effect-reference-rename.html
       css3/filters/effect-reference-reset-style-delete-crash.html
       svg/filters/filter-cycle.html

* dom/Element.cpp:
(WebCore::Element::hasPendingResources): Added
(WebCore::Element::setHasPendingResources): Added
(WebCore::Element::clearHasPendingResources): Added
* dom/Element.h:
Accessors for ElementRareData's new bit flag.
(WebCore::Element::buildPendingResource):
Virtual function to override for referenced elements (moved from SVGElement).
* dom/ElementRareData.h:
(WebCore::ElementRareData::ElementRareData):
Add a new bit flag to indicate whether the element depends on pending resources or not.
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
Changed to the new function signature for FilterEffectRenderer::build().
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives.  If the referenced filter cannot be found, add its id as a pending reference.
(WebCore::FilterEffectRenderer::build):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives.
* rendering/FilterEffectRenderer.h:
Change to signatures of build() and buildReferenceFilter() to pass
a RenderObject instead of a Document.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
Use the new semantics for FilterEffectRenderer::build().
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
Notify the cache if a RenderObject is destroyed.
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
on the element, since we want to support generic Elements.
* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::buildCachedResources):
Add support for building filters on non-SVG elements.
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
Do cycle detection only on SVG elements.
(WebCore::SVGResourcesCache::clientStyleChanged):
For non-SVG elements, set a synthetic style change when parent resources
are invalidated.
(WebCore::SVGResourcesCache::resourceDestroyed):
Add support for non-SVG Elements.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
Changed to allow use of Element instead of SVGElement.
(WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
Moved from SVGElement, and made to work on any Element.  This way,
we avoid adding this function to Element itself.
* svg/SVGDocumentExtensions.h:
SVGElement -> Element.
* svg/SVGElement.cpp:
* svg/SVGElement.h:
All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
m_hasPendingResources add accessors moved to ElementRareData.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
SVGElement -> Element, and call SVGDocumentExtensions for
clearHasPendingResourcesIfPossible().

LayoutTests:

* css3/filters/effect-reference-after-expected.txt: Added.
* css3/filters/effect-reference-after.html: Added.
* css3/filters/effect-reference-delete-crash-expected.txt: Added.
* css3/filters/effect-reference-delete-crash.html: Added.
* css3/filters/effect-reference-delete-expected.txt: Added.
* css3/filters/effect-reference-delete.html: Added.
* css3/filters/effect-reference-rename-expected.txt: Added.
* css3/filters/effect-reference-rename.html: Added.
* css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Added.
* css3/filters/effect-reference-reset-style-delete-crash.html: Added.
* css3/filters/script-tests/effect-reference-delete-crash.js: Added.
* css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Added.
* svg/filters/filter-cycle.html: Added.
* svg/filters/filter-cycle-expected.html: Added.
* platform/chromium-linux/css3/filters/effect-reference-after-expected: Added.
* platform/chromium-linux/css3/filters/effect-reference-delete-expected.png: Added.
* platform/chromium-linux/css3/filters/effect-reference-rename-expected.png: Added.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Add shortcut to set visibility:hidden on elements in the ElementsPanel
commit-queue@webkit.org [Fri, 7 Dec 2012 20:52:36 +0000 (20:52 +0000)]
Web Inspector: Add shortcut to set visibility:hidden on elements in the ElementsPanel
https://bugs.webkit.org/show_bug.cgi?id=104146

Patch by Eberhard Graether <egraether@google.com> on 2012-12-07
Reviewed by Pavel Feldman.

This change adds the shortcut H to set and unset visibility:hidden on the inline style
of elements in the Elementspanel. This feature makes it easier to look for elements that
cause bad rendering performance, because visibility:hidden does not paint the element,
but preserves the layout.

No new tests.

* English.lproj/localizedStrings.js:
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.toggleInlineVisibility):
* inspector/front-end/ElementsPanelDescriptor.js:
(WebInspector.ElementsPanelDescriptor.prototype.registerShortcuts):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.handleShortcut):
* inspector/front-end/KeyboardShortcut.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136974 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess...
ap@apple.com [Fri, 7 Dec 2012 20:47:08 +0000 (20:47 +0000)]
    REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
        https://bugs.webkit.org/show_bug.cgi?id=104392

        Reviewed by Anders Carlsson.

        * Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
        back to using m_conection where it can be null.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136973 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove our decoded data size estimation for style sheets.
akling@apple.com [Fri, 7 Dec 2012 20:41:30 +0000 (20:41 +0000)]
Improve our decoded data size estimation for style sheets.
<http://webkit.org/b/104388>

Reviewed by Antti Koivisto.

Tweak how we estimate the total decoded size of a given style sheet. (We were guessing at about 30% of actual size.)
This is just used as a hint to the WebCore cache.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::averageSizeInBytes):
* css/StyleRule.cpp:
(WebCore::StyleRule::averageSizeInBytes):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed EFL gardening.
alexis@webkit.org [Fri, 7 Dec 2012 20:39:56 +0000 (20:39 +0000)]
Unreviewed EFL gardening.

css3/calc/background-position-parsing.html is now working as
webkit.org/b/104131 has been fixed. I also rebased
background_position_three_four_values-expected.png which was incorrect and
now with the CSS3 background-position offsets it renders correctly.

* platform/efl-wk2/TestExpectations:
* platform/efl/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Enable CSS3 background-position offset by default.
alexis@webkit.org [Fri, 7 Dec 2012 20:34:22 +0000 (20:34 +0000)]
[Chromium] Enable CSS3 background-position offset by default.
https://bugs.webkit.org/show_bug.cgi?id=104253

Reviewed by Tony Chang.

Source/WebKit/chromium:

Turn on the feature by default.

* features.gypi:

LayoutTests:

Enable by default the new CSS3 background position offsets therefore we
can unskip the tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] GeolocationClientBB should show file system path in prompts when host...
commit-queue@webkit.org [Fri, 7 Dec 2012 20:22:35 +0000 (20:22 +0000)]
[BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
https://bugs.webkit.org/show_bug.cgi?id=103785

PR 247656

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Adding a special case for origins with protocol "file". We will use the filepath as
an origin when asking for geolocation permission.

If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
right away.

* WebCoreSupport/GeolocationClientBlackBerry.cpp:
(getOrigin):
(GeolocationClientBlackBerry::requestPermission):
(GeolocationClientBlackBerry::cancelPermissionRequest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136969 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Enable Intel's Resource Timing tests
simonjam@chromium.org [Fri, 7 Dec 2012 19:34:59 +0000 (19:34 +0000)]
[Chromium] Enable Intel's Resource Timing tests
https://bugs.webkit.org/show_bug.cgi?id=104330

Reviewed by Tony Gentilcore.

* platform/chromium/TestExpectations: 2 fail because they rely on iframes.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r127163): Content is offset to the right at rea.ru
robert@webkit.org [Fri, 7 Dec 2012 19:30:51 +0000 (19:30 +0000)]
REGRESSION(r127163): Content is offset to the right at rea.ru
https://bugs.webkit.org/show_bug.cgi?id=103116

Reviewed by David Hyatt.

Source/WebCore:

The top margin edge of a self-collapsing block that clears a float intrudes up into it by the height of the margin,
so to ensure any child floats of the self-collapsing block only go as far as the top content edge
add the margin back in to the block's current height before placing them.

Tests: fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html
       fast/block/margin-collapse/self-collapsing-block-with-float-child.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

LayoutTests:

* fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins-expected.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child-expected.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136967 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove r136754 by hardening checks of expected values for background-position.
alexis@webkit.org [Fri, 7 Dec 2012 19:23:52 +0000 (19:23 +0000)]
Improve r136754 by hardening checks of expected values for background-position.
https://bugs.webkit.org/show_bug.cgi?id=104380

Reviewed by Antti Koivisto.

r136754 was landed to fix the problem of checking successively two calc
values with validUnit. It was asserting as validUnit expect you to use
the parsed value of the calc after the call. In this case we pre-check the
background-position longhand to count how many values it has to then
call the right parsing functions accordingly. While r136754 is not
wrong it is better to harden isPotentialPositionValue with the real
expected units and keywords. For this matter we can reuse the
ReleaseParsedCalcValueCondition enum which was created with the same
idea as this patch. If you are not interested of the calc parsed
value when calling validUnit() you can now specify it, I believe it is
good to have it explicit to avoid mistake in the future.

No new tests : this is covered by css3/*, fast/backgrounds/*.

* css/CSSParser.cpp:
(WebCore::CSSParser::validCalculationUnit):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::isPotentialPositionValue):
* css/CSSParser.h:
(WebCore::CSSParser::validUnit):
(CSSParser):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136966 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType...
commit-queue@webkit.org [Fri, 7 Dec 2012 19:16:49 +0000 (19:16 +0000)]
[BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
https://bugs.webkit.org/show_bug.cgi?id=104121

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Update createBuffer calls to reflect new BufferType enum.
Set buffers opaque if possible to avoid unnecessary blends.
Internal PR 254649
Internal Review: Jakob Petsovits

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::TileBuffer::nativeBuffer):

Tools:

Update createBuffer call to reflect new BufferType enum.
Internal PR 254649
Internal Review: Jakob Petsovits

DRT is always backed for maximum compatibility.

* DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:
(createBitmapContextFromWebView):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove unnecessary casts in transformations.
bfulgham@webkit.org [Fri, 7 Dec 2012 19:10:02 +0000 (19:10 +0000)]
Remove unnecessary casts in transformations.
https://bugs.webkit.org/show_bug.cgi?id=104376

Reviewed by Simon Fraser.

Several casts from float-to-double are performed prior to
storing the result in a double type. These casts are unnecessary
overhead and reduce the clarity of the source code.

No new tests. Covered by existing CSS test cases.

* platform/graphics/transforms/RotateTransformOperation.cpp:
* platform/graphics/transforms/TransformationMatrix.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136964 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agofast/frames/sandboxed-iframe-scripting.html contains very misleading comments.
mkwst@chromium.org [Fri, 7 Dec 2012 18:49:47 +0000 (18:49 +0000)]
fast/frames/sandboxed-iframe-scripting.html contains very misleading comments.
https://bugs.webkit.org/show_bug.cgi?id=104363

Reviewed by Darin Adler.

The comments in this test describe a state that is in fact the opposite
of what's being tested. That confused me. This patch corrects the
comments to make it clear that adding a sandbox attribute at runtime has
no effect on the frame; the sandboxing flags are set when the nested
browsing context is _navigated_, not when the attribute changes value.

Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox

* fast/frames/resources/sandboxed-iframe-script-dynamic.html:
* fast/frames/sandboxed-iframe-scripting-expected.txt:
* fast/frames/sandboxed-iframe-scripting.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd 'CHROMIUM_DEVEL_SANDBOX' to the environment variables to copy for layout test...
jochen@chromium.org [Fri, 7 Dec 2012 18:26:02 +0000 (18:26 +0000)]
Add 'CHROMIUM_DEVEL_SANDBOX' to the environment variables to copy for layout test drivers
https://bugs.webkit.org/show_bug.cgi?id=104355

Reviewed by Dirk Pranke.

This enables chromium's content_shell driver to run with the full SUID
sandbox.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.setup_environ_for_server):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Double zoom animation when focusing on input field.
commit-queue@webkit.org [Fri, 7 Dec 2012 18:16:11 +0000 (18:16 +0000)]
[BlackBerry] Double zoom animation when focusing on input field.
https://bugs.webkit.org/show_bug.cgi?id=104375

Patch by Andrew Lo <anlo@rim.com> on 2012-12-07
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

UI thread does not need to be notified of a scale change if the WebKit
thread scale has not changed.

This caused issues when two viewport resizes occured one after the other.
Before the scale change due to the first resize could be set in the WK
thread's scale value, it caused WK thread to dispatch a scaleChanged,
overwritting & resetting the new UI thread scale value, resulting in the
double zoom animation.

The larger issue dealing with synchronization between the threads where
scale changes could occur on either thread, however that is beyond the
scope of this change.

Internal PR253122

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoProvide the backend for exposing the layer tree to the Web Inspector
commit-queue@webkit.org [Fri, 7 Dec 2012 17:54:54 +0000 (17:54 +0000)]
Provide the backend for exposing the layer tree to the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=103513

Patch by Antoine Quint <graouts@apple.com> on 2012-12-07
Reviewed by Pavel Feldman.

Source/WebCore:

The purpose of this patch is to provide a new agent enabling the Web Inspector to interface
with WebCore to access information about the render layer tree and, more specifically, expose
useful information about layers backed by textures composited on the GPU such as metrics and
backing store. Thus we now provide a LayerTreeAgent which will inform the front-end of
changes to the render layer tree via a new layerTreeDidChange event, providing an object
containing the entire hierarchy of RenderLayers for the inspected document. This hierarchy
can be queried at any time using the .getLayerTree() method on the LayerTreeAgent. Finally,
the LayerTreeAgent also exposes a .nodeIdForLayerId() method allowing to get the id of the
node associated with the RenderLayer with the provided layer id.

In terms of implementation, RenderLayerCompositor has been changed such that in its
updateCompositingLayers() method we call the layerTreeDidChange method on the
InspectorLayerTreeAgent instance via the InspectorInstrumentation.

Test: inspector-protocol/layer-tree.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.json: Define new types IntRect (x, y, width, height) and Layer, which
holds the information for a RenderLayer (layerId, bounds, isComposited, memory,
compositedBounds) and its children (childLayers). We also define the methods of the
LayerTreeAgent object (enable, disable, getLayerTree, nodeIdForLayerId) and the
layerTreeDidChange event it
fires.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend): New method facilitating
pushing the node associated with a given RenderLayer to the front-end.
(WebCore):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
* inspector/InspectorLayerTreeAgent.cpp: Added.
(WebCore):
(LayerTreeAgentState):
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::~InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::setFrontend):
(WebCore::InspectorLayerTreeAgent::clearFrontend):
(WebCore::InspectorLayerTreeAgent::restore):
(WebCore::InspectorLayerTreeAgent::reset):
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
(WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::getLayerTree):
(WebCore::InspectorLayerTreeAgent::buildObjectForRootLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Build the entire hierarchy of
RenderLayers from the provided RenderLayer.
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::bind):
(WebCore::InspectorLayerTreeAgent::unbind):
(WebCore::InspectorLayerTreeAgent::nodeIdForLayerId):
* inspector/InspectorLayerTreeAgent.h: Added.
(WebCore):
(InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::create):
* inspector/InstrumentingAgents.h:
(WebCore):
(WebCore::InstrumentingAgents::InstrumentingAgents):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorLayerTreeAgent):
(WebCore::InstrumentingAgents::setInspectorLayerTreeAgent):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers): Call the layerTreeDidChange method
on the LayerTreeAgent via the InspectorInstrumentation to inform the front-end that the
RenderLayer hierarchy has changed.
(WebCore):
(WebCore::RenderLayerCompositor::layerBecameNonComposited): Call the renderLayerDestroyed
method on the LayerTreeAgent via the InspectorInstrumentation to unbind the layer that is
being destroyed.
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

LayoutTests:

Adding a LayoutTest that exercises the various APIs and event exposed by the LayerTreeAgent.
This test is skipped on EFL where ACCELERATED_COMPOSITING is not available.

* inspector-protocol/layer-tree-expected.txt: Added.
* inspector-protocol/layer-tree.html: Added.
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136959 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Check SSV version when opening database
jsbell@chromium.org [Fri, 7 Dec 2012 17:52:36 +0000 (17:52 +0000)]
IndexedDB: Check SSV version when opening database
https://bugs.webkit.org/show_bug.cgi?id=102243

Reviewed by Tony Chang.

Ensure that the data format (SerializedScriptValue) isn't "from the future" when opening
a backing store. Treat an unknown version the same as an unknown schema version.

Chromium-side test at https://codereview.chromium.org/11470013/ (same as other schema version tests)

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore):
(WebCore::isSchemaKnown): Check data version as well.
(WebCore::setUpMetadata): Ensure data version is recorded; bump schema version.
* Modules/indexeddb/IDBLevelDBCoding.cpp: Encoding for "DataVersion" global metadata entry.
(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
* Modules/indexeddb/IDBLevelDBCoding.h:
(DataVersionKey):
(IDBLevelDBCoding):
* bindings/js/SerializedScriptValue.cpp:
(SerializedScriptValue::wireFormatVersion): New method (JSC side).
* bindings/js/SerializedScriptValue.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::wireFormatVersion): New method (V8 side).
(WebCore):
* bindings/v8/SerializedScriptValue.h:
(SerializedScriptValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136958 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Fix tools for WebKit2-only builds
commit-queue@webkit.org [Fri, 7 Dec 2012 16:54:31 +0000 (16:54 +0000)]
[EFL] Fix tools for WebKit2-only builds
https://bugs.webkit.org/show_bug.cgi?id=103904

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-07
Reviewed by Laszlo Gombos.

The libewebkit2.so should be used for library path for EFL WebKit2.

* Scripts/webkitdirs.pm:
(builtDylibPathForName):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136957 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoThrow away StyleResolvers that haven't been used for a long time.
akling@apple.com [Fri, 7 Dec 2012 16:32:19 +0000 (16:32 +0000)]
Throw away StyleResolvers that haven't been used for a long time.
<http://webkit.org/b/104314>

Reviewed by Antti Koivisto.

A lot of memory gets tied up in StyleResolver and the structures and caches that hang from it.
Add a mechanism to throw it away after it's been unused for a while (1 minute.)
This frees up large amounts of memory on inactive pages (background tabs) and static content.

We already have a number of scenarios where the document style is invalidated by throwing away
the StyleResolver so the major code paths are prepared for having a null StyleResolver* on occasion.

~20MB progression on Membuster3.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):

    Call document()->didAccessStyleResolver() from the relevant parts of StyleResolver's public API.
    This prevents Document from throwing the StyleResolver away for 1 minute after it's used.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::createStyleResolver):
(WebCore::Document::didAccessStyleResolver):
(WebCore::Document::styleResolverThrowawayTimerFired):

    Add a mechanism to call clearStyleResolver() on a refreshing timer.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):

    If an attribute change occurs while the document doesn't have a StyleResolver, dirty the element style
    since we can't be sure that the attribute change didn't affect any rules.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136956 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 7 Dec 2012 16:09:10 +0000 (16:09 +0000)]
Unreviewed GTK gardening.

Adding an image mismatch expectation for fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002.html.

* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136955 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r136947): Made two tests fail on all platforms (Requested by tonikitoo...
commit-queue@webkit.org [Fri, 7 Dec 2012 15:51:04 +0000 (15:51 +0000)]
REGRESSION(r136947): Made two tests fail on all platforms (Requested by tonikitoo-ll on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=104368

Unreviewed partial rollout.

r136947 was too aggressive in the sense of fixing RenderBox::canBeScrolledAndHasScrollableArea
as part of itself. Revert the related changes in order to fix both
fast/events/autoscroll-should-not-stop-on-keypress.html and
fast/events/autoscroll-in-textfield.html

Patch by Antonio Gomes <a1.gomes@sisa.samsung.com> on 2012-12-07

* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
* rendering/RenderBox.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[TexMap] Can not do multiple accelerated animations
allan.jensen@digia.com [Fri, 7 Dec 2012 15:02:31 +0000 (15:02 +0000)]
[TexMap] Can not do multiple accelerated animations
https://bugs.webkit.org/show_bug.cgi?id=104364

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

By removing all animations with the same name, it is not possible to animate more than one property accelerated.
Instead only remove any animations with both same name and property.

Covered by animations/opacity-transform-animation.html.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimations::add):
(WebCore::GraphicsLayerAnimations::remove):
* platform/graphics/GraphicsLayerAnimation.h:
(GraphicsLayerAnimations):

LayoutTests:

Unskip test animating multiple accelerated properties.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136953 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2
commit-queue@webkit.org [Fri, 7 Dec 2012 14:52:12 +0000 (14:52 +0000)]
[EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2
https://bugs.webkit.org/show_bug.cgi?id=104262

Patch by Sujin Park <sujjin.park@gmail.com> on 2012-12-07
Reviewed by Alexis Menard.

EFL port treats build warning as compile error and there are
maybe-uninitialized when building with gcc 4.7.2.
This patch adds default case to resolve a build break.

* css/StyleResolver.cpp:
(WebCore::getFontAndGlyphOrientation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Move WorkerContextProxy::create out of PlatformSupport
pilgrim@chromium.org [Fri, 7 Dec 2012 14:47:44 +0000 (14:47 +0000)]
[Chromium] Move WorkerContextProxy::create out of PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=104151

Reviewed by Kentaro Hara.

Doesn't really solve the layering violation as much as kick it
down the road a bit. Part of a refactoring series; see tracking
bug 82948.

* WebKit.gyp:
* src/PlatformSupport.cpp:
(WebCore):
* src/WorkerContextProxy.cpp: Added.
(WebCore):
(WebCore::WebCore::WorkerContextProxy::create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136951 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: [Chromium] Ctrl + ']' "Goto right panel" keyboard shortcut doesn't...
apavlov@chromium.org [Fri, 7 Dec 2012 14:30:58 +0000 (14:30 +0000)]
Web Inspector: [Chromium] Ctrl + ']' "Goto right panel" keyboard shortcut doesn't work
https://bugs.webkit.org/show_bug.cgi?id=104250

Reviewed by Pavel Feldman.

Ignore "keypress" event resulting from a WM_CHAR message emitted by Win7 upon Ctrl + ']' keypress.

* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyPress): Ignore all events with charCode < 32.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136950 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: provide a way to reload page with given script preprocessor.
pfeldman@chromium.org [Fri, 7 Dec 2012 14:13:33 +0000 (14:13 +0000)]
Web Inspector: provide a way to reload page with given script preprocessor.
https://bugs.webkit.org/show_bug.cgi?id=80992

Reviewed by Yury Semikhatsky.

Source/WebCore:

This change introduces a way to inject 'preprocessor' script that would process
each JavaScript file before it gets into the VM for compilation. That way inspector
can expose capabilities such as assessing code coverage or tracing all the calls.

Preprocessor script is stored in the page agent where it waits for reload to happen.
Upon reload, ScriptDebugServer is using it to patch the script sources.

Test: inspector/debugger/debugger-script-preprocessor.html

* bindings/js/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::setScriptPreprocessor):
(ScriptDebugServer):
* bindings/v8/DebuggerScript.js:
* bindings/v8/ScriptDebugServer.cpp:
(ScriptDebugServer::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
(WebCore::ScriptDebugServer::ScriptPreprocessor::~ScriptPreprocessor):
(WebCore):
(WebCore::ScriptDebugServer::~ScriptDebugServer):
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::setScriptPreprocessor):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::frameNavigated):
* inspector/InspectorPageAgent.h:
(WebCore::InspectorPageAgent::page):
(WebCore::InspectorPageAgent::scriptPreprocessor):
(InspectorPageAgent):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::create):
(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
(WebCore):
* inspector/PageDebuggerAgent.h:
(WebCore):
(PageDebuggerAgent):

LayoutTests:

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest.InspectorTest.hardReloadPage):
(initialize_InspectorTest.InspectorTest.reloadPage):
(initialize_InspectorTest.InspectorTest._innerReloadPage):
* inspector/debugger/debugger-script-preprocessor-expected.txt: Added.
* inspector/debugger/debugger-script-preprocessor.html: Added.
* platform/chromium/inspector/debugger/debugger-script-preprocessor-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: the "Sources" column is always empty in CSS selector profiles
apavlov@chromium.org [Fri, 7 Dec 2012 13:22:52 +0000 (13:22 +0000)]
Web Inspector: the "Sources" column is always empty in CSS selector profiles
https://bugs.webkit.org/show_bug.cgi?id=104225

Reviewed by Pavel Feldman.

Source/WebCore:

r112923 and preceding changesets modified the CSSOM wrapper creation for StyleRules in a way
that would not specify the parent CSSStyleSheet for the CSSStyleRules created. Instead,
styleResolver->ensureFullCSSOMWrapperForInspector(rule) is now used to make sure the CSSStyleRule
has a valid parent CSSStyleSheet.

Test: inspector/profiler/selector-profiler-url.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::applyProperties):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
(WebCore::InspectorInstrumentation::willProcessRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):
(WebCore::InspectorInstrumentation::willProcessRule):

LayoutTests:

* inspector/profiler/selector-profiler-url-expected.txt: Added.
* inspector/profiler/selector-profiler-url.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136948 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRework bug 97927 to not depend on RenderLayer::allowsScrolling
tonikitoo@webkit.org [Fri, 7 Dec 2012 13:03:24 +0000 (13:03 +0000)]
Rework bug 97927 to not depend on RenderLayer::allowsScrolling
https://bugs.webkit.org/show_bug.cgi?id=103999

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Patch makes it possible for methods like
RenderLayer::{updateScrollbarsAfterLayout,updateScrollbarsAfterStyleChange}
to not depend on RenderLayer::allowsScrolling to determine if a layer should
be added or removed from its FrameView's ScrollableArea set.

Following the same logic, the patch also fixes RenderBox::canBeScrolledAndHasScrollableArea
method to take into account the box' scroll allowance in a given direction only
when it overflows. This allows simplifying custom methods like InRegionScrollerPrivate::canScrollRenderBox
(@WebKit/blackberry/Api/InRegionScroller.cpp).

The naming pattern for the newly added methods were chosen to keep the consistency
with the existing ones, in the same class.

No new test: it is already covered by ScrollingCoordinatorChromiumTest.clippedBodyTest.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasScrollableHorizontalOverflow):
(WebCore):
(WebCore::RenderLayer::hasScrollableVerticalOverflow):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
* rendering/RenderLayer.h:
(RenderLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] make "isVideo" information available to platform media player
commit-queue@webkit.org [Fri, 7 Dec 2012 12:57:51 +0000 (12:57 +0000)]
[BlackBerry] make "isVideo" information available to platform media player
https://bugs.webkit.org/show_bug.cgi?id=104334

Patch by Max Feil <mfeil@rim.com> on 2012-12-07
Reviewed by Rob Buis.

The platform player needs to know whether the element is <video>
or <audio>, so it can make certain decisions before metadata
is ready. This is part of a performance optimization refactor
which does not change functionality so no new tests are required.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::load):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136946 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: enable inspector tests on chromium-mac.
loislo@chromium.org [Fri, 7 Dec 2012 12:47:24 +0000 (12:47 +0000)]
Web Inspector: enable inspector tests on chromium-mac.
https://bugs.webkit.org/show_bug.cgi?id=104357

Reviewed by Pavel Feldman.

After chromium r171707 patch we can enable inspector tests on chromium-mac.
Two expectation files were moved from chromium-win to chromium because chromium-mac doesn't inherit expectations from chromium-win.
Expectations in chromium-mac were removed because they were added by mistake.
[ Win Linux ] filter was removed because I need to add Mac but [ Mac Win Linux ] is equivalent to nothing.

* platform/chromium-mac/inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
* platform/chromium-mac/inspector/cookie-parser-expected.txt: Removed.
* platform/chromium-mac/inspector/debugger/debugger-activation-crash2-expected.txt: Removed.
* platform/chromium-mac/inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/console/command-line-api-getEventListeners-expected.txt.
* platform/chromium/inspector/debugger/debugger-scripts-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/debugger/debugger-scripts-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136945 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 7 Dec 2012 12:38:01 +0000 (12:38 +0000)]
Unreviewed EFL gardening.

Remove platform-specific baselines for viewsource-attribute.html
and viewsource-on-image-file.html as the current results matches
base expectations. Also, add missing platform-specific baselines
for fast/text/decorations-with-text-combine.html.

* platform/efl-wk2/fast/frames/viewsource-attribute-expected.png: Removed.
* platform/efl-wk2/fast/frames/viewsource-attribute-expected.txt: Removed.
* platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.png: Removed.
* platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.txt: Removed.
* platform/efl/fast/text/decorations-with-text-combine-expected.png: Added.
* platform/efl/fast/text/decorations-with-text-combine-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][Qnx] Fix QNX build by adding missing include.
commit-queue@webkit.org [Fri, 7 Dec 2012 12:01:44 +0000 (12:01 +0000)]
[Qt][Qnx] Fix QNX build by adding missing include.
https://bugs.webkit.org/show_bug.cgi?id=104359

Patch by Sergio Martins <sergio.martins@kdab.com> on 2012-12-07
Reviewed by Jocelyn Turcotte.

It's where WEBKIT_EXPORTDATA is defined, so include it. Not sure why other
platforms aren't failing.

* WebCoreSupport/QWebPageAdapter.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136943 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] [AC] Implement ImageExtractor::extractImage in GraphicsContext3DEfl.
commit-queue@webkit.org [Fri, 7 Dec 2012 10:50:02 +0000 (10:50 +0000)]
[EFL] [AC] Implement ImageExtractor::extractImage in GraphicsContext3DEfl.
https://bugs.webkit.org/show_bug.cgi?id=104271.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

This patch implements ImageExtractor::extractImage in GraphicsContext3DEfl.

Covered by existing tests.

* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136942 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Add ewk_settings APIs for text autosizing
commit-queue@webkit.org [Fri, 7 Dec 2012 10:47:51 +0000 (10:47 +0000)]
[EFL][WK2] Add ewk_settings APIs for text autosizing
https://bugs.webkit.org/show_bug.cgi?id=103342

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

Add ewk_settings_text_autosizing_enabled_get / set() functions.
Text autosizing is disabled by default.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136941 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
commit-queue@webkit.org [Fri, 7 Dec 2012 10:22:06 +0000 (10:22 +0000)]
[BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
https://bugs.webkit.org/show_bug.cgi?id=104243

RIM PR 259337

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

1. Add DRT callback in dispatchDecidePolicyForResponse.
2. Pass frame pointer to DRT callback in
dispatchDecidePolicyForNavigationAction, so that it can be used to
calculate originating.
3. Fix some webkit style errors.

The patch fixed the following tests:
- http/tests/download
- fast/forms/mailto/formenctype-attribute-button-html.html
- fast/forms/mailto/formenctype-attribute-input-html.html
- fast/encoding/mailto-always-utf-8.html

* Api/DumpRenderTreeClient.h:
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):

Tools:

1. Implement calculation of navigation originating in
didDecidePolicyForNavigationAction().
2. Implement policy delegate for resource response.
3. Enable customPolicyDelegate if waitForPolicyDelegate() is called.
4. Minor optional updates in dump() and dumpFrameLoadCallbacks().

The patch fixed the following tests:
- http/tests/download
- fast/forms/mailto/formenctype-attribute-button-html.html
- fast/forms/mailto/formenctype-attribute-input-html.html
- fast/encoding/mailto-always-utf-8.html

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::DumpRenderTree):
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
(BlackBerry::WebKit::DumpRenderTree::dump):
(BlackBerry::WebKit::DumpRenderTree::didFinishLoadForFrame):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForNavigationAction):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForResponse):
(BlackBerry::WebKit::DumpRenderTree::setCustomPolicyDelegate):
* DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:
(DumpRenderTree):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
(TestRunner::setCustomPolicyDelegate):
(TestRunner::waitForPolicyDelegate):
(TestRunner::overridePreference):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136940 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed roll crhomium to r171707.
loislo@chromium.org [Fri, 7 Dec 2012 09:58:55 +0000 (09:58 +0000)]
Unreviewed roll crhomium to r171707.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136939 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse always the order iterator from data member in RenderFlexibleBox
carlosgc@webkit.org [Fri, 7 Dec 2012 09:56:44 +0000 (09:56 +0000)]
Use always the order iterator from data member in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=104112

Reviewed by Tony Chang.

Some methods receive it as parameter and others use the data
member.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
(WebCore::RenderFlexibleBox::flipForWrapReverse):
* rendering/RenderFlexibleBox.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136938 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove confusing code in BaseMultipleFieldsDateAndTimeInputType
tkent@chromium.org [Fri, 7 Dec 2012 09:53:43 +0000 (09:53 +0000)]
Improve confusing code in BaseMultipleFieldsDateAndTimeInputType
https://bugs.webkit.org/show_bug.cgi?id=104353

Reviewed by Kentaro Hara.

This doesn't change any behavior because call sites of
isEditControlOwnerDisabled and isEditControlOwnerReadOnly treat them
similarly.

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
Checks element()->disabled, not readOnly.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
Checks element()->readOnly, not disabled.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136937 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Gardening after r136857, r136893 and 136919.
kkristof@inf.u-szeged.hu [Fri, 7 Dec 2012 09:16:07 +0000 (09:16 +0000)]
[Qt] Gardening after r136857, r136893 and 136919.
https://bugs.webkit.org/show_bug.cgi?id=104351

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-12-07
Reviewed by Csaba Osztrogonác.

r136857: skipped a newly added failing reftest.
r136893: skipped two newly added xmlhttprequest tests
r136919: skipped a test because layoutTestController.setBackingScaleFactor() is unimplemented

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136936 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r136631): Fix null pointer dereference in WebPagePopupImpl::paint
tkent@chromium.org [Fri, 7 Dec 2012 09:09:37 +0000 (09:09 +0000)]
REGRESSION(r136631): Fix null pointer dereference in WebPagePopupImpl::paint
https://bugs.webkit.org/show_bug.cgi?id=104350

Reviewed by Hajime Morita.

We changed WebPagePopupImpl so that it deleted m_page in
closePopup. However, paint function is still called.

* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint): Block by m_closing.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136935 268f45cc-cd09-0410-ab3c-d52691b4dbfc