WebKit-https.git
8 years agolibxml2 fragment parser loses prefix namespaces
jpfau@apple.com [Fri, 19 Aug 2011 23:37:05 +0000 (23:37 +0000)]
libxml2 fragment parser loses prefix namespaces
https://bugs.webkit.org/show_bug.cgi?id=66423

Source/WebCore:

This makes the loop over the elements outside of the context actually update the element it's processing.

Reviewed by Darin Adler.

Test: fast/parser/innerhtml-with-prefixed-elements.xhtml

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

LayoutTests:

Added a test to ensure that elements inserted when the prefix is already declared are inserted properly.

Reviewed by Darin Adler.

* fast/parser/innerhtml-with-prefixed-elements.xhtml: Added.
* platform/chromium/test_expectations.txt:
* platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.png: Added.
* platform/mac/fast/parser/innerhtml-with-prefixed-elements-expected.txt: Added.

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

8 years agoUnreviewed, rolling out r93426.
commit-queue@webkit.org [Fri, 19 Aug 2011 23:24:51 +0000 (23:24 +0000)]
Unreviewed, rolling out r93426.
http://trac.webkit.org/changeset/93426
https://bugs.webkit.org/show_bug.cgi?id=66607

Broke the Mac build by not building gtest.framework anymore
(Requested by andersca on #webkit).

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

Source/ThirdParty:

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

Tools:

* TestWebKitAPI/Tests/WTF/StringOperators.cpp:

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

8 years agoImplement WTF::atomic{Increment, Decrement}() for QNX
dbates@webkit.org [Fri, 19 Aug 2011 23:22:16 +0000 (23:22 +0000)]
Implement WTF::atomic{Increment, Decrement}() for QNX
https://bugs.webkit.org/show_bug.cgi?id=66605

Reviewed by Darin Adler.

* wtf/Atomics.h:
(WTF::atomicIncrement):
(WTF::atomicDecrement):

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

8 years ago[chromium] Remove various unreferenced bits from Chromium API headers
adamk@chromium.org [Fri, 19 Aug 2011 23:18:11 +0000 (23:18 +0000)]
[chromium] Remove various unreferenced bits from Chromium API headers
https://bugs.webkit.org/show_bug.cgi?id=66575

Reviewed by Tony Chang.

* public/WebApplicationCacheHost.h:
(WebKit::WebApplicationCacheHost::willStartMainResourceRequest):
* public/WebFrame.h:
* public/WebFrameClient.h:
(WebKit::WebFrameClient::didReceiveTitle):
* public/WebVideoFrame.h:

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

8 years ago[chromium] Cleanup some old plugin tests. Rebase plugin-javascript-access.html
tony@chromium.org [Fri, 19 Aug 2011 22:53:27 +0000 (22:53 +0000)]
[chromium] Cleanup some old plugin tests.  Rebase plugin-javascript-access.html
on win and run plugin-initiate-popup-window on mac/linux to get results.

* platform/chromium-win/plugins/plugin-initiate-popup-window-expected.txt: Removed.
* platform/chromium/test_expectations.txt:
* platform/win/plugins/plugin-javascript-access-expected.txt: Renamed from LayoutTests/platform/chromium-win/plugins/plugin-javascript-access-expected.txt.

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

8 years agoMake the complex text input state a tri-state enum instead of a boolean
andersca@apple.com [Fri, 19 Aug 2011 22:50:47 +0000 (22:50 +0000)]
Make the complex text input state a tri-state enum instead of a boolean
https://bugs.webkit.org/show_bug.cgi?id=62245

Reviewed by Sam Weinig.

This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.

* PluginProcess/PluginControllerProxy.cpp:
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::setComplexTextInputState):
(WebKit::PluginControllerProxy::compositingRenderServerPort):
* Shared/Plugins/mac: Added.
* Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
(WebKit::isValidPluginComplexTextInputState):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setPluginComplexTextInputState):
* UIProcess/API/mac/WKView.mm:
(-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setPluginComplexTextInputState):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::NetscapePlugin):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::NetscapePlugin::platformSetFocus):
(WebKit::NetscapePlugin::windowFocusChanged):
(WebKit::NetscapePlugin::setComplexTextInputEnabled):
* WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
(WebKit::PluginProxy::setComplexTextInputState):
* WebProcess/Plugins/PluginController.h:
* WebProcess/Plugins/PluginProxy.cpp:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginProxy.messages.in:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::~PluginView):
(WebKit::PluginView::setComplexTextInputState):
(WebKit::PluginView::compositingRenderServerPort):
* WebProcess/Plugins/PluginView.h:

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

8 years ago[chromium] Update chromium test expectations
jamesr@google.com [Fri, 19 Aug 2011 22:38:26 +0000 (22:38 +0000)]
[chromium] Update chromium test expectations

Remove = CRASH expectations for tests fixed by r93441.

* platform/chromium/test_expectations.txt:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=66590
bdakin@apple.com [Fri, 19 Aug 2011 22:34:05 +0000 (22:34 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=66590
Re-name scrollbar painter types

Reviewed by Sam Weinig.

Source/JavaScriptCore:

WTF_USE_WK_SCROLLBAR_PAINTER is now WTF_USE_SCROLLBAR_PAINTER since WK no longer
applies.
* wtf/Platform.h:

Source/WebCore:

Names changed to remove references to WebKitSystemInterface since the
implementation is now in WebCore. And the type names changed to be more Objective-
Cish instead of C++ish
WTF_USE_WK_SCROLLBAR_PAINTER -> WTF_USE_SCROLLBAR_PAINTER
WKScrollbarPainterRef -> ScrollbarPainter
WKScrollbarPainterControllerRef -> ScrollbarPainterController

* platform/mac/NSScrollerImpDetails.h:
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
(-[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::cancelAnimations):
(WebCore::ScrollAnimatorMac::setIsActive):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::platformSetScrollbarOverlayStyle):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(+[ScrollbarPrefsObserver appearancePrefsChanged:]):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
(WebCore::ScrollbarThemeMac::painterForScrollbar):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::scrollbarPainterPaint):
(WebCore::ScrollbarThemeMac::paint):

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

8 years ago[chromium] Chromium GPU layout tests should use the normal process number selection...
jamesr@google.com [Fri, 19 Aug 2011 22:26:37 +0000 (22:26 +0000)]
[chromium] Chromium GPU layout tests should use the normal process number selection, not force 1 worker
https://bugs.webkit.org/show_bug.cgi?id=66603

Reviewed by Dirk Pranke.

The various ChromiumGpu ports should use the same child worker
selection logic as other ports so they can run with full
parallelization on multicore systems.

* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
* Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:

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

8 years agoRename VisiblePosition::honorEditableBoundary* to VisiblePosition::honorEditingBoundary*
commit-queue@webkit.org [Fri, 19 Aug 2011 22:20:19 +0000 (22:20 +0000)]
Rename VisiblePosition::honorEditableBoundary* to VisiblePosition::honorEditingBoundary*
https://bugs.webkit.org/show_bug.cgi?id=66499

Patch by Van Lam <vanlam@google.com> on 2011-08-19
Reviewed by Ryosuke Niwa.

Renamed VisiblePosition::honorEditableBoundary* to
honorEditingBoundary.

* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
(WebCore::VisiblePosition::left):
(WebCore::VisiblePosition::right):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
* editing/VisiblePosition.h:
* editing/visible_units.cpp:
(WebCore::previousWordPosition):
(WebCore::nextWordPosition):
(WebCore::startOfLine):
(WebCore::endOfLine):
(WebCore::previousSentencePosition):
(WebCore::nextSentencePosition):
(WebCore::logicalStartOfLine):
(WebCore::logicalEndOfLine):
(WebCore::leftWordPosition):
(WebCore::rightWordPosition):

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

8 years ago[chromium] Update results for japanese-rl-selection-repaint-in-regions.html that
tony@chromium.org [Fri, 19 Aug 2011 22:12:28 +0000 (22:12 +0000)]
[chromium] Update results for japanese-rl-selection-repaint-in-regions.html that
changed after r93428.

* platform/chromium-cg-mac-leopard/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png:
* platform/chromium-cg-mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png:
* platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:

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

8 years agoREGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chrom...
jamesr@google.com [Fri, 19 Aug 2011 21:50:10 +0000 (21:50 +0000)]
REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=65063

Reviewed by Darin Fisher.

Fixes crashes due to a bad cast from Image to BitmapImage on skia ports
that use BitmapImageSingleFrameSkia. In the skia port
Image::isBitmapImage() returning true does not necessarily mean that
Image is of type BitmapImage.

Covered by fast/canvas/canvas-as-image.html and many other canvas
tests.

Patch originally by Tom Hudson.

* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::currentFrameHasAlpha):
(WebCore::BitmapImage::notSolidColor):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(WebCore::Image::currentFrameHasAlpha):
(WebCore::Image::notSolidColor):
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
(WebCore::BitmapImageSingleFrameSkia::notSolidColor):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::backgroundIsObscured):

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

8 years agoSwitch clipping for svg to to new layout types
eae@chromium.org [Fri, 19 Aug 2011 21:40:27 +0000 (21:40 +0000)]
Switch clipping for svg to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66586

Reviewed by Eric Seidel.

No new tests as no new functionality.

* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGGradientStop.h:
(WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
* rendering/svg/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
(WebCore::RenderSVGInline::computeRectForRepaint):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGModelObject::computeRectForRepaint):
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::clippedOverflowRectForRepaint):
(WebCore::RenderSVGText::computeRectForRepaint):
* rendering/svg/RenderSVGText.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::containerSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
(WebCore::SVGImage::setContainerSize):
* svg/graphics/SVGImage.h:

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

8 years agoUnreviewed, rolling out r93425.
commit-queue@webkit.org [Fri, 19 Aug 2011 21:37:27 +0000 (21:37 +0000)]
Unreviewed, rolling out r93425.
http://trac.webkit.org/changeset/93425
https://bugs.webkit.org/show_bug.cgi?id=66591

"The newly-added ASSERT is being triggered on several bots"
(Requested by jchaffraix on #webkit).

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

Source/WebCore:

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::setDisabled):
(WebCore::HTMLLinkElement::sheetLoaded):
(WebCore::HTMLLinkElement::disabled):
* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::isEnabledViaScript):

LayoutTests:

* fast/css/link-disabled-attr-expected.txt:
* fast/css/stylesheet-enable-first-alternate-expected.txt: Removed.
* fast/css/stylesheet-enable-first-alternate-on-load-expected.txt: Removed.
* fast/css/stylesheet-enable-first-alternate-on-load.html: Removed.
* fast/css/stylesheet-enable-first-alternate.html: Removed.
* fast/css/stylesheet-enable-second-alternate-expected.txt: Removed.
* fast/css/stylesheet-enable-second-alternate-on-load-expected.txt: Removed.
* fast/css/stylesheet-enable-second-alternate-on-load.html: Removed.
* fast/css/stylesheet-enable-second-alternate.html: Removed.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-expected.txt: Removed.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error-expected.txt: Removed.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html: Removed.
* http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html: Removed.
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet-in-error.js: Removed.
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet.js: Removed.
* http/tests/css/resources/slow-loading-sheet-in-error.php: Removed.
* http/tests/css/resources/slow-loading-sheet.php: Removed.

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

8 years ago[chromium] Refactor updateCompositorResources to take an explicit GraphicsContext3D
enne@google.com [Fri, 19 Aug 2011 21:24:17 +0000 (21:24 +0000)]
[chromium] Refactor updateCompositorResources to take an explicit GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=66432

Reviewed by James Robinson.

Covered by existing tests.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:

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

8 years agoTell media player to prepareToPlay() at end of HTMLMediaElement::load()
vrk@chromium.org [Fri, 19 Aug 2011 21:12:26 +0000 (21:12 +0000)]
Tell media player to prepareToPlay() at end of HTMLMediaElement::load()
https://bugs.webkit.org/show_bug.cgi?id=66414

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-load-preload-none.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::load):

LayoutTests:

* media/video-load-preload-none-expected.txt: Added.
* media/video-load-preload-none.html: Added.

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

8 years agoSwitch RenderBlock to to new layout types
eae@chromium.org [Fri, 19 Aug 2011 20:57:59 +0000 (20:57 +0000)]
Switch RenderBlock to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66502

Reviewed by Eric Seidel.

Convert RenderBlock to new layout abstraction. Leave m_lineHight as a 30
bit int for now to avoid unnecessarily increasing the memory usage.

No new tests as no new functionality.

* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:

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

8 years agoSwitch RenderBoxModelObject to to new layout types
eae@chromium.org [Fri, 19 Aug 2011 20:40:57 +0000 (20:40 +0000)]
Switch RenderBoxModelObject to to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66534

Reviewed by Eric Seidel.

Convert RenderBoxModelObject to new layout abstraction.

No new tests as no new functionality.

* rendering/RenderBoxModelObject.cpp:
(WebCore::ImageQualityController::set):
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
(WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
(WebCore::backgroundRectAdjustedForBleedAvoidance):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::borderWillArcInnerEdge):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
(WebCore::areaCastingShadowInHole):
(WebCore::RenderBoxModelObject::paintBoxShadow):
(WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
* rendering/RenderBoxModelObject.h:

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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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