WebKit-https.git
10 years agoExpose Fixed Layout Size mode to Chromium's WebKit API
fsamuel@chromium.org [Fri, 19 Aug 2011 20:37:17 +0000 (20:37 +0000)]
Expose Fixed Layout Size mode to Chromium's WebKit API
https://bugs.webkit.org/show_bug.cgi?id=66568

Reviewed by Darin Fisher.

* public/WebView.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::isFixedLayoutModeEnabled):
(WebKit::WebViewImpl::enableFixedLayoutMode):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setFixedLayoutSize):
* src/WebViewImpl.h:

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

10 years ago[chromium] Remove dependency of WebThemeControlDRTWin on skia::PlatformCanvas
alokp@chromium.org [Fri, 19 Aug 2011 20:22:00 +0000 (20:22 +0000)]
[chromium] Remove dependency of WebThemeControlDRTWin on skia::PlatformCanvas
https://bugs.webkit.org/show_bug.cgi?id=66570

Reviewed by Mihai Parparita.

* DumpRenderTree/chromium/WebThemeControlDRTWin.cpp:
(WebThemeControlDRTWin::draw):
(WebThemeControlDRTWin::drawTextField):
(WebThemeControlDRTWin::drawProgressBar):
* DumpRenderTree/chromium/WebThemeControlDRTWin.h:

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

10 years ago[CSSRegions]Speed up RenderFlowThread repaint of regions
commit-queue@webkit.org [Fri, 19 Aug 2011 20:03:58 +0000 (20:03 +0000)]
[CSSRegions]Speed up RenderFlowThread repaint of regions
https://bugs.webkit.org/show_bug.cgi?id=66566

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-08-19
Reviewed by David Hyatt.

When in printing or the repaint rectangle is empty, there is no need to iterate
the render flow regions in order to repaint.
Covered by existing tests.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::shouldRepaint):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
* rendering/RenderFlowThread.h:

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

10 years ago[chromium] Mark touch tests as failing on OSX 10.5.
tony@chromium.org [Fri, 19 Aug 2011 19:44:45 +0000 (19:44 +0000)]
[chromium] Mark touch tests as failing on OSX 10.5.

* platform/chromium/test_expectations.txt:

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

10 years ago[CSSRegions]Parse -webkit-region-break(after, before, inside)
commit-queue@webkit.org [Fri, 19 Aug 2011 19:27:13 +0000 (19:27 +0000)]
[CSSRegions]Parse -webkit-region-break(after, before, inside)
https://bugs.webkit.org/show_bug.cgi?id=66559

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-08-19
Reviewed by David Hyatt.

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSMutableStyleDeclaration.cpp:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::regionBreakBefore):
(WebCore::InheritedFlags::regionBreakInside):
(WebCore::InheritedFlags::regionBreakAfter):
(WebCore::InheritedFlags::setRegionBreakBefore):
(WebCore::InheritedFlags::setRegionBreakInside):
(WebCore::InheritedFlags::setRegionBreakAfter):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

* fast/css/getComputedStyle/computed-style-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

10 years agoSwitch RenderLayer to to new layout types
eae@chromium.org [Fri, 19 Aug 2011 19:26:03 +0000 (19:26 +0000)]
Switch RenderLayer to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66507

Reviewed by Eric Seidel.

Convert RenderLayer to new layout abstraction.

No new tests as no new functionality.

* rendering/LayoutTypes.h:
(WebCore::flooredLayoutSize):
* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderLayerCompositor.h:

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

10 years ago[CSSRegions]Content displayed in regions should not be scrollable
commit-queue@webkit.org [Fri, 19 Aug 2011 19:19:43 +0000 (19:19 +0000)]
[CSSRegions]Content displayed in regions should not be scrollable
https://bugs.webkit.org/show_bug.cgi?id=66459

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-08-19
Reviewed by Darin Adler.

Source/WebCore:

Initially, when creating the style for the RenderFlowThread, overflowX and overflowY were both set to hidden,
so that RenderView did not display scrollbars when a RenderFlowThread exists. However, this allowed the possibility
of scrolling the content displayed in region.

Now, the RenderFlowThread objects are ignored in RenderBlock::insertPositionedObject and the style of the RenderFlowThread
can be set to visible, thus preventing scrolling of the content displayed in regions.

Test: fast/regions/content-flowed-into-regions-no-scroll.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::createFlowThreadStyle):

LayoutTests:

* fast/regions/content-flowed-into-regions-no-scroll-expected.txt: Added.
* fast/regions/content-flowed-into-regions-no-scroll.html: Added.

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

10 years ago[Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopW...
caio.oliveira@openbossa.org [Fri, 19 Aug 2011 19:15:05 +0000 (19:15 +0000)]
[Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
https://bugs.webkit.org/show_bug.cgi?id=65920

Reviewed by Benjamin Poulain.

This patch makes QDesktopWebView delegate the decision of whether a navigation
should proceed to a slot in QML. The user of the DesktopWebView must implement a
'navigationPolicyForUrl()' if it wants to use the feature.

Such feature is useful for implementing opening links in "new tab" by using a
specific mouse button or mouse button plus keyboard modifiers.

The patch introduces a internal Qt-level interface called PolicyInterface, that
is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
provided for QDesktopWebView.

* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
Implement the serialization of the Request URL, which is the only data
we exposing from the Request.

* WebKit2.pro:
* UIProcess/qt/PolicyInterface.h: Added.
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::QtWebPageProxy):
(QtWebPageProxy::init):
* UIProcess/qt/QtWebPageProxy.h:
Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.

* UIProcess/qt/ClientImpl.h:
* UIProcess/qt/ClientImpl.cpp:
(toPolicyInterface):
(toQtMouseButton):
(toQtKeyboardModifiers):
(qt_wk_decidePolicyForNavigationAction):
Implement the callback for the Page Policy Client. It will translate the
arguments to Qt jargon and call PolicyInterface.

* UIProcess/qt/qdesktopwebpageproxy.cpp:
(QDesktopWebPageProxy::QDesktopWebPageProxy):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/API/qt/qdesktopwebview_p.h:
* UIProcess/API/qt/qdesktopwebview.cpp:
(toPolicyAction):
(hasMetaMethod):
(QDesktopWebViewPrivate::navigationPolicyForURL):
The concrete implementation for QDesktopWebView. Its private object implements
the PolicyInterface and try to call a possible function defined in QML (so return
value and arguments all QVariants). If there's no such a function, returns the
default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.

* UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:
Add a test for DesktopWebView QML element making use of a button and a modifier to
ignore a navigation.

* UIProcess/qt/qtouchwebpageproxy.cpp:
(QTouchWebPageProxy::QTouchWebPageProxy):
For now, we don't have a PolicyInterface for QTouchWebView.

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

10 years agoTestWebKitAPI breaks on Windows due to fast malloc incompatibility.
dslomov@google.com [Fri, 19 Aug 2011 19:08:10 +0000 (19:08 +0000)]
TestWebKitAPI breaks on Windows due to fast malloc incompatibility.
https://bugs.webkit.org/show_bug.cgi?id=66521

This patch ensures that gtest uses new and delete operators that are defined in JavaScriptCore.

Reviewed by David Levin.

* gtest/include/gtest/internal/gtest-port.h:
* gtest/msvc/gtest-md.vcproj:
* gtest/README.WebKit:
* gtest/xcode/Config/General.xcconfig:
* gtest/xcode/gtest.xcodeproj/project.pbxproj:

Tools:

This patch ensures that gtest uses new and delete operators that are defined in JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=66521

Reviewed by David Levin.

* TestWebKitAPI/Tests/WTF/StringOperators.cpp: Removed redefinition of JS_EXPORTDATA.

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

10 years agoREGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login...
jchaffraix@webkit.org [Fri, 19 Aug 2011 18:54:08 +0000 (18:54 +0000)]
REGRESSION (r84327-r84329): CSS stylesheets fail to load on flagstar.com login page
https://bugs.webkit.org/show_bug.cgi?id=65140
<rdar://problem/9835905>

Reviewed by Antti Koivisto.

Source/WebCore:

Tests: fast/css/stylesheet-enable-first-alternate-on-load.html
       fast/css/stylesheet-enable-first-alternate.html
       fast/css/stylesheet-enable-second-alternate-on-load.html
       fast/css/stylesheet-enable-second-alternate.html
       http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
       http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html

The gist of the issue is that we were ignoring calls to HTMLLinkElement::setDisabled that would enable a
style sheet when we were loading a stylesheet (m_sheet was 0 and thus ignored the call per the spec).

FF goes against the CSS OM spec in this case and always keep an associated sheet as long as 'rel' hints
at a stylesheet link and href is present. Instead of siding with FF, I continued to follow the
specification and store the enabled via javascript state into m_scriptState (renamed from
m_isEnabledViaScript). This information gets merged back into the style sheet disabled state when it is
available.

While debugging the case at hand, I found some cases that were not properly handled and were fixed as
part of this change.

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement): Updated after m_isEnabledViaScript rename.
(WebCore::HTMLLinkElement::setDisabled): Always call setIsEnabledViaScript so that
the information is properly stored (either for recalcStyleSelector or just to store
the state during loading).

(WebCore::HTMLLinkElement::sheetLoaded): Merge back the state from m_scriptState to
the sheet's disabled state.

(WebCore::HTMLLinkElement::disabled): Account for the temporary state and return the
right value. It matches FF and what people would expect.

(WebCore::HTMLLinkElement::areDisabledAndScriptStatesConsistent): Debug only method
that checks that disabled() and isEnabledViaScript() are consistent with each other
(under some circumstances).

* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::isEnabledViaScript): Updated after m_isEnabledViaScript rename.
(WebCore::HTMLLinkElement::setIsEnabledViaScript): Added setter.

LayoutTests:

* fast/css/link-disabled-attr-expected.txt: This change is a progression, but we are still
not handling updates to the selected style set properly (already covered by bug 62407).

* fast/css/stylesheet-enable-first-alternate-expected.txt: Added.
* fast/css/stylesheet-enable-first-alternate-on-load-expected.txt: Added.
* fast/css/stylesheet-enable-first-alternate-on-load.html: Added.
* fast/css/stylesheet-enable-first-alternate.html: Added.
* fast/css/stylesheet-enable-second-alternate-expected.txt: Added.
* fast/css/stylesheet-enable-second-alternate-on-load-expected.txt: Added.
* fast/css/stylesheet-enable-second-alternate-on-load.html: Added.
* fast/css/stylesheet-enable-second-alternate.html: Added.
Those are a variation on the same theme: we disable some stylesheet and enable others,
either directly or later.

* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-expected.txt: Added.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error-expected.txt: Added.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html: Added.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html: Added.
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet-in-error.js: Added.
(onSheetLoaded):
(testWhenLoaded):
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet.js: Added.
(onSheetLoaded):
(testWhenLoaded):
* http/tests/css/resources/slow-loading-sheet-in-error.php: Added.
* http/tests/css/resources/slow-loading-sheet.php: Added.
Those 2 test cases relies on a slow loading stylesheet so that we can test the disabled() value while the alternate
sheet is asynchronously loading and then check them again once the sheet is loaded.

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

10 years ago[chromium] Split tiler into main thread / compositor thread versions
enne@google.com [Fri, 19 Aug 2011 18:07:37 +0000 (18:07 +0000)]
[chromium] Split tiler into main thread / compositor thread versions
https://bugs.webkit.org/show_bug.cgi?id=66065

Reviewed by James Robinson.

Source/WebCore:

Covered by existing tests.

LayerTilerChromium is renamed to be CCLayerTilingData. Invalidation
and paint functionality is pushed into TiledLayerChromium and drawing
with GL is pushed into CCTiledLayerImpl. During tree synchronization,
the tiler properties and texture IDs are synchronized into
CCTiledLayerImpl.

* WebCore.gypi:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
(WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::bestTextureFormat):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tilerProgram):
(WebCore::LayerRendererChromium::tilerProgramSwizzle):
(WebCore::LayerRendererChromium::tilerProgramAA):
(WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTilerChromium.cpp: Removed.
* platform/graphics/chromium/ManagedTexture.h:
(WebCore::ManagedTexture::textureId):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::UpdatableTile::UpdatableTile):
(WebCore::UpdatableTile::texture):
(WebCore::UpdatableTile::dirty):
(WebCore::UpdatableTile::clearDirty):
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::createTilerIfNeeded):
(WebCore::TiledLayerChromium::updateCompositorResources):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::dumpLayerProperties):
(WebCore::TiledLayerChromium::textureManager):
(WebCore::TiledLayerChromium::tileAt):
(WebCore::TiledLayerChromium::createTile):
(WebCore::TiledLayerChromium::invalidateTiles):
(WebCore::TiledLayerChromium::invalidateRect):
(WebCore::TiledLayerChromium::protectVisibleTileTextures):
(WebCore::TiledLayerChromium::protectTileTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTilingData.cpp: Added.
(WebCore::CCLayerTilingData::create):
(WebCore::CCLayerTilingData::CCLayerTilingData):
(WebCore::CCLayerTilingData::setTileSize):
(WebCore::CCLayerTilingData::operator=):
(WebCore::CCLayerTilingData::addTile):
(WebCore::CCLayerTilingData::takeTile):
(WebCore::CCLayerTilingData::tileAt):
(WebCore::CCLayerTilingData::reset):
(WebCore::CCLayerTilingData::contentRectToTileIndices):
(WebCore::CCLayerTilingData::contentRectToLayerRect):
(WebCore::CCLayerTilingData::layerRectToContentRect):
(WebCore::CCLayerTilingData::tileContentRect):
(WebCore::CCLayerTilingData::tileLayerRect):
(WebCore::CCLayerTilingData::setLayerPosition):
(WebCore::CCLayerTilingData::growLayerToContain):
* platform/graphics/chromium/cc/CCLayerTilingData.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h.
(WebCore::CCLayerTilingData::numTiles):
(WebCore::CCLayerTilingData::numTilesX):
(WebCore::CCLayerTilingData::numTilesY):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::textureOffset):
(WebCore::CCLayerTilingData::tileSize):
(WebCore::CCLayerTilingData::hasBorderTexels):
(WebCore::CCLayerTilingData::isEmpty):
(WebCore::CCLayerTilingData::Tile::Tile):
(WebCore::CCLayerTilingData::Tile::i):
(WebCore::CCLayerTilingData::Tile::j):
(WebCore::CCLayerTilingData::Tile::moveTo):
(WebCore::CCLayerTilingData::TileMapKeyTraits::emptyValue):
(WebCore::CCLayerTilingData::TileMapKeyTraits::constructDeletedValue):
(WebCore::CCLayerTilingData::TileMapKeyTraits::isDeletedValue):
(WebCore::CCLayerTilingData::tiles):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::DrawableTile::DrawableTile):
(WebCore::DrawableTile::textureId):
(WebCore::DrawableTile::setTextureId):
(WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::tileAt):
(WebCore::CCTiledLayerImpl::createTile):
(WebCore::CCTiledLayerImpl::draw):
(WebCore::CCTiledLayerImpl::setTilingData):
(WebCore::CCTiledLayerImpl::syncTextureId):
(WebCore::isCCW):
(WebCore::computeEdge):
(WebCore::intersect):
(WebCore::CCTiledLayerImpl::drawTiles):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(WebCore::CCTiledLayerImpl::setSkipsDraw):
(WebCore::CCTiledLayerImpl::setTextureOrientation):
(WebCore::CCTiledLayerImpl::setSampledTexelFormat):
* platform/graphics/gpu/TilingData.h:

Source/WebKit/chromium:

Add a test for assignment and copy constructor for TilingData.

* tests/TilingDataTest.cpp:
(WebCore::TEST):

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

10 years ago2011-08-19 Vitaly Repeshko <vitalyr@chromium.org>
vitalyr@chromium.org [Fri, 19 Aug 2011 17:51:33 +0000 (17:51 +0000)]
2011-08-19  Vitaly Repeshko  <vitalyr@chromium.org>

        [chromium] Cleaning up test expectations.

        Unreviewed.

        * platform/chromium/test_expectations.txt:

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

10 years ago[chromium] Add correct baseline for merge-end-list.html on OSX 10.5.
tony@chromium.org [Fri, 19 Aug 2011 17:47:57 +0000 (17:47 +0000)]
[chromium] Add correct baseline for merge-end-list.html on OSX 10.5.

* platform/chromium-cg-mac-leopard/editing/pasteboard/merge-end-list-expected.png: Added.

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

10 years agoBetter build fix after r93384.
mitz@apple.com [Fri, 19 Aug 2011 16:29:32 +0000 (16:29 +0000)]
Better build fix after r93384.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Use WTF::Unicode wrapper instead of ICU.

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

10 years agoWebProcess crashes during startup if libdispatch is initialized by WebProcessShim...
andersca@apple.com [Fri, 19 Aug 2011 16:22:29 +0000 (16:22 +0000)]
WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
https://bugs.webkit.org/show_bug.cgi?id=66508
<rdar://problem/9828476>

Reviewed by Mark Rowe.

* mac/MainMac.cpp:
(closeUnusedFileDescriptors):
Check if a file descriptor is a kqueue and don't close it if that is the case. While this
isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
file descriptors from the parent process.

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

10 years agoWeb Inspector: update scope variables upon value changes via console.
podivilov@chromium.org [Fri, 19 Aug 2011 16:17:40 +0000 (16:17 +0000)]
Web Inspector: update scope variables upon value changes via console.
https://bugs.webkit.org/show_bug.cgi?id=54720

Reviewed by Pavel Feldman.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):

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

10 years agoAdd project file changes I left out in r93417
aroben@apple.com [Fri, 19 Aug 2011 16:16:50 +0000 (16:16 +0000)]
Add project file changes I left out in r93417

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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

10 years agoAdd a helper class for swizzling ObjC instance methods to TestWebKitAPI
aroben@apple.com [Fri, 19 Aug 2011 16:14:02 +0000 (16:14 +0000)]
Add a helper class for swizzling ObjC instance methods to TestWebKitAPI

Fixes <http://webkit.org/b/66565> TestWebKitAPI needs a way to override instance methods of
NSScreen

Reviewed by Anders Carlsson.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new files.

* TestWebKitAPI/Tests/TestWebKitAPI/mac/InstanceMethodSwizzler.mm: Added.
(-[SimpleObject setValue:]): Original implementation.

(TestWebKitAPI::setValue2):
(TestWebKitAPI::setValue3):
Swizzled implementations.

(TestWebKitAPI::TEST): Test that we can swizzle and re-swizzle and un-swizzle an ObjC
instance method.

* TestWebKitAPI/mac/InstanceMethodSwizzler.h: Added.
* TestWebKitAPI/mac/InstanceMethodSwizzler.mm: Added.
(TestWebKitAPI::InstanceMethodSwizzler::InstanceMethodSwizzler): Swizzle the method.
(TestWebKitAPI::InstanceMethodSwizzler::~InstanceMethodSwizzler): Unswizzle the method.

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

10 years agoFix _path_to_apache() error reporting
commit-queue@webkit.org [Fri, 19 Aug 2011 16:06:49 +0000 (16:06 +0000)]
Fix _path_to_apache() error reporting
https://bugs.webkit.org/show_bug.cgi?id=66486

Patch by Tom Zakrajsek <tomz@codeaurora.org> on 2011-08-19
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/port/webkit.py:

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

10 years agoWeb Inspector: extract breakpoint management code to a separate class and add tests.
podivilov@chromium.org [Fri, 19 Aug 2011 15:50:19 +0000 (15:50 +0000)]
Web Inspector: extract breakpoint management code to a separate class and add tests.
https://bugs.webkit.org/show_bug.cgi?id=66224

Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/debugger/breakpoint-manager.html

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/BreakpointManager.js: Added.
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
(WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype.removeBreakpoint):
(WebInspector.BreakpointManager.prototype._materializeBreakpoint):
(WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
(WebInspector.BreakpointManager.prototype._addBreakpointToUI):
(WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
(WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
(WebInspector.BreakpointManager.prototype._breakpoints):
(WebInspector.BreakpointManager.prototype._breakpoint):
(WebInspector.BreakpointManager.prototype._forEachBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
(WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
(WebInspector.BreakpointManager.prototype._breakpointResolved):
(WebInspector.BreakpointManager.prototype.serializeBreakpoints):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype.debuggerReset):
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.serialize):
(WebInspector.Breakpoint.deserialize):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
* inspector/front-end/SourceFile.js:
(WebInspector.RawSourceCode.prototype.get rawSourceCode):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

LayoutTests:

* inspector/debugger/breakpoint-manager-expected.txt: Added.
* inspector/debugger/breakpoint-manager.html: Added.

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

10 years agoWindows build fix after r93404
aroben@apple.com [Fri, 19 Aug 2011 15:39:55 +0000 (15:39 +0000)]
Windows build fix after r93404

* TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp: Added missing #include.

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

10 years agoAdd leandrogracia to the committers list
tonyg@chromium.org [Fri, 19 Aug 2011 15:37:09 +0000 (15:37 +0000)]
Add leandrogracia to the committers list
https://bugs.webkit.org/show_bug.cgi?id=66552

Also fix line endings in file.

No reviewed required.

* Scripts/webkitpy/common/config/committers.py:

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

10 years agoFix compilation issue in WebKitTestRunner
commit-queue@webkit.org [Fri, 19 Aug 2011 15:29:08 +0000 (15:29 +0000)]
Fix compilation issue in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=66554

Patch by Amruth Raj <amruthraj@motorola.com> on 2011-08-19
Reviewed by Martin Robinson.

* WebKitTestRunner/PixelDumpSupport.cpp:

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

10 years agoFix typo
aroben@apple.com [Fri, 19 Aug 2011 15:27:31 +0000 (15:27 +0000)]
Fix typo

* dom/DOMAllInOne.cpp:

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

10 years ago[EFL] Add "return" statement corresponding to abnormal condition on _ewk_frame_smart_add.
commit-queue@webkit.org [Fri, 19 Aug 2011 15:25:03 +0000 (15:25 +0000)]
[EFL] Add "return" statement corresponding to abnormal condition on _ewk_frame_smart_add.
https://bugs.webkit.org/show_bug.cgi?id=65408

Bail out when we fail to allocate an Ewk_Frame_Smart_Data object rather than continuing on as if the allocation had succeeded.

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2011-08-19
Reviewed by Adam Roben.

* ewk/ewk_frame.cpp:
(_ewk_frame_smart_add):

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

10 years ago[EFL] Change condition checking logic related with both change of position and offset...
commit-queue@webkit.org [Fri, 19 Aug 2011 15:19:33 +0000 (15:19 +0000)]
[EFL] Change condition checking logic related with both change of position and offset for backing store.
https://bugs.webkit.org/show_bug.cgi?id=66028

As backing store's position and offset change can occur at the same time,
the checking of offset change shouldn't be "else if" statement.

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2011-08-19
Reviewed by Adam Roben.

* ewk/ewk_tiled_backing_store.c:
(_ewk_tiled_backing_store_smart_calculate):

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

10 years agoWindows build fix after r93385
aroben@apple.com [Fri, 19 Aug 2011 15:11:35 +0000 (15:11 +0000)]
Windows build fix after r93385

* dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.

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

10 years ago[Qt][WK2] Add a basic engine to control the content of the viewport
commit-queue@webkit.org [Fri, 19 Aug 2011 14:56:24 +0000 (14:56 +0000)]
[Qt][WK2] Add a basic engine to control the content of the viewport
https://bugs.webkit.org/show_bug.cgi?id=66383

Patch by Benjamin Poulain <benjamin@webkit.org> on 2011-08-19
Reviewed by Andreas Kling.

Add ViewportInteractionEngine to handle the content of the viewport. The class make
sure the QTouchWebPage stays in the viewport and in the boundaries.

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::loadDidCommit):
* UIProcess/API/qt/qdesktopwebview_p.h:
* UIProcess/API/qt/qtouchwebpage.cpp:
(QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
we can asume the position 0, 0 is always the top left of the page.
(QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
* UIProcess/API/qt/qtouchwebpage.h:
* UIProcess/API/qt/qtouchwebpage_p.h:
* UIProcess/API/qt/qtouchwebview.cpp:
(QTouchWebViewPrivate::QTouchWebViewPrivate):
(QTouchWebViewPrivate::loadDidCommit):
(QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
for reducing coupling.
(QTouchWebViewPrivate::updateViewportConstraints):
(QTouchWebViewPrivate::setViewportArguments):
(QTouchWebView::geometryChanged):
* UIProcess/API/qt/qtouchwebview.h:
* UIProcess/API/qt/qtouchwebview_p.h:
* UIProcess/qt/ClientImpl.cpp:
(qt_wk_didCommitLoadForFrame):
* UIProcess/qt/QtGestureRecognizer.cpp:
(WebKit::QtGestureRecognizer::QtGestureRecognizer):
* UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
* UIProcess/qt/QtPanGestureRecognizer.cpp:
(WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
(WebKit::QtPanGestureRecognizer::recognize):
* UIProcess/qt/QtPanGestureRecognizer.h:
* UIProcess/qt/QtPinchGestureRecognizer.cpp:
(WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
(WebKit::QtPinchGestureRecognizer::recognize):
* UIProcess/qt/QtPinchGestureRecognizer.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
to reset the viewport state when the page change.
* UIProcess/qt/QtWebPageProxy.h:
* UIProcess/qt/TouchViewInterface.cpp:
(WebKit::TouchViewInterface::TouchViewInterface):
(WebKit::TouchViewInterface::contentSizeChanged):
(WebKit::TouchViewInterface::loadDidCommit):
* UIProcess/qt/TouchViewInterface.h:
* UIProcess/qt/ViewInterface.h:
* UIProcess/qt/ViewportInteractionEngine.cpp: Added.
(WebKit::visibleRectInContentCoordinate):
(WebKit::contentRectInViewportCoordinate):
(WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
(WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
(WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
(WebKit::ViewportInteractionEngine::reset):
(WebKit::ViewportInteractionEngine::setConstraints):
(WebKit::ViewportInteractionEngine::panGestureStarted):
(WebKit::ViewportInteractionEngine::panGestureRequestScroll):
(WebKit::ViewportInteractionEngine::panGestureCancelled):
(WebKit::ViewportInteractionEngine::panGestureEnded):
(WebKit::ViewportInteractionEngine::pinchGestureStarted):
(WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::ViewportInteractionEngine::pinchGestureEnded):
(WebKit::ViewportInteractionEngine::contentGeometryChanged):
(WebKit::ViewportInteractionEngine::contentScaleChanged):
(WebKit::ViewportInteractionEngine::updateContentIfNeeded):
(WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
(WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
(WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
(WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
(WebKit::ViewportInteractionEngine::scaleContent):
* UIProcess/qt/ViewportInteractionEngine.h: Added.
(WebKit::ViewportInteractionEngine::Constraints::Constraints):
(WebKit::operator==):
* UIProcess/qt/qtouchwebpageproxy.cpp:
(QTouchWebPageProxy::QTouchWebPageProxy):
* UIProcess/qt/qtouchwebpageproxy.h:
* WebKit2.pro:

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

10 years ago2011-08-19 Vitaly Repeshko <vitalyr@chromium.org>
vitalyr@chromium.org [Fri, 19 Aug 2011 14:55:28 +0000 (14:55 +0000)]
2011-08-19  Vitaly Repeshko  <vitalyr@chromium.org>

        [chromium] Updating test expectations.

        Unreviewed.

        * platform/chromium/test_expectations.txt:

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

10 years agoPull some of DynamicDeviceScaleFactor's code up into a shareable base class
aroben@apple.com [Fri, 19 Aug 2011 14:51:16 +0000 (14:51 +0000)]
Pull some of DynamicDeviceScaleFactor's code up into a shareable base class

This will make it easier to write other WebKit-agnostic tests

Fixes <http://webkit.org/b/66558> Would like to be able to reuse DynamicDeviceScaleFactor's
code in other WebKit-agnostic tests

Reviewed by Anders Carlsson.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added new files.

* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm: Fixed copyright. Moved a bunch of
code to WebKitAgnosticTest.h/mm. Changed to inherit from WebKitAgnosticTest.
(TestWebKitAPI::DynamicDeviceScaleFactor::url): Simple getter.
(TestWebKitAPI::DynamicDeviceScaleFactor::didLoadURL): Calls through to runTest.
(TestWebKitAPI::DynamicDeviceScaleFactor::runTest): Removed loading code which
WebKitAgnosticTest handles for us.
(TestWebKitAPI::TEST_F): Removed view-creation code which WebKitAgnosticTest handles for us.

* TestWebKitAPI/mac/WebKitAgnosticTest.h: Added. Code came from DynamicDeviceScaleFactor.
(TestWebKitAPI::WebKitAgnosticTest::loadSynchronously): Code came from
DynamicDeviceScaleFactor::runTest.

* TestWebKitAPI/mac/WebKitAgnosticTest.mm: Copied from Tools/TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm.
(TestWebKitAPI::WebKitAgnosticTest::runWebKit1Test): Code came from
DynamicDeviceScaleFactor.WebKit.
(TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test): Code came from
DynamicDeviceScaleFactor.WebKit2.

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

10 years agoClean up #includes in TestWebKitAPI
aroben@apple.com [Fri, 19 Aug 2011 14:50:05 +0000 (14:50 +0000)]
Clean up #includes in TestWebKitAPI

Fixes <http://webkit.org/b/66556> TestWebKitAPI's prefix header isn't very helpful

Reviewed by Anders Carlsson.

* TestWebKitAPI/TestWebKitAPIPrefix.h: Added wtf/Platform.h. Added gtest/gtest.h for C++
files and WebKit/WebKit.h for ObjC files.

* TestWebKitAPI/InjectedBundleController.cpp:
* TestWebKitAPI/JavaScriptTest.h:
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Test.h:
* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
* TestWebKitAPI/Tests/WTF/VectorBasic.cpp:
* TestWebKitAPI/Tests/WTF/VectorReverse.cpp:
* TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
* TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp:
* TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/Find.cpp:
* TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp:
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp:
* TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
* TestWebKitAPI/Tests/WebKit2/WKString.cpp:
* TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp:
* TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp:
* TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp:
* TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp:
* TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp:
* TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp:
* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:
* TestWebKitAPI/TestsController.cpp:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
Removed now-unnecessary #includes. Moved #includes of Test.h in with the rest of the

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

10 years ago2011-08-19 Vitaly Repeshko <vitalyr@chromium.org>
vitalyr@chromium.org [Fri, 19 Aug 2011 14:47:51 +0000 (14:47 +0000)]
2011-08-19  Vitaly Repeshko  <vitalyr@chromium.org>

        [chromium] Updating baselines.

        Unreviewed.

        * platform/chromium-cg-mac-leopard/editing/pasteboard/paste-text-008-expected.png: Added.
        * platform/chromium-cg-mac/editing/pasteboard/merge-end-list-expected.png: Added.
        * platform/chromium-cg-mac/editing/pasteboard/paste-text-008-expected.png: Added.

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

10 years ago[Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
commit-queue@webkit.org [Fri, 19 Aug 2011 14:46:14 +0000 (14:46 +0000)]
[Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
https://bugs.webkit.org/show_bug.cgi?id=66549

Patch by Lars Knudsen <lars.knudsen@nokia.com> on 2011-08-19
Reviewed by Benjamin Poulain.

* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::paint):
* UIProcess/qt/QtWebPageProxy.h:

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

10 years ago[EFL] Fix and update doxygen documentation for ewk_view.
commit-queue@webkit.org [Fri, 19 Aug 2011 14:12:33 +0000 (14:12 +0000)]
[EFL] Fix and update doxygen documentation for ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=66293

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2011-08-19
Reviewed by Kent Tamura.

Adds doxygen documentation to the structures in ewk_view.cpp.

* ewk/ewk_view.cpp:

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

10 years agoWeb Inspector: [Extensions API][chromium] webInspector.resources deprecation warning...
caseq@chromium.org [Fri, 19 Aug 2011 13:41:10 +0000 (13:41 +0000)]
Web Inspector: [Extensions API][chromium] webInspector.resources deprecation warning is given even for extensions that don't use webInspector.resources
https://bugs.webkit.org/show_bug.cgi?id=66553

Reviewed by Pavel Feldman.

* src/js/DevTools.js:
(WebInspector.platformExtensionAPI):

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

10 years ago[EFL] Modify type of both col and row parameters for backing store's internal api.
commit-queue@webkit.org [Fri, 19 Aug 2011 13:23:38 +0000 (13:23 +0000)]
[EFL] Modify type of both col and row parameters for backing store's internal api.
https://bugs.webkit.org/show_bug.cgi?id=65302

As both col and row parameter's type for both _ewk_tiled_backing_store_item_fill
and ewk_tiled_backing_store_item_add are different from each other, I modify type of them.

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2011-08-19
Reviewed by Adam Roben.

* ewk/ewk_tiled_backing_store.c:
(_ewk_tiled_backing_store_item_fill):
(_ewk_tiled_backing_store_item_add):

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

10 years agoWeb Inspector: getAttributes should work on a single node, not array.
pfeldman@chromium.org [Fri, 19 Aug 2011 12:50:29 +0000 (12:50 +0000)]
Web Inspector: getAttributes should work on a single node, not array.
https://bugs.webkit.org/show_bug.cgi?id=66544

Reviewed by Adam Roben.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getAttributes):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._loadNodeAttributes):

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

10 years ago[v8] CSS wrapper objects retention
antonm@chromium.org [Fri, 19 Aug 2011 12:26:04 +0000 (12:26 +0000)]
[v8] CSS wrapper objects retention
https://bugs.webkit.org/show_bug.cgi?id=66377

Reviewed by Pavel Feldman.

Disable object grouping for CSS object wrappers.
This logic leads to hard to debug use-after-free problems.

Source/WebCore:

* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):

LayoutTests:

* platform/chromium/test_expectations.txt:

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

10 years agoWeb Inspector: introduce NodeId inherited from integer in the DOM domain description.
pfeldman@chromium.org [Fri, 19 Aug 2011 12:23:06 +0000 (12:23 +0000)]
Web Inspector: introduce NodeId inherited from integer in the DOM domain description.
https://bugs.webkit.org/show_bug.cgi?id=66491

Drive-by rename of couple of DOM domain protocol methods.

Reviewed by Adam Roben.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::requestChildNodes):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::requestNode):
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
(WebInspector.DOMNode.prototype.getChildNodes):
(WebInspector.DOMAgent.prototype.pushNodeToFrontend):
(WebInspector.DOMAgent.prototype._loadNodeAttributes):
(WebInspector.DOMAgent.prototype._setDocument):
(WebInspector.DOMAgent.prototype._setDetachedRoot):
* inspector/generate-inspector-idl:

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

10 years agoIDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
jochen@chromium.org [Fri, 19 Aug 2011 12:13:20 +0000 (12:13 +0000)]
IDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
https://bugs.webkit.org/show_bug.cgi?id=66470

Reviewed by Tony Gentilcore.

* storage/IDBSQLiteBackingStore.cpp:
(WebCore::IDBSQLiteBackingStore::deleteObjectStore):

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

10 years ago[Qt] editing/selection/caret-at-bidi-boundary.html times out after r93369
zoltan@webkit.org [Fri, 19 Aug 2011 11:37:20 +0000 (11:37 +0000)]
[Qt] editing/selection/caret-at-bidi-boundary.html times out after r93369
https://bugs.webkit.org/show_bug.cgi?id=66514

Skip it.

* platform/qt/Skipped:

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

10 years ago[WebSocket] CloseEvent's code and reason properties support.
commit-queue@webkit.org [Fri, 19 Aug 2011 10:16:27 +0000 (10:16 +0000)]
[WebSocket] CloseEvent's code and reason properties support.
https://bugs.webkit.org/show_bug.cgi?id=66362

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2011-08-19
Reviewed by Kent Tamura.

Current WebSocket implementation miss code and reason properties
in CloseEvent. This change expose incoming closing frame's code
and reason to JavaScript API.

Source/WebCore:

Tests: http/tests/websocket/tests/hybi/close-code-and-reason.html
       http/tests/websocket/tests/hybi/workers/close-code-and-reason.html

* websockets/CloseEvent.h:
(WebCore::CloseEvent::initCloseEvent):
(WebCore::CloseEvent::code):
(WebCore::CloseEvent::reason):
(WebCore::CloseEvent::CloseEvent):
* websockets/CloseEvent.idl:
Add code and reason properies.
* websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::didClose):
* websockets/WebSocket.h:
Add implement to handle code and reason.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::didCloseSocketStream):
(WebCore::WebSocketChannel::processFrame):
* websockets/WebSocketChannel.h:
Add closing frame payload parser.
* websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didClose):
* websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::workerContextDidClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
* websockets/WorkerThreadableWebSocketChannel.h:
Add implement to handle code and reason.

LayoutTests:

* http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt: Added.
* http/tests/websocket/tests/hybi/close-code-and-reason.html: Added.
* http/tests/websocket/tests/hybi/close-code-and-reason_wsh.py: Added.
* http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt: Added.
* http/tests/websocket/tests/hybi/workers/close-code-and-reason.html: Added.
* http/tests/websocket/tests/hybi/workers/resources/close-code-and-reason.js: Added.
(postResult):
(ws.onopen):
(ws.onmessage):
(ws.onclose):

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

10 years ago.: Spell-checking doesn't recognize word boundaries on contests inserted by execComma...
morrita@google.com [Fri, 19 Aug 2011 09:43:23 +0000 (09:43 +0000)]
.: Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
https://bugs.webkit.org/show_bug.cgi?id=65902

Reviewed by Ryosuke Niwa.

Add export for window.internals object.

* Source/autotools/symbols.filter:

Source/WebCore: Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
https://bugs.webkit.org/show_bug.cgi?id=65902

Reviewed by Ryosuke Niwa.

markMisspellingsAndBadGrammar() was using markSpelling() and markBadGrammar().
But these are low-level API and caller should take care of word boundary.
This change replaced these call with overloaded version of markMisspellingsAndBadGrammar(),
which handles word boundary correctly.

Test: editing/spelling/spelling-insert-html.html

* WebCore.exp.in:
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAndBadGrammar):
* testing/Internals.cpp:
(WebCore::Internals::markerCountOf): Added.
(WebCore::Internals::markedRangeAt): Added.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2: Spell-checking against execCommand() inserted HTML doesn't care word boundary.
https://bugs.webkit.org/show_bug.cgi?id=65902

Reviewed by Ryosuke Niwa.

Add exports for window.internals object.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests: Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
https://bugs.webkit.org/show_bug.cgi?id=65902

Reviewed by Ryosuke Niwa.

Existing expectation was wrong because of some markers on substrings of words.
With this fix, Editor now rejects such markers.

* editing/spelling/spelling-insert-html-expected.txt: Added.
* editing/spelling/spelling-insert-html.html: Added.
* platform/mac/editing/pasteboard/merge-after-delete-1-expected.png:
* platform/mac/editing/pasteboard/merge-after-delete-2-expected.png:
* platform/mac/editing/pasteboard/merge-after-delete-expected.png:
* platform/mac/editing/pasteboard/merge-end-blockquote-expected.png:
* platform/mac/editing/pasteboard/merge-end-list-expected.png:
* platform/mac/editing/pasteboard/merge-end-table-expected.png:
* platform/mac/editing/pasteboard/paste-text-008-expected.png:

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

10 years agoRun-time error fix in WebKit-GTK with video support disabled.
commit-queue@webkit.org [Fri, 19 Aug 2011 08:58:27 +0000 (08:58 +0000)]
Run-time error fix in WebKit-GTK with video support disabled.
https://bugs.webkit.org/show_bug.cgi?id=66541

Definition of the function extraFullScreenStyleSheet() in webkit-gtk
lies outside ENABLE(VIDEO) guard, resulting in runtime error while
trying to launch GtkLauncher with video support disabled.

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-08-19
Reviewed by Philippe Normand.

Run-time error fix. No test cases were added.

* platform/gtk/RenderThemeGtk.h:

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

10 years agoinput[maxlength=0] should ignore text input.
commit-queue@webkit.org [Fri, 19 Aug 2011 08:46:47 +0000 (08:46 +0000)]
input[maxlength=0] should ignore text input.
https://bugs.webkit.org/show_bug.cgi?id=65497

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-08-19
Reviewed by Kent Tamura.

Source/WebCore:

Changed the valid range of maxlength.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMaxLengthAttribute):
  Changed maxlength check condition.

LayoutTests:

* fast/forms/input-text-paste-maxlength-expected.txt:
  Added a case that maxlength=0
* fast/forms/input-text-paste-maxlength.html: ditto.
* fast/forms/script-tests/textarea-maxlength.js: ditto.
(createFocusedTextAreaWithMaxLength):
* fast/forms/textarea-maxlength-expected.txt: ditto.

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

10 years agoWeb Inspector: backend js api: an ability to skip optional arguments in the middle...
loislo@chromium.org [Fri, 19 Aug 2011 08:42:03 +0000 (08:42 +0000)]
Web Inspector: backend js api: an ability to skip optional arguments in the middle of the argument list is required.
https://bugs.webkit.org/show_bug.cgi?id=66482

There are functions in the API with multiple optional arguments.
When we call it we have to specify an optional argument as 'undefined' if we want to pass non default value for the next one.
This can be solved with passing the arguments as an object.

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/RemoteObject.js:

LayoutTests:

* inspector/debugger/debugger-set-breakpoint-regex.html:

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

10 years ago[Qt] Build fix after r93384.
zoltan@webkit.org [Fri, 19 Aug 2011 07:54:35 +0000 (07:54 +0000)]
[Qt] Build fix after r93384.

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

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

10 years agoComputing screen-space transform for LayerChromium and CCLayerImpl
commit-queue@webkit.org [Fri, 19 Aug 2011 05:44:52 +0000 (05:44 +0000)]
Computing screen-space transform for LayerChromium and CCLayerImpl
https://bugs.webkit.org/show_bug.cgi?id=66114

Source/WebCore:

Added a data member to LayerChromium and CCLayerImpl that holds
the screen-space transform.   The transform is computed in
calculateDrawTransformsAndVisibility(), which is used during
updating (LayerChromium) and drawing (CCLayerImpl).

Also fixed a FIXME in LayerRendererChromium::drawLayer, which
was not computing the entire hierarchy of transforms to determine
back-face visibility.  Now it simply uses the world space transform.

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-08-18
Reviewed by James Robinson.

Test: compositing/backface-visibility-hierarchical-transform.html

* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::screenSpaceTransform):
(WebCore::LayerChromium::setScreenSpaceTransform):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updateLayers):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::screenSpaceTransform):
(WebCore::CCLayerImpl::setScreenSpaceTransform):

LayoutTests:

This case tests if backface visibility properly accounts for a hierarchy
of transforms.  In particular, this test forces Chromium to create a
hierarchy of RenderSurfaces.

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-08-18
Reviewed by James Robinson.

* compositing/backface-visibility-hierarchical-transform-expected.png: Added.
* compositing/backface-visibility-hierarchical-transform-expected.txt: Added.
* compositing/backface-visibility-hierarchical-transform.html: Added.

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

10 years ago[skia] -webkit-transform breaks -webkit-mask
commit-queue@webkit.org [Fri, 19 Aug 2011 04:51:38 +0000 (04:51 +0000)]
[skia] -webkit-transform breaks -webkit-mask
https://bugs.webkit.org/show_bug.cgi?id=66442

Source/WebCore:

The problem here is that in RenderBox::paintMaskImages, if we are in
a transform with a rotation, scale or skew we set the composite mode to
be DestinationIn and then create a transparency layer, then paint the
mask with SourceOver and end the transparency layer. (The normal case
is just to use DestinationIn to paint the mask.)

In skia when we create transparency layers we don't pass on the composite
mode, so when we end the transparency layer it is composited back using
SourceOver. The fix is to pass on the composite mode when creating
transparency layers in skia.

Patch by Ben Wells <benwells@chromium.org> on 2011-08-18
Reviewed by Stephen White.

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::beginTransparencyLayer):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::getXfermodeMode):
* platform/graphics/skia/PlatformContextSkia.h:

LayoutTests:

Patch by Ben Wells <benwells@chromium.org> on 2011-08-18
Reviewed by Stephen White.

* platform/chromium-linux/fast/css/transformed-mask-expected.png: Added.
* platform/chromium-linux/fast/css/transformed-mask-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

10 years agoIsolate EventDispatchMediator into a separate file.
hayato@chromium.org [Fri, 19 Aug 2011 04:46:33 +0000 (04:46 +0000)]
Isolate EventDispatchMediator into a separate file.
https://bugs.webkit.org/show_bug.cgi?id=66458

Reviewed by Ryosuke Niwa.

Extracted EventDispatchMediator.h and EventDispatchMediator.cpp
out of Event.h and Event.cpp Also moved FocusEventDispatchMediator
and BlurEventDispatchMediator from Event.{h|cpp} to
EventDispatchMediator.{h|cpp}.

No new tests since this is just refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Event.cpp:
* dom/Event.h:
* dom/EventDispatchMediator.cpp: Added.
(WebCore::EventDispatchMediator::create):
(WebCore::EventDispatchMediator::EventDispatchMediator):
(WebCore::EventDispatchMediator::dispatchEvent):
(WebCore::FocusEventDispatchMediator::create):
(WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
(WebCore::FocusEventDispatchMediator::dispatchEvent):
(WebCore::BlurEventDispatchMediator::create):
(WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
(WebCore::BlurEventDispatchMediator::dispatchEvent):
* dom/EventDispatchMediator.h: Added.
(WebCore::EventDispatchMediator::~EventDispatchMediator):
(WebCore::EventDispatchMediator::event):
(WebCore::EventDispatchMediator::EventDispatchMediator):
(WebCore::EventDispatchMediator::setEvent):
* dom/EventDispatcher.cpp:
* dom/KeyboardEvent.h:
* dom/MouseEvent.h:
* dom/Node.cpp:
* dom/ScopedEventQueue.cpp:
* dom/UIEvent.h:
* dom/WheelEvent.h:

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

10 years agoMid-word break can occur between a character and a combining mark
mitz@apple.com [Fri, 19 Aug 2011 03:34:36 +0000 (03:34 +0000)]
Mid-word break can occur between a character and a combining mark
https://bugs.webkit.org/show_bug.cgi?id=66529

Reviewed by Simon Fraser.

No test added because I could not find a combining mark with a non-zero advance in
any of the system fonts and tests fonts.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
combining mark.

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

10 years agonew-run-webkit-tests hung while acquiring http lock on snow leopard bots
dpranke@chromium.org [Fri, 19 Aug 2011 01:58:57 +0000 (01:58 +0000)]
new-run-webkit-tests hung while acquiring http lock on snow leopard bots
https://bugs.webkit.org/show_bug.cgi?id=64886

Temporarily disable the http locking to work around the issue.
I'm not actually sure if this is going to work or improve things
much.

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/port/mac.py:

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

10 years agoREGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar...
tkent@chromium.org [Fri, 19 Aug 2011 01:33:07 +0000 (01:33 +0000)]
REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
https://bugs.webkit.org/show_bug.cgi?id=66453

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/forms/placeholder-crash-with-scrollbar-corner.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.

LayoutTests:

* fast/forms/placeholder-crash-with-scrollbar-corner-expected.txt: Added.
* fast/forms/placeholder-crash-with-scrollbar-corner.html: Added.

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

10 years agoChromium plumbing for webkitRequestFullScreen
koz@chromium.org [Fri, 19 Aug 2011 01:17:22 +0000 (01:17 +0000)]
Chromium plumbing for webkitRequestFullScreen
https://bugs.webkit.org/show_bug.cgi?id=66031

Reviewed by Darin Fisher.

* public/WebView.h:
* public/WebViewClient.h:
(WebKit::WebViewClient::enterFullscreenForElement):
(WebKit::WebViewClient::exitFullscreenForElement):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::enterFullScreenForElement):
(WebKit::ChromeClientImpl::exitFullScreenForElement):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::exitFullscreen):
* src/WebViewImpl.h:

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

10 years agoNew XML parser: scripting support
jpfau@apple.com [Fri, 19 Aug 2011 01:09:34 +0000 (01:09 +0000)]
New XML parser: scripting support
https://bugs.webkit.org/show_bug.cgi?id=66406

Reviewed by Adam Barth.

* xml/parser/NewXMLDocumentParser.cpp:
(WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
(WebCore::NewXMLDocumentParser::resumeParsing):
(WebCore::NewXMLDocumentParser::processScript):
(WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
(WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
(WebCore::NewXMLDocumentParser::notifyFinished):
* xml/parser/NewXMLDocumentParser.h:
(WebCore::NewXMLDocumentParser::pauseParsing):
* xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
(WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
(WebCore::XMLTreeBuilder::processStartTag):
(WebCore::XMLTreeBuilder::processEndTag):
* xml/parser/XMLTreeBuilder.h:

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

10 years ago[EFL] Broken rendering occured when resized in ewk_view_single.
ryuan.choi@samsung.com [Fri, 19 Aug 2011 01:04:12 +0000 (01:04 +0000)]
[EFL] Broken rendering occured when resized in ewk_view_single.
https://bugs.webkit.org/show_bug.cgi?id=66271

Force rendering when ewk_view resized.
It's because Evas_Object doesn't generate any rendering request although
it was changed.

Reviewed by Tony Chang.

* ewk/ewk_view.cpp:
(_ewk_view_smart_calculate):

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

10 years agoMove allocation in constructors into separate constructorBody() methods
commit-queue@webkit.org [Fri, 19 Aug 2011 00:58:34 +0000 (00:58 +0000)]
Move allocation in constructors into separate constructorBody() methods
https://bugs.webkit.org/show_bug.cgi?id=66265

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Refactoring to put all allocations that need to be done after the object's
initialization list has executed but before the object is ready for use
into a separate constructorBody() method.  This method is still called by the constructor,
so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* jsc.cpp:
(GlobalObject::constructorBody):
(GlobalObject::GlobalObject):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::ErrorInstance):
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::constructorBody):
* runtime/ErrorPrototype.cpp:
(JSC::ErrorPrototype::ErrorPrototype):
(JSC::ErrorPrototype::constructorBody):
* runtime/ErrorPrototype.h:
* runtime/Executable.cpp:
(JSC::FunctionExecutable::FunctionExecutable):
* runtime/Executable.h:
(JSC::FunctionExecutable::constructorBody):
* runtime/InternalFunction.cpp:
(JSC::InternalFunction::InternalFunction):
* runtime/InternalFunction.h:
(JSC::InternalFunction::constructorBody):
* runtime/JSByteArray.cpp:
(JSC::JSByteArray::JSByteArray):
* runtime/JSByteArray.h:
(JSC::JSByteArray::constructorBody):
* runtime/JSFunction.cpp:
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::constructorBody):
* runtime/JSFunction.h:
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::constructorBody):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::JSPropertyNameIterator):
* runtime/JSPropertyNameIterator.h:
(JSC::JSPropertyNameIterator::constructorBody):
* runtime/JSString.h:
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::constructorBody):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::NativeErrorConstructor):
* runtime/NativeErrorConstructor.h:
(JSC::NativeErrorConstructor::constructorBody):
* runtime/NativeErrorPrototype.cpp:
(JSC::NativeErrorPrototype::NativeErrorPrototype):
(JSC::NativeErrorPrototype::constructorBody):
* runtime/NativeErrorPrototype.h:
* runtime/StringObject.cpp:
* runtime/StringObject.h:
(JSC::StringObject::create):
* runtime/StringObjectThatMasqueradesAsUndefined.h:
(JSC::StringObjectThatMasqueradesAsUndefined::create):
(JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::StringPrototype):
* runtime/StringPrototype.h:
(JSC::StringPrototype::create):

Source/WebCore:

No new tests.

Refactoring to put all allocations that need to be done after the object's
initialization list has executed but before the object is ready for use
into a separate constructorBody() method.  This method is still called by the constructor,
so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.

* bridge/objc/ObjCRuntimeObject.h:
(JSC::Bindings::ObjCRuntimeObject::create):
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_instance.mm:
(ObjCRuntimeMethod::create):
(ObjCRuntimeMethod::ObjCRuntimeMethod):
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
(JSC::RuntimeArray::create):

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

10 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=66495
bdakin@apple.com [Fri, 19 Aug 2011 00:44:35 +0000 (00:44 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=66495
Lion-specific scroller SPIs can use forward declaration instead of
WebKitSystemInterface

Reviewed by Sam Weinig.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/NSScrollerImpDetails.h: Added.
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPartAnimation setCurrentProgress:]):
(-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::scrollbarPainterPaint):
(WebCore::ScrollbarThemeMac::paint):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac: Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=66495
Lion-specific scroller SPIs can use forward declaration instead of
WebKitSystemInterface

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Source/WebKit2: Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=66495
Lion-specific scroller SPIs can use forward declaration instead of
WebKitSystemInterface

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

WebKitLibraries: Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=66495
Lion-specific scroller SPIs can use forward declaration instead of
WebKitSystemInterface

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

10 years ago<rdar://problem/9973194> Fonts that specify a positive descender value are treated...
mitz@apple.com [Fri, 19 Aug 2011 00:23:52 +0000 (00:23 +0000)]
<rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
https://bugs.webkit.org/show_bug.cgi?id=66515

Reviewed by Darin Adler.

No test because none of the system fonts and test fonts have an incorrectly-specified descender value.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
the same amount, but negative. This is consistent with what Core Text does.

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

10 years agoDFG non-speculative JIT does not inline the double case of ValueAdd
fpizlo@apple.com [Fri, 19 Aug 2011 00:18:49 +0000 (00:18 +0000)]
DFG non-speculative JIT does not inline the double case of ValueAdd
https://bugs.webkit.org/show_bug.cgi?id=66025

Reviewed by Gavin Barraclough.

This is a 1.3% win on Kraken overall, with >=8% speed-ups on a few
benchmarks (imaging-darkroom, stanford-crypto-pbkdf2,
stanford-crypto-sha256-iterative).  It looks like it might have
a speed-up in SunSpider (though not statistically significant or
particularly reproducible) and a slight slow-down in V8 (0.14%,
not statistically significant).  It does slow down v8-crypto by
1.5%.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownInteger):
(JSC::DFG::JITCodeGenerator::isKnownNumeric):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::knownConstantArithOp):
(JSC::DFG::NonSpeculativeJIT::basicArithOp):
* dfg/DFGOperations.cpp:

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

10 years ago[chromium] Fix results. Just copy over the platform independent results.
tony@chromium.org [Fri, 19 Aug 2011 00:00:10 +0000 (00:00 +0000)]
[chromium] Fix results.  Just copy over the platform independent results.

* platform/chromium/fast/frames/frame-set-scaling-rotate-expected.png:
* platform/chromium/fast/frames/frame-set-scaling-skew-expected.png:

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

10 years agoAdded Frame Set Scaling Test Results for WebKit1 Mac and WebKit2 Mac
fsamuel@chromium.org [Thu, 18 Aug 2011 23:29:47 +0000 (23:29 +0000)]
Added Frame Set Scaling Test Results for WebKit1 Mac and WebKit2 Mac
https://bugs.webkit.org/show_bug.cgi?id=66493

The expected results of the layout tests written for
https://bugs.webkit.org/show_bug.cgi?id=57785
differ between WebKitt Mac and WebKit2 Mac.

WebKit2 Mac matches the cross-platform results.
WebKit1 Mac has a special set of test results.

Reviewed by Tony Chang.

* platform/chromium/fast/frames/frame-set-scaling-3d-expected.png: Added.
* platform/chromium/fast/frames/frame-set-scaling-3d-expected.txt: Added.
* platform/chromium/fast/frames/frame-set-scaling-centered-expected.png: Added.
* platform/chromium/fast/frames/frame-set-scaling-centered-expected.txt: Added.
* platform/chromium/fast/frames/frame-set-scaling-expected.png: Added.
* platform/chromium/fast/frames/frame-set-scaling-expected.txt: Added.
* platform/chromium/fast/frames/frame-set-scaling-rotate-expected.png: Added.
* platform/chromium/fast/frames/frame-set-scaling-rotate-expected.txt: Added.
* platform/chromium/fast/frames/frame-set-scaling-skew-expected.png: Added.
* platform/chromium/fast/frames/frame-set-scaling-skew-expected.txt: Added.
* platform/mac-wk2/fast/frames/frame-set-scaling-3d-expected.png: Added.
* platform/mac-wk2/fast/frames/frame-set-scaling-centered-expected.png: Added.
* platform/mac-wk2/fast/frames/frame-set-scaling-expected.png: Added.
* platform/mac-wk2/fast/frames/frame-set-scaling-rotate-expected.png: Added.
* platform/mac-wk2/fast/frames/frame-set-scaling-skew-expected.png: Added.
* platform/mac/fast/frames/frame-set-scaling-3d-expected.png: Added.
* platform/mac/fast/frames/frame-set-scaling-centered-expected.png: Added.
* platform/mac/fast/frames/frame-set-scaling-expected.png: Added.
* platform/mac/fast/frames/frame-set-scaling-rotate-expected.png: Added.
* platform/mac/fast/frames/frame-set-scaling-skew-expected.png: Added.

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

10 years ago[chromium] Mark editing/selection/regional-indicators.html as timing
tony@chromium.org [Thu, 18 Aug 2011 23:28:11 +0000 (23:28 +0000)]
[chromium] Mark editing/selection/regional-indicators.html as timing
out on Linux debug and rebaseline 2 tests.

* platform/chromium-win/fast/frames/frame-set-scaling-rotate-expected.png: Added.
* platform/chromium-win/fast/frames/frame-set-scaling-skew-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

10 years agopositionForPoint returns wrong VisiblePosition at bidi boundaries
rniwa@webkit.org [Thu, 18 Aug 2011 23:07:15 +0000 (23:07 +0000)]
positionForPoint returns wrong VisiblePosition at bidi boundaries
https://bugs.webkit.org/show_bug.cgi?id=65356

Reviewed by David Hyatt.

Source/WebCore:

The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.

For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
until the end to obtain the offset 7 from the inline box for "DC".

Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
on the left or the right of the position to compute the appropriate offset following the NSTextView convention.

This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
LTR or RTL text in a RTL or LTR block respectively.

Test: editing/selection/caret-at-bidi-boundary.html

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::offsetForPosition):
* rendering/RenderText.cpp:
(WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
(WebCore::createVisiblePositionForBox):
(WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
(WebCore::RenderText::positionForPoint):

LayoutTests:

* editing/selection/caret-at-bidi-boundary-expected.txt: Added.
* editing/selection/caret-at-bidi-boundary.html: Added.

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

10 years ago--webkit-visual-word renaming right/leftWordPositionAcrossBoundary
xji@chromium.org [Thu, 18 Aug 2011 23:05:42 +0000 (23:05 +0000)]
--webkit-visual-word renaming right/leftWordPositionAcrossBoundary
https://bugs.webkit.org/show_bug.cgi?id=66436

Reviewed by Ryosuke Niwa.

Rename them to right/leftWordPositionIgnoringEditingBoundary.

* editing/visible_units.cpp:
(WebCore::leftWordPositionIgnoringEditingBoundary):
(WebCore::rightWordPositionIgnoringEditingBoundary):
(WebCore::leftWordPosition):
(WebCore::rightWordPosition):

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

10 years agoImplement WebMediaPlayerClientImpl::audioSourceProvider() and interface into chromium
crogers@google.com [Thu, 18 Aug 2011 23:05:19 +0000 (23:05 +0000)]
Implement WebMediaPlayerClientImpl::audioSourceProvider() and interface into chromium
https://bugs.webkit.org/show_bug.cgi?id=66441

Reviewed by Darin Fisher.

* public/WebAudioSourceProvider.h: Added.
(WebKit::WebAudioSourceProvider::~WebAudioSourceProvider):
* public/WebMediaPlayer.h:
(WebKit::WebMediaPlayer::audioSourceProvider):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::audioSourceProvider):
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::provideInput):
* src/WebMediaPlayerClientImpl.h:
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::AudioSourceProviderImpl):
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::~AudioSourceProviderImpl):
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::initialize):

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

10 years agoSoft link against AVFoundationCF and CoreMedia
jeffm@apple.com [Thu, 18 Aug 2011 22:57:04 +0000 (22:57 +0000)]
Soft link against AVFoundationCF and CoreMedia
https://bugs.webkit.org/show_bug.cgi?id=65725

Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
until a media element is used.

Reviewed by Eric Carlson.

No new tests as no change in functionality.

* WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
* WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
* platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
* platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
* platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.

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

10 years agoChromium Mac: Show scrollbar when doing search
commit-queue@webkit.org [Thu, 18 Aug 2011 22:46:42 +0000 (22:46 +0000)]
Chromium Mac: Show scrollbar when doing search
https://bugs.webkit.org/show_bug.cgi?id=66209

Patch by Sailesh Agrawal <sail@chromium.org> on 2011-08-18
Reviewed by James Robinson.

Source/WebCore:

Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.

No tests because there are no Mac 10.7 chromium bots yet.

* platform/chromium/ScrollbarThemeChromiumMac.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::paint):
(WebCore::ScrollbarThemeChromiumMac::paintTickmarks):

Source/WebKit/chromium:

Fixed a bug in invalidateArea where it wouldn't properly invalidate overlay scrollbars. The problem was that it was assuming that the scrollbar was always to the right of the visible scrollbar. This isn't true for overlay scrollbars.

No tests because there are no Mac 10.7 chromium bots yet.

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

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

10 years ago[chromium] Draw the root/"non-composited content" in compositor side
commit-queue@webkit.org [Thu, 18 Aug 2011 22:42:25 +0000 (22:42 +0000)]
[chromium] Draw the root/"non-composited content" in compositor side
https://bugs.webkit.org/show_bug.cgi?id=58834

Patch by James Robinson <jamesr@chromium.org> on 2011-08-18
Reviewed by Kenneth Russell.

Source/WebCore:

Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
*) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
    draw-time transform.
*) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
    AA trashing the alpha channel.  The root layer is always opaque so this is fine.
*) The root layer does not have border texels and does have subpixel AA for text.

Covered by compositing/

* WebCore.gypi:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::scrollPosition):
(WebCore::LayerChromium::setScrollPosition):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::releaseTextures):
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::updateLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::layerTreeAsText):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayer):
(WebCore::LayerRendererChromium::viewportSize):
(WebCore::LayerRendererChromium::viewportWidth):
(WebCore::LayerRendererChromium::viewportHeight):
* platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
(WebCore::NonCompositedContentHost::NonCompositedContentHost):
(WebCore::NonCompositedContentHost::~NonCompositedContentHost):
(WebCore::NonCompositedContentHost::invalidateRect):
(WebCore::NonCompositedContentHost::invalidateEntireLayer):
(WebCore::NonCompositedContentHost::setScrollPosition):
(WebCore::NonCompositedContentHost::notifyAnimationStarted):
(WebCore::NonCompositedContentHost::notifySyncRequired):
(WebCore::NonCompositedContentHost::paintContents):
(WebCore::NonCompositedContentHost::showDebugBorders):
(WebCore::NonCompositedContentHost::showRepaintCounter):
* platform/graphics/chromium/NonCompositedContentHost.h: Added.
(WebCore::NonCompositedContentHost::create):
(WebCore::NonCompositedContentHost::graphicsLayer):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::scrollPosition):
(WebCore::CCLayerImpl::setScrollPosition):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::invalidateRootLayerRect):
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::reallocateRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::rootLayer):
(WebCore::CCLayerTreeHost::viewportSize):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::didRecreateGraphicsContext):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:

LayoutTests:

Update pixel baselines that changes due to subtle blending
differences, primarily on scrollbars. I don't know why these keep
changing.

* compositing/checkerboard-expected.png:
* platform/chromium-gpu-linux/compositing/direct-image-compositing-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/fixed-in-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/tall-page-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/chromium-gpu-linux/compositing/images/direct-image-background-color-expected.png:
* platform/chromium-gpu-linux/compositing/layers-inside-overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/masks/masked-ancestor-expected.png:
* platform/chromium-gpu-linux/compositing/masks/simple-composited-mask-expected.png:
* platform/chromium-gpu-linux/compositing/overflow/overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/self-painting-layers-expected.png:
* platform/chromium-gpu-linux/compositing/webgl/webgl-background-color-expected.png:
* platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
* platform/chromium-gpu-linux/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-gpu-linux/media/video-zoom-expected.png:
* platform/chromium-gpu-linux/platform/chromium/compositing/layout-width-change-expected.png:

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

10 years agoUnreviewed, rolling out r93354.
commit-queue@webkit.org [Thu, 18 Aug 2011 22:23:08 +0000 (22:23 +0000)]
Unreviewed, rolling out r93354.
http://trac.webkit.org/changeset/93354
https://bugs.webkit.org/show_bug.cgi?id=66503

"consensus was not reached" (Requested by senorblanco on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-08-18

Source/WebCore:

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):

LayoutTests:

* fast/canvas/drawImage-clipped-source-expected.txt: Removed.
* fast/canvas/drawImage-clipped-source.html: Removed.
* fast/canvas/drawImage-clipped-source.js: Removed.
* fast/canvas/drawImage-with-invalid-args-expected.txt:
* fast/canvas/drawImage-with-invalid-args.html:
* platform/chromium/test_expectations.txt:
* platform/mac/Skipped:

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

10 years agoGestureRecognizer: Update how gesture-scroll works.
commit-queue@webkit.org [Thu, 18 Aug 2011 22:19:23 +0000 (22:19 +0000)]
GestureRecognizer: Update how gesture-scroll works.

Source/WebCore:

Instead of just sending a series of 'GestureUpdate' events, send a
single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
and end with a 'GestureEnd' event.
https://bugs.webkit.org/show_bug.cgi?id=66267

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2011-08-18
Reviewed by Adam Barth.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent):
* platform/chromium/GestureRecognizerChromium.cpp:
(WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
(WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
(WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
(WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
(WebCore::scrollEnd):
(WebCore::isClickOrScroll):
(WebCore::inScroll):
* platform/chromium/GestureRecognizerChromium.h:
(WebCore::InnerGestureRecognizer::firstTouchPosition):

Source/WebKit/chromium:

Add a unit-test to make sure the correct gesture events are being
generated.
https://bugs.webkit.org/show_bug.cgi?id=66267

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2011-08-18
Reviewed by Adam Barth.

* tests/InnerGestureRecognizerTest.cpp:
(WebCore::BuildablePlatformTouchPoint::BuildablePlatformTouchPoint):
(WebCore::BuildablePlatformTouchEvent::BuildablePlatformTouchEvent):
(WebCore::TEST_F):

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

10 years agoFix r93349.
rniwa@webkit.org [Thu, 18 Aug 2011 22:16:21 +0000 (22:16 +0000)]
Fix r93349.

* platform/gtk/Skipped:

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

10 years agoChromium: Update forked ScrollbarThemeChromiumMac.mm
commit-queue@webkit.org [Thu, 18 Aug 2011 22:14:23 +0000 (22:14 +0000)]
Chromium: Update forked ScrollbarThemeChromiumMac.mm
https://bugs.webkit.org/show_bug.cgi?id=65555

Patch by Sailesh Agrawal <sail@chromium.org> on 2011-08-18
Reviewed by James Robinson.

Source/WebCore:

Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.

* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
(wkScrollbarPainterSetEnabled):
* platform/chromium/ScrollbarThemeChromiumMac.h:
(WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
(WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
(WebCore::toScrollbarPainterKnobStyle):
(WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
(WebCore::ScrollbarThemeChromiumMac::paint):

LayoutTests:

Removing the chromium-cg-mac version of the expectation file since it now matches the mac one.

* platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt: Removed.

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

10 years agoadd embedded png checksums to WebKitTestRunner
tony@chromium.org [Thu, 18 Aug 2011 22:08:28 +0000 (22:08 +0000)]
add embedded png checksums to WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=66494

Looks like WebKitTestRunner has never supported embedded checksums.  This copies
some code from DRT and adds it to the WebKitTestRunner.

Reviewed by Darin Adler.

* WebKitTestRunner/CyclicRedundancyCheck.cpp: Copied from Tools/DumpRenderTree
* WebKitTestRunner/CyclicRedundancyCheck.h: Copied from Tools/DumpRenderTree
* WebKitTestRunner/GNUmakefile.am: Add new files
* WebKitTestRunner/PixelDumpSupport.cpp: Copied from Tools/DumpRenderTree
* WebKitTestRunner/PixelDumpSupport.h: Copied from Tools/DumpRenderTree
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add new files
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::dumpBitmap): Refactor to use PixelDumpSupport.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::dumpBitmap): Refactor to use PixelDumpSupport.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/win/WebKitTestRunner.vcproj: Add new files

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

10 years agoSource/WebCore: Unwarranted DOM Exception when when canvas2D drawImage is called...
commit-queue@webkit.org [Thu, 18 Aug 2011 22:03:11 +0000 (22:03 +0000)]
Source/WebCore: Unwarranted DOM Exception when when canvas2D drawImage is called with src
rect out of bounds
https://bugs.webkit.org/show_bug.cgi?id=65709

Patch by Justin Novosad <junov@chromium.org> on 2011-08-18
Reviewed by Stephen White.

Test: fast/canvas/drawImage-clipped-source.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
Removed the unnecessary dom exceptions for out of bounds source rectangles
The overloads that receive video and image elements as source images
now use the normalized versions of the source rectangle, which
GraphicsContext (and its various platform flavors) can handle correctly.
The normalized rectangle is the equivalent rectangle with width and height
greater than 0.  The canvas version of this method, which had better layout
test coverage, was already correctly using the normalized rectangle. The
newly added layout test verifies correct behavior with negative
source rectangle dimensions.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
Fixed algorithm that adjusts the destination rectangle to match the clipping
applied to the source rect. The case of scaled filtered images with source
rectangles that overlap the edge of the image was not being handled
correctly. This use case was previously unsupported and used to trigger
a DOM exception.

LayoutTests: Unwarranted DOM Exception when when canvas2D drawImage is called with src
rect out of bounds
https://bugs.webkit.org/show_bug.cgi?id=65709

Patch by Justin Novosad <junov@chromium.org> on 2011-08-18
Reviewed by Stephen White.

* fast/canvas/drawImage-clipped-source-expected.txt: Added.
* fast/canvas/drawImage-clipped-source.html: Added.
New test that verifies the clipping behavior when source rectangles
are partially out of the bounds of the source image
* fast/canvas/drawImage-clipped-source.js: Added.
(patternTest.this.testPixel):
(patternTest.this.testRedSquare):
(patternTest.this.testPattern):
(patternTest.this.testAggregatePattern):
(patternTest):
(drawTestPattern):
(executeTest):
* fast/canvas/drawImage-with-invalid-args-expected.txt:
* fast/canvas/drawImage-with-invalid-args.html:
This test covers (among other things) cases where the source rectangle is
_completely_ outside the bounds of the source image.  It was modified to no
longer expect DOM exceptions
* platform/chromium/test_expectations.txt:
Out-dated test canvas/philip/tests/2d.drawImage.outsidesource.html
is now expected to fail
* platform/mac/Skipped:
Skipping canvas/philip/tests/2d.drawImage.outsidesource.html

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

10 years ago [Gtk] editing/selection/regional-indicators.html fails
ap@apple.com [Thu, 18 Aug 2011 21:55:54 +0000 (21:55 +0000)]
    [Gtk] editing/selection/regional-indicators.html fails
        https://bugs.webkit.org/show_bug.cgi?id=66501

        * platform/gtk/editing/selection/regional-indicators-expected.txt: Land failing results.

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

10 years ago Use a correct name for expected results.
ap@apple.com [Thu, 18 Aug 2011 21:53:57 +0000 (21:53 +0000)]
    Use a correct name for expected results.

        * platform/qt/editing/selection/regional-indicators-actual.txt: Removed.
        * platform/qt/editing/selection/regional-indicators-expected.txt: Copied from LayoutTests/platform/qt/editing/selection/regional-indicators-actual.txt.

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

10 years ago [Qt] editing/selection/regional-indicators.html fails
ap@apple.com [Thu, 18 Aug 2011 21:50:56 +0000 (21:50 +0000)]
    [Qt] editing/selection/regional-indicators.html fails
        https://bugs.webkit.org/show_bug.cgi?id=66500

        * platform/qt/editing/selection/regional-indicators-actual.txt: Land failing results.

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

10 years agoUnreviewed, rolling out r93329.
commit-queue@webkit.org [Thu, 18 Aug 2011 21:00:56 +0000 (21:00 +0000)]
Unreviewed, rolling out r93329.
http://trac.webkit.org/changeset/93329
https://bugs.webkit.org/show_bug.cgi?id=66497

Turned text on chromium win blue (Requested by jamesr_ on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-08-18

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/ContentLayerChromium.cpp:
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::dumpLayerProperties):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::releaseTextures):
(WebCore::LayerRendererChromium::updateRootLayerContents):
(WebCore::LayerRendererChromium::drawRootLayer):
(WebCore::LayerRendererChromium::invalidateRootLayerRect):
(WebCore::LayerRendererChromium::rootLayerChanged):
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::updateLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::paintLayerContents):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::layerTreeAsText):
(WebCore::LayerRendererChromium::dumpRenderSurfaces):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayer):
* platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
* platform/graphics/chromium/NonCompositedContentHost.h: Removed.
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::dumpSurface):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTilerIfNeeded):
(WebCore::TiledLayerChromium::tilingTransform):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::createRootLayerPainter):
(WebCore::CCLayerTreeHost::invalidateRootLayerRect):
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::reallocateRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::rootLayer):
(WebCore::CCLayerTreeHost::viewportContentRect):
(WebCore::CCLayerTreeHost::viewportScrollPosition):
(WebCore::CCLayerTreeHost::viewportVisibleRect):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setRootPlatformLayer):
(WebKit::WebViewImpl::didRecreateGraphicsContext):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:

LayoutTests:

* platform/chromium-gpu-linux/compositing/direct-image-compositing-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/ancestor-overflow-change-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/fixed-in-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/tall-page-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/chromium-gpu-linux/compositing/images/direct-image-background-color-expected.png:
* platform/chromium-gpu-linux/compositing/layers-inside-overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/masks/masked-ancestor-expected.png:
* platform/chromium-gpu-linux/compositing/masks/simple-composited-mask-expected.png:
* platform/chromium-gpu-linux/compositing/overflow/overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/self-painting-layers-expected.png:
* platform/chromium-gpu-linux/compositing/webgl/webgl-background-color-expected.png:
* platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
* platform/chromium-gpu-linux/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-gpu-linux/media/video-zoom-expected.png:
* platform/chromium-gpu-linux/platform/chromium/compositing/layout-width-change-expected.png:

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

10 years agoSkip tests added by r93291 on GTK because GTK's DRT doesn't support textInputControll...
rniwa@webkit.org [Thu, 18 Aug 2011 20:52:00 +0000 (20:52 +0000)]
Skip tests added by r93291 on GTK because GTK's DRT doesn't support textInputController.doCommand yet,
which is tracked by the bug 66496.

* platform/gtk/Skipped:

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

10 years agoGTK rebaseline after r93221.
rniwa@webkit.org [Thu, 18 Aug 2011 20:43:59 +0000 (20:43 +0000)]
GTK rebaseline after r93221.

* platform/gtk/editing/selection/collapse-selection-in-bidi-expected.txt:
Copied from LayoutTests/platform/win/editing/selection/collapse-selection-in-bidi-expected.txt.

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

10 years agoSimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
rniwa@webkit.org [Thu, 18 Aug 2011 20:41:51 +0000 (20:41 +0000)]
SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
https://bugs.webkit.org/show_bug.cgi?id=66086

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
Fixing the bug by detecting RenderTextFragment in handleTextNode.

Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
the next call to handleTextNode needs to process the first-letter part of the text fragment.

Test: editing/text-iterator/backward-textiterator-first-letter-crash.html

* editing/TextIterator.cpp:
(WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
(WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
* editing/TextIterator.h:

LayoutTests:

Added a test to ensure WebKit does not hit assertions in SimplifiedBackwardsTextIterator.
Also fixed a bug in first-letter-word-boundary.html and updated expected offsets for move backward by word
from 0 to 1 because there is unrendered space before "hello".

* editing/text-iterator/backward-textiterator-first-letter-crash-expected.txt: Added.
* editing/text-iterator/backward-textiterator-first-letter-crash.html: Added.
* editing/text-iterator/first-letter-word-boundary-expected.txt:
* editing/text-iterator/first-letter-word-boundary.html:

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

10 years ago[chromium] Assert that main thread and compositor thread are used safely
commit-queue@webkit.org [Thu, 18 Aug 2011 20:37:25 +0000 (20:37 +0000)]
[chromium] Assert that main thread and compositor thread are used safely
https://bugs.webkit.org/show_bug.cgi?id=66145

CCLayerTreeHostImplProxy now has public static methods isMainThread()
and isImplThread(), and we ASSERT these in various places. If threaded
compositing is disabled, we fake isImplThread() by setting a flag for
the duration of compositing, so the assert is still valid.

Patch by Iain Merrick <husky@google.com> on 2011-08-18
Reviewed by James Robinson.

Covered by existing tests.

* platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
(WebCore::CCCanvasLayerImpl::draw):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::doComposite):
* platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
(WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::isMainThread):
(WebCore::CCLayerTreeHostImplProxy::isImplThread):
(WebCore::CCLayerTreeHostImplProxy::setImplThread):
(WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
(WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
* platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(WebCore::CCPluginLayerImpl::draw):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::draw):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::draw):

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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=47240
commit-queue@webkit.org [Thu, 18 Aug 2011 20:36:17 +0000 (20:36 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=47240

Fixed a cygwin path problem in the chromium port of diff_image;
Also made the return values of the diff_image function more consistent.

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-08-18
Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium.py:

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

10 years agoRegional indicator symbols that are combined should behave as a single character...
ap@apple.com [Thu, 18 Aug 2011 20:32:55 +0000 (20:32 +0000)]
Regional indicator symbols that are combined should behave as a single character when editing
https://bugs.webkit.org/show_bug.cgi?id=65395

Reviewed by Dan Bernstein.

Source/WebCore:

Part two: make cursor movement iterator work. This fixes the problem for strings that don't
contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.

Test: editing/selection/regional-indicators.html

* platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
rules for regional indicator symbols.

LayoutTests:

* editing/selection/regional-indicators-expected.txt: Added.
* editing/selection/regional-indicators.html: Added.

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

10 years agoFix rubber band gutter drawing for Skia on Chromium Mac
caryclark@google.com [Thu, 18 Aug 2011 20:22:52 +0000 (20:22 +0000)]
Fix rubber band gutter drawing for Skia on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=66478

Reviewed by James Robinson.

No new tests. The Skia on Chromium Mac platform has
not been enabled.

This break was detected at compile time; there is no
behavior change.

* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
Convert the CGImage into an SkBitmap if Skia is present.

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

10 years agoAdd a bunch of accessors to WebAccessibilityObject to expose more of
commit-queue@webkit.org [Thu, 18 Aug 2011 20:22:47 +0000 (20:22 +0000)]
Add a bunch of accessors to WebAccessibilityObject to expose more of
AccessibilityObject to Chromium, including range control values,
document load state, live region attributes, and a few other
ARIA attributes.

https://bugs.webkit.org/show_bug.cgi?id=66411

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-08-18
Reviewed by Dimitri Glazkov.

* public/WebAccessibilityObject.h:
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::isAriaReadOnly):
(WebKit::WebAccessibilityObject::isButtonStateMixed):
(WebKit::WebAccessibilityObject::isControl):
(WebKit::WebAccessibilityObject::isFocused):
(WebKit::WebAccessibilityObject::isLoaded):
(WebKit::WebAccessibilityObject::isRequired):
(WebKit::WebAccessibilityObject::isVertical):
(WebKit::WebAccessibilityObject::accessKey):
(WebKit::WebAccessibilityObject::ariaHasPopup):
(WebKit::WebAccessibilityObject::ariaLiveRegionAtomic):
(WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
(WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
(WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
(WebKit::WebAccessibilityObject::estimatedLoadingProgress):
(WebKit::WebAccessibilityObject::hierarchicalLevel):
(WebKit::WebAccessibilityObject::valueDescription):
(WebKit::WebAccessibilityObject::valueForRange):
(WebKit::WebAccessibilityObject::maxValueForRange):
(WebKit::WebAccessibilityObject::minValueForRange):

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

10 years agoImplement a faster path for painting tables with overflowing cells
jchaffraix@webkit.org [Thu, 18 Aug 2011 20:20:57 +0000 (20:20 +0000)]
Implement a faster path for painting tables with overflowing cells
https://bugs.webkit.org/show_bug.cgi?id=65491

This change introduces a smarter way of painting if the table is big enough and we have a small amount
of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
the overflowing cells to the repainting cells.

This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
memory.

Reviewed by David Hyatt.

No new tests as the behavior should be the same.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
care about the cell's information. Make sure that the "has overflowing cells" information is still
properly encoded on our 2 values.

(WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
complicated sort:
    * the old path would sort one (mostly sorted) array by rows only as the stable sort would
      take care of keeping the column ordering inside a row.
    * the new path basically has to sort an unsorted array (taken partly from the HashSet).

(WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
repaint the same cell twice.

(WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
fast path optimization here.

* rendering/RenderTableSection.h: Transformed our original boolean into
a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
until we reach the memory threshold. After this is hit, we just set the boolean
to avoid using too much memory.

(WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
if we have any overflowing cell, used only for hit testing.

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

10 years agoAn EventSource constructor should throw TypeError, when the number of arguments is...
commit-queue@webkit.org [Thu, 18 Aug 2011 20:11:24 +0000 (20:11 +0000)]
An EventSource constructor should throw TypeError, when the number of arguments is not enough.
https://bugs.webkit.org/show_bug.cgi?id=66454

Patch by Kentaro Hara <haraken@google.com> on 2011-08-18
Reviewed by Adam Barth.

The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.

Source/WebCore:

Test: fast/eventsource/eventsource-constructor.html

* bindings/js/JSEventSourceCustom.cpp:
(WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
* bindings/v8/custom/V8EventSourceConstructor.cpp:
(WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.

LayoutTests:

* fast/eventsource/eventsource-constructor-expected.txt: Changed SyntaxError to TypeError.

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

10 years agoA SharedWorker constructor should throw TypeError, when the number of arguments is...
commit-queue@webkit.org [Thu, 18 Aug 2011 20:09:13 +0000 (20:09 +0000)]
A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
https://bugs.webkit.org/show_bug.cgi?id=66455

Patch by Kentaro Hara <haraken@google.com> on 2011-08-18
Reviewed by Adam Barth.

The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.

Source/WebCore:

Test: fast/workers/shared-worker-constructor.html

* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
* bindings/v8/custom/V8SharedWorkerCustom.cpp:
(WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.

LayoutTests:

* fast/workers/shared-worker-constructor-expected.txt: Changed SyntaxError to TypeError.

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

10 years ago2011-08-17 Alejandro G. Castro <alex@igalia.com>
alex@webkit.org [Thu, 18 Aug 2011 20:08:04 +0000 (20:08 +0000)]
2011-08-17  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Fix compilation problems with deprecations in gtk+
        https://bugs.webkit.org/show_bug.cgi?id=66073

        Reviewed by Martin Robinson.

        * platform/gtk/GtkAuthenticationDialog.cpp:
        (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
        gtk_box_new conditional compilation for gtk+-3.
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustRepaintRect):
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
        GTK_TYPE_SCALE in gtk+3.

2011-08-17  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Fix compilation problems with deprecations in gtk+
        https://bugs.webkit.org/show_bug.cgi?id=66073

        Reviewed by Martin Robinson.

        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        (main): G_CONST_RETURN was deprecated
        * GtkLauncher/main.c:
        (createWindow): Added gtk_box_new conditional compilation for
        gtk+-3.
        * MiniBrowser/gtk/BrowserWindow.c:
        (browser_window_init): Replaced gtk_vbox_new with gtk_box_new, we
        are just supporting gtk+-3 for WebKit2.

2011-08-17  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Fix compilation problems with deprecations in gtk+
        https://bugs.webkit.org/show_bug.cgi?id=66073

        Reviewed by Martin Robinson.

        * WebCoreSupport/FullscreenVideoController.cpp:
        (FullscreenVideoController::createHud): Added gtk_box_new
        conditional compilation for gtk+-3.

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

10 years agoMade some code even more private to a particular file and class
darin@apple.com [Thu, 18 Aug 2011 20:01:08 +0000 (20:01 +0000)]
Made some code even more private to a particular file and class
https://bugs.webkit.org/show_bug.cgi?id=66428

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setDrawingAreaSize:]): Made this file internal.
* UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
* UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.

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

10 years agoA Worker constructor should throw TypeError, when the number of arguments is not...
commit-queue@webkit.org [Thu, 18 Aug 2011 19:43:13 +0000 (19:43 +0000)]
A Worker constructor should throw TypeError, when the number of arguments is not enough
https://bugs.webkit.org/show_bug.cgi?id=66456

Patch by Kentaro Hara <haraken@google.com> on 2011-08-18
Reviewed by Adam Barth.

Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.

Source/WebCore:

Test: fast/workers/worker-constructor.html

* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.

LayoutTests:

* fast/workers/worker-constructor-expected.txt: Changed SyntaxError to TypeError.

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

10 years agoFix logic error causing reverse of desired WebGL rate limiting behavior
commit-queue@webkit.org [Thu, 18 Aug 2011 19:32:13 +0000 (19:32 +0000)]
Fix logic error causing reverse of desired WebGL rate limiting behavior
https://bugs.webkit.org/show_bug.cgi?id=66445

Patch by John Bates <jbates@google.com> on 2011-08-18
Reviewed by Kenneth Russell.

* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::setTextureUpdated):

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

10 years agoSwitch RenderTextControl* to new layout types
leviw@chromium.org [Thu, 18 Aug 2011 19:28:33 +0000 (19:28 +0000)]
Switch RenderTextControl* to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66250

Reviewed by Eric Seidel.

Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.

No new tests as no change in behavior.

* rendering/LayoutTypes.h:
(WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::preferredContentWidth):
(WebCore::RenderTextControlMultiLine::baselinePosition):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::controlClipRect):
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):
* rendering/RenderTextControlSingleLine.h:

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

10 years agoSwitch Inline rendering classes to new layout types
leviw@chromium.org [Thu, 18 Aug 2011 19:23:22 +0000 (19:23 +0000)]
Switch Inline rendering classes to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66239

Reviewed by Eric Seidel.

Converting inline rendering classes to use the LayoutUnit abstraction from ints.

No new tests as no change in functionality.

* rendering/InlineBox.h:
(WebCore::InlineBox::logicalFrameRect):
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::logicalOverflowRect):
(WebCore::InlineTextBox::setLogicalOverflowRect):
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::logicalTopVisualOverflow):
(WebCore::InlineTextBox::logicalBottomVisualOverflow):
(WebCore::InlineTextBox::logicalLeftVisualOverflow):
(WebCore::InlineTextBox::logicalRightVisualOverflow):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::culledInlineAbsoluteRects):
(WebCore::computeMargin):
(WebCore::RenderInline::culledInlineBoundingBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::linesVisualOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::rectWithOutlineForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::lineHeight):
(WebCore::RenderInline::baselinePosition):
(WebCore::RenderInline::addDashboardRegions):
* rendering/RenderInline.h:

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

10 years agoNew XML parser: add doctype to DOM tree
jpfau@apple.com [Thu, 18 Aug 2011 19:19:40 +0000 (19:19 +0000)]
New XML parser: add doctype to DOM tree
https://bugs.webkit.org/show_bug.cgi?id=66408

Reviewed by Adam Barth.

* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processDOCTYPE):

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

10 years agoAdd a test to ensure WebKit does not paste contents before
rniwa@webkit.org [Thu, 18 Aug 2011 19:17:41 +0000 (19:17 +0000)]
Add a test to ensure WebKit does not paste contents before
https://bugs.webkit.org/show_bug.cgi?id=66481

Reviewed by Alexey Proskuryakov.

Add a regression test since this bug has been fixed by r92695.

* editing/pasteboard/paste-delete-insertion-position-skip-paragraph-expected.txt: Added.
* editing/pasteboard/paste-delete-insertion-position-skip-paragraph.html: Added.

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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=61016
dslomov@google.com [Thu, 18 Aug 2011 19:10:23 +0000 (19:10 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=61016
[WebWorkers][Chromium] Use v8 Isolates for in-process implementation of WebWorkers.
This adds an implementation of in-process dedicated workers to chromium port.
The crux of the matter is the reimplementation of WebWorkerClientImpl. WebWorkerClientImpl now
implements all three of Worker{Loader,Context,Object}Proxies and delegates the implementation to
WebKit's standard WorkerMessagingProxy.
For now, we have 3 implementations of workers in chromium WebKit:
  - In-process dedicated workers (this checkin)
  - Inter-process shared workers
  - Inter-process dedicated workers (defunct after this checkin)
This patch extracts some new common interfaces (NewWebWorkerBase and NewWebWorkerClient) for these
three implementations.
Removing the remainings of inter-process dedicated workers -related classes is left for a separate patch
(it will require coordinated changes on chromuium side).

Reviewed by David Levin.

* public/WebCommonWorkerClient.h:
* src/DatabaseObserver.cpp:
(WebKit::AllowDatabaseMainThreadBridge::create):
(WebKit::AllowDatabaseMainThreadBridge::AllowDatabaseMainThreadBridge):
(WebKit::AllowDatabaseMainThreadBridge::allowDatabaseTask):
(WebKit::allowDatabaseForWorker):
(WebCore::DatabaseObserver::canEstablishDatabase):
* src/LocalFileSystemChromium.cpp:
(WebCore::openFileSystemHelper):
* src/WebSharedWorkerImpl.h:
(WebKit::WebSharedWorkerImpl::newCommonClient):
* src/WebWorkerBase.h:
(WebKit::WebWorkerBase::view):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::createWorkerContextProxy):
(WebKit::WebWorkerClientImpl::startWorkerContext):
(WebKit::WebWorkerClientImpl::terminateWorkerContext):
(WebKit::WebWorkerClientImpl::postMessageToWorkerContext):
(WebKit::WebWorkerClientImpl::hasPendingActivity):
(WebKit::WebWorkerClientImpl::workerObjectDestroyed):
(WebKit::WebWorkerClientImpl::connectToInspector):
(WebKit::WebWorkerClientImpl::disconnectFromInspector):
(WebKit::WebWorkerClientImpl::sendMessageToInspector):
(WebKit::WebWorkerClientImpl::postMessageToPageInspector):
(WebKit::WebWorkerClientImpl::postTaskToLoader):
(WebKit::WebWorkerClientImpl::postTaskForModeToWorkerContext):
(WebKit::WebWorkerClientImpl::postMessageToWorkerObject):
(WebKit::WebWorkerClientImpl::confirmMessageFromWorkerObject):
(WebKit::WebWorkerClientImpl::reportPendingActivity):
(WebKit::WebWorkerClientImpl::workerContextClosed):
(WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
(WebKit::WebWorkerClientImpl::postConsoleMessageToWorkerObject):
(WebKit::WebWorkerClientImpl::workerContextDestroyed):
(WebKit::WebWorkerClientImpl::allowFileSystem):
(WebKit::WebWorkerClientImpl::openFileSystem):
(WebKit::WebWorkerClientImpl::allowDatabase):
(WebKit::WebWorkerClientImpl::dispatchDevToolsMessage):
(WebKit::WebWorkerClientImpl::view):
(WebKit::WebWorkerClientImpl::WebWorkerClientImpl):
(WebKit::WebWorkerClientImpl::~WebWorkerClientImpl):
* src/WebWorkerClientImpl.h:
(WebKit::WebWorkerClientImpl::newCommonClient):
* src/WebWorkerImpl.cpp:
(WebKit::WebWorkerImpl::newCommonClient):
* src/WebWorkerImpl.h:
* src/WorkerFileSystemCallbacksBridge.cpp:
(WebKit::WorkerFileSystemCallbacksBridge::postOpenFileSystemToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::openFileSystemOnMainThread):
* src/WorkerFileSystemCallbacksBridge.h:

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

10 years ago[chromium] Draw the root/"non-composited content" in compositor side
commit-queue@webkit.org [Thu, 18 Aug 2011 19:06:59 +0000 (19:06 +0000)]
[chromium] Draw the root/"non-composited content" in compositor side
https://bugs.webkit.org/show_bug.cgi?id=58834

Patch by James Robinson <jamesr@chromium.org> on 2011-08-18
Reviewed by Darin Fisher.

Source/WebCore:

Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
*) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
    draw-time transform.
*) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
    channel.  The root layer is always opaque so this is fine.
*) The root layer does not have border texels and does have subpixel AA for text.

Covered by compositing/

* WebCore.gypi:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::scrollPosition):
(WebCore::LayerChromium::setScrollPosition):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::releaseTextures):
(WebCore::LayerRendererChromium::viewportChanged):
(WebCore::LayerRendererChromium::updateLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::layerTreeAsText):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayer):
(WebCore::LayerRendererChromium::viewportSize):
(WebCore::LayerRendererChromium::viewportWidth):
(WebCore::LayerRendererChromium::viewportHeight):
* platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
(WebCore::NonCompositedContentHost::NonCompositedContentHost):
(WebCore::NonCompositedContentHost::~NonCompositedContentHost):
(WebCore::NonCompositedContentHost::invalidateRect):
(WebCore::NonCompositedContentHost::invalidateEntireLayer):
(WebCore::NonCompositedContentHost::setScrollPosition):
(WebCore::NonCompositedContentHost::notifyAnimationStarted):
(WebCore::NonCompositedContentHost::notifySyncRequired):
(WebCore::NonCompositedContentHost::paintContents):
(WebCore::NonCompositedContentHost::showDebugBorders):
(WebCore::NonCompositedContentHost::showRepaintCounter):
* platform/graphics/chromium/NonCompositedContentHost.h: Added.
(WebCore::NonCompositedContentHost::create):
(WebCore::NonCompositedContentHost::graphicsLayer):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::draw):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::scrollPosition):
(WebCore::CCLayerImpl::setScrollPosition):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::invalidateRootLayerRect):
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::reallocateRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::rootLayer):
(WebCore::CCLayerTreeHost::viewportSize):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::didRecreateGraphicsContext):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:

LayoutTests:

Update pixel baselines that changes due to subtle blending
differences, primarily on scrollbars. I don't know why these keep
changing.

* compositing/checkerboard-expected.png:
* platform/chromium-gpu-linux/compositing/direct-image-compositing-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/fixed-in-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/tall-page-composited-expected.png:
* platform/chromium-gpu-linux/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/chromium-gpu-linux/compositing/images/direct-image-background-color-expected.png:
* platform/chromium-gpu-linux/compositing/layers-inside-overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/masks/masked-ancestor-expected.png:
* platform/chromium-gpu-linux/compositing/masks/simple-composited-mask-expected.png:
* platform/chromium-gpu-linux/compositing/overflow/overflow-scroll-expected.png:
* platform/chromium-gpu-linux/compositing/self-painting-layers-expected.png:
* platform/chromium-gpu-linux/compositing/webgl/webgl-background-color-expected.png:
* platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
* platform/chromium-gpu-linux/fast/canvas/image-object-in-canvas-expected.png:
* platform/chromium-gpu-linux/media/video-zoom-expected.png:
* platform/chromium-gpu-linux/platform/chromium/compositing/layout-width-change-expected.png:

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