WebKit-https.git
8 years ago2011-01-19 James Robinson <jamesr@chromium.org>
jamesr@google.com [Thu, 20 Jan 2011 03:52:42 +0000 (03:52 +0000)]
2011-01-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r76194.
        http://trac.webkit.org/changeset/76194
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Caused mysterious compile failure on the chromium win
        build.webkit.org bots

        * fast/animation/request-animation-frame-cancel-expected.txt: Removed.
        * fast/animation/request-animation-frame-cancel.html: Removed.
        * fast/animation/request-animation-frame-cancel2-expected.txt: Removed.
        * fast/animation/request-animation-frame-cancel2.html: Removed.
        * fast/animation/request-animation-frame-display-expected.txt: Removed.
        * fast/animation/request-animation-frame-display.html: Removed.
        * fast/animation/request-animation-frame-expected.txt: Removed.
        * fast/animation/request-animation-frame-within-callback-expected.txt: Removed.
        * fast/animation/request-animation-frame-within-callback.html: Removed.
        * fast/animation/request-animation-frame.html: Removed.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r76194.
        http://trac.webkit.org/changeset/76194
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Caused mysterious compile failure on the chromium win
        build.webkit.org bots

        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h: Removed.
        * dom/RequestAnimationFrameCallback.idl: Removed.
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/HostWindow.h:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r76194.
        http://trac.webkit.org/changeset/76194
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Caused mysterious compile failure on the chromium win
        build.webkit.org bots

        * features.gypi:
        * public/WebWidget.h:
        * public/WebWidgetClient.h:
        * src/ChromeClientImpl.cpp:
        * src/ChromeClientImpl.h:
        * src/WebPopupMenuImpl.cpp:
        * src/WebPopupMenuImpl.h:
        * src/WebViewImpl.cpp:
        * src/WebViewImpl.h:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r76194.
        http://trac.webkit.org/changeset/76194
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Caused mysterious compile failure on the chromium win
        build.webkit.org bots

        * DumpRenderTree/chromium/WebViewHost.cpp:
        (WebViewHost::paintInvalidatedRegion):
        * DumpRenderTree/chromium/WebViewHost.h:

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

8 years ago2011-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 20 Jan 2011 03:46:19 +0000 (03:46 +0000)]
2011-01-19  Simon Fraser  <simon.fraser@apple.com>

        Fix the WebKit2 build.

        * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
        (WebKit::LayerBackedDrawingArea::syncCompositingLayers):

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

8 years ago2011-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 20 Jan 2011 03:20:47 +0000 (03:20 +0000)]
2011-01-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        GraphicsLayers in subframes can get sync'd multiple times
        https://bugs.webkit.org/show_bug.cgi?id=52489

        Some cleanup that will work towards fixing this bug.

        Tested by existing iframe compositing tests.

        * WebCore.exp.in: syncCompositingStateRecursive()
        was renamed to syncCompositingStateIncludingSubframes().

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame): Some
        code cleanup: do all the word we need to do for this frame,
        including the needsLayout() check.
        (WebCore::FrameView::syncCompositingStateIncludingSubframes):
        This is no longer recursive; instead, it iterates over descendant
        frames via the frame tree, calling syncCompositingStateForThisFrame()
        on each Frame's view.

        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
        a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
        (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
        Add the ability to get the rootmost compositor that is in the middle
        of a flush.

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Thu, 20 Jan 2011 03:14:06 +0000 (03:14 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Mihai Parparita.

        remove fs refs from test_runner, dump_render_tree_thread

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

        * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
        * Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
        * Scripts/webkitpy/layout_tests/layout_package/test_runner_unittest.py:
        * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:

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

8 years ago2011-01-19 James Robinson <jamesr@chromium.org>
jamesr@google.com [Thu, 20 Jan 2011 02:59:06 +0000 (02:59 +0000)]
2011-01-19  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Tests for window.webkitRequestAnimationFrame().  The new tests
        are in the Skipped lists for platforms that do not set
        ENABLE(REQUEST_ANIMATION_FRAME) - which is currently all but chromium.

        * fast/animation/request-animation-frame-cancel-expected.txt: Added.
        * fast/animation/request-animation-frame-cancel.html: Added.
            Tests cancelling a callback within a webkitRequestAnimationFrame() callback.
        * fast/animation/request-animation-frame-cancel2-expected.txt: Added.
        * fast/animation/request-animation-frame-cancel2.html: Added.
            Tests interactions between multiple webkitRequestAnimationFrame() callbacks.
        * fast/animation/request-animation-frame-display-expected.txt: Added.
        * fast/animation/request-animation-frame-display.html: Added.
            Tests changing the display: property of an element within a callback.
        * fast/animation/request-animation-frame-expected.txt: Added.
        * fast/animation/request-animation-frame.html: Added.
            Tests the basic use of window.webkitRequestAnimationFrame().
        * fast/animation/request-animation-frame-within-callback-expected.txt: Added.
        * fast/animation/request-animation-frame-within-callback.html: Added.
            Tests setting one webkit.webkitRequestAnimationFrame() callback within another.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
        an author driving an animation from script could use window.requestAnimationFrame(callback)
        instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
        decide when to update the animations.  This avoids doing unnecessary work when the page content
        is offscreen or is being displayed at a different framerate than what the page author expects.

        Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
        This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
        following changes:
        *) Only the callback syntax is supported, there is no before paint event
        *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
            what content they intend to animate.  That way if the page is being displayed but the element
            in question is offscreen, we can avoid invoking the callback.
        *) No timestamp is provided to the caller and there is no window.animationStartTime property
            (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
        *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
            using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().

        The implementation depends on the embedder scheduling the callbacks since the callback invocation
        depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
        to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
        called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
        Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
        embedder has to rate limit callbacks and may not be able to tie the callback directly to the
        rendering loop.

        Tests: fast/animation/request-animation-frame-cancel.html
               fast/animation/request-animation-frame-cancel2.html
               fast/animation/request-animation-frame-display.html
               fast/animation/request-animation-frame-within-callback.html
               fast/animation/request-animation-frame.html

        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::webkitRequestAnimationFrame):
        (WebCore::Document::webkitCancelRequestAnimationFrame):
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h: Added.
        (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
        * dom/RequestAnimationFrameCallback.idl: Added.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::scheduleAnimation):
        * page/Chrome.cpp:
        (WebCore::Chrome::scheduleAnimation):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitRequestAnimationFrame):
        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleAnimation):
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:
        * platform/HostWindow.h:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Chromium WebKit API support for window.webkitRequestAnimationFrame()

        * features.gypi:
        * public/WebWidget.h:
        * public/WebWidgetClient.h:
        (WebKit::WebWidgetClient::scheduleAnimation):
        * src/ChromeClientImpl.cpp:
        (WebKit::ChromeClientImpl::scheduleAnimation):
        * src/ChromeClientImpl.h:
        * src/WebPopupMenuImpl.cpp:
        (WebKit::WebPopupMenuImpl::animate):
        (WebKit::WebPopupMenuImpl::scheduleAnimation):
        * src/WebPopupMenuImpl.h:
        * src/WebViewImpl.cpp:
        (WebKit::WebViewImpl::animate):
        * src/WebViewImpl.h:
2011-01-19  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Chromium DumpRenderTree support for window.webkitRequestAnimationFrame.

        * DumpRenderTree/chromium/WebViewHost.cpp:
        (invokeScheduleComposite):
        (WebViewHost::scheduleAnimation):
        (WebViewHost::paintInvalidatedRegion):
        * DumpRenderTree/chromium/WebViewHost.h:

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

8 years agoRolled back in r76078, with crash fixed.
ggaren@apple.com [Thu, 20 Jan 2011 02:56:22 +0000 (02:56 +0000)]
Rolled back in r76078, with crash fixed.
https://bugs.webkit.org/show_bug.cgi?id=52668

Reviewed by Darin Adler.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::markChildren): Account for the fact that the global
object moves its variables into and out of the register file. While out
of the register file, the symbol table's size is not an accurate count
for the size of the register array, since the BytecodeGenerator might
be compiling, adding items to the symbol table.

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

8 years ago2011-01-13 Martin Robinson <mrobinson@igalia.com>
mrobinson@webkit.org [Thu, 20 Jan 2011 02:49:54 +0000 (02:49 +0000)]
2011-01-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [GTK] Move progress bar painting out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52385

        Move progress bar painting to RenderThemeGtk2 and share some animation
        logic between the GTK+ 2.x and GTK+ 3.x port.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
        (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
        progress indicator given the rect for the maximum size of the indicator.
        * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
        a new widget member for GTK+ 2.x
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
        (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
        calling the old Mozilla code.
        (WebCore::RenderThemeGtk::gtkProgressBar): Added.
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
        the area of the progress indicator.
        * platform/gtk/gtk2drawing.c: Remove unused code.
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h: Ditto.

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

8 years ago2011-01-19 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 20 Jan 2011 02:18:13 +0000 (02:18 +0000)]
2011-01-19  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Would like script debugging protocol method to differentiate between caught and uncaught exceptions
        https://bugs.webkit.org/show_bug.cgi?id=52104
        rdar://problem/8704226

        * WebView/WebDelegateImplementationCaching.h:
        Fix type of second integer in CallScriptDebugDelegate function overload
        to be int to match the actual Objective-C method. Added a new overload
        that includes a BOOL in the right place. Added a boolean named
        exceptionWasRaisedExpectsHasHandlerFlag.

        * WebView/WebDelegateImplementationCaching.mm:
        (CallDelegate): Added overloads as above.
        (CallScriptDebugDelegate): Ditto.

        * WebView/WebScriptDebugDelegate.h: Added new method with the additional
        boolean argument. Marked the old method informally deprecated.

        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::exception): Added code to call with or without the
        boolean depending on exceptionWasRaisedExpectsHasHandlerFlag.

        * WebView/WebView.mm:
        (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the
        exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not
        guaranteed to set didParseSourceExpectsBaseLineNumber to NO.

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Thu, 20 Jan 2011 02:16:33 +0000 (02:16 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, build fix.

        Fix a few incorrect "self._filesystem" references introduced in
        r76184.

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

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

8 years ago[Chromium] Not reviewed, reverts the following changes:
dimich@chromium.org [Thu, 20 Jan 2011 02:13:57 +0000 (02:13 +0000)]
[Chromium] Not reviewed, reverts the following changes:
http://trac.webkit.org/changeset/76164 (build fix)
http://trac.webkit.org/changeset/76159 (main change)

The change broke Chromium Linux-shlib build.

Original issue:
Accelerated canvas2D has bad clipping performance.
https://bugs.webkit.org/show_bug.cgi?id=52627

Source/WebCore:

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::platformLayer):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::State::State):
(WebCore::GLES2Canvas::clearRect):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::restore):
(WebCore::GLES2Canvas::drawTexturedRect):
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::createSecondaryBuffers):
(WebCore::DrawingBuffer::reset):
* platform/graphics/gpu/DrawingBuffer.h:
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::fillPath):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::canAccelerate):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
* thirdparty/glu/README.webkit:
* thirdparty/glu/gluos.h:
* thirdparty/glu/libtess/geom.c:
* thirdparty/glu/libtess/priorityq.c:
* thirdparty/glu/libtess/render.c:
* thirdparty/glu/libtess/sweep.c:
(IsWindingInside):
(DoneEdgeDict):

LayoutTests:

* platform/chromium-gpu/test_expectations.txt:

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

8 years agoWebKit2: Need API to get the parent frame of a frame
bweinstein@apple.com [Thu, 20 Jan 2011 02:10:16 +0000 (02:10 +0000)]
WebKit2: Need API to get the parent frame of a frame
https://bugs.webkit.org/show_bug.cgi?id=52774

Reviewed by Darin Adler.

Add the API to get the parent frame of a frame.

* UIProcess/API/C/WKFrame.cpp:
(WKFrameGetParentFrame):
* UIProcess/API/C/WKFrame.h:

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

8 years ago2011-01-19 Levi Weintraub <leviw@google.com>
leviw@chromium.org [Thu, 20 Jan 2011 02:03:28 +0000 (02:03 +0000)]
2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Darin Adler.

        Re-committing this with the proper expected results.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Added.
        * editing/selection/resources/iframe-positioning-caret-at-end.html: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Added.
2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Darin Adler.

        Re-committing this with the proper expected results.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

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

8 years agoWebKit2: add support for drag and drop
enrica@apple.com [Thu, 20 Jan 2011 01:56:45 +0000 (01:56 +0000)]
WebKit2: add support for drag and drop
https://bugs.webkit.org/show_bug.cgi?id=52343
<rdar://problem/7660558>

Reviewed by Darin Adler.

This patch contains the remaining work to support drag and drop on Mac.
I've added a PasteboardTypes class to encapsulate all the pasteboard formats
supported for drag and drop.
In this implementation we don't support the promised types, since I could not
find an efficient way to do this across processes.
The bulk of the patch consists in creating a shareable bitmap for the drag image,
pass its handle to the UI process and create a new NSImage from it to be given to
AppKit for dragging.
I've added the missing implementation of the methods in the drag client to hook
up the placement of the data in the pasteboard.

* Shared/mac/PasteboardTypes.h: Added.
* Shared/mac/PasteboardTypes.mm: Added.
(WebKit::PasteboardTypes::forEditing):
(WebKit::PasteboardTypes::forURL):
(WebKit::PasteboardTypes::forImages):
(WebKit::PasteboardTypes::forImagesWithArchive):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setDragImage): Added.
* UIProcess/API/mac/WKView.mm:
(-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
(-[WKView initWithFrame:contextRef:pageGroupRef:]):
(-[WKView _setMouseDownEvent:]):
(-[WKView _mouseHandler:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView draggedImage:endedAt:operation:]):
(-[WKView draggingEntered:]):
(-[WKView _setDragImage:at:linkDrag:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setDragImage):
(WebKit::WebPageProxy::dragEnded):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebDragClient.cpp:
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
(WebKit::fontFromNSFont):
(WebKit::WebDragClient::startDrag): Added implementation.
(WebKit::WebDragClient::createDragImageForLink): Ditto.
(WebKit::writeURL): Helper function.
(WebKit::writeImage): Helper function.
(WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dragEnded):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

8 years ago2011-01-18 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 20 Jan 2011 01:53:50 +0000 (01:53 +0000)]
2011-01-18  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Stack overflow when converting an Error object to string
        https://bugs.webkit.org/show_bug.cgi?id=46410

        * fast/js/script-tests/toString-recursion.js: Added.
        * fast/js/toString-recursion-expected.txt: Added.
        * fast/js/toString-recursion.html: Added.
2011-01-18  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Stack overflow when converting an Error object to string
        https://bugs.webkit.org/show_bug.cgi?id=46410

        * Android.mk: Added StringRecursionChecker.cpp and
        StringRecursionChecker.h.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * JavaScriptCore.gypi: Ditto.
        * JavaScriptCore.pro: Ditto.
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
        * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.

        * runtime/ArrayPrototype.cpp:
        (JSC::arrayProtoFuncToString): Use StringRecursionChecker instead
        of the older hand-written code to do the same thing.
        (JSC::arrayProtoFuncToLocaleString): Ditto.
        (JSC::arrayProtoFuncJoin): Ditto.

        * runtime/ErrorPrototype.cpp:
        (JSC::errorProtoFuncToString): Use StringRecursionChecker.

        * runtime/JSGlobalData.h: Renamed arrayVisitedElements to
        stringRecursionCheckVisitedObjects.

        * runtime/RegExpPrototype.cpp:
        (JSC::regExpProtoFuncToString): Use StringRecursionChecker.

        * runtime/StringRecursionChecker.cpp: Added.
        * runtime/StringRecursionChecker.h: Added.

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Thu, 20 Jan 2011 01:49:19 +0000 (01:49 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Mihai Parparita.

        add a .sep property, abspath(), isabs(), mtime(), and
        open_text_file_for_writing() to filesystem modules. Some of
        these properties are not needed in this patch but will be needed
        in subsequent patches (I'm doing this to avoid having to track
        multiple versions of a single file).

        Also, change most of the port/* modules to use the filesystem
        objects instead of referencing the filesystem directly.

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

        * Scripts/webkitpy/common/system/filesystem.py:
        * Scripts/webkitpy/common/system/filesystem_mock.py:
        * Scripts/webkitpy/layout_tests/port/__init__.py:
        * Scripts/webkitpy/layout_tests/port/base.py:
        * Scripts/webkitpy/layout_tests/port/base_unittest.py:
        * Scripts/webkitpy/layout_tests/port/chromium.py:
        * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
        * Scripts/webkitpy/layout_tests/port/config.py:
        * Scripts/webkitpy/layout_tests/port/test.py:
        * Scripts/webkitpy/layout_tests/port/test_files_unittest.py:

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

8 years ago2011-01-18 MORITA Hajime <morrita@google.com>
morrita@google.com [Thu, 20 Jan 2011 01:24:40 +0000 (01:24 +0000)]
2011-01-18 MORITA Hajime <morrita@google.com>

        Reviewed by David Levin.

        ElementRareData::m_shadowRoot should not be RefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=51914

        Makes ElementRareData::m_shadowRoot a raw pointer because
        ElementRareData::m_shadowRoot should be like a
        ContaineNode::m_firstChild, which is also a raw pointer.
        pointer. Which also means that both the shadow root and the shadow
        host reference each other as a parent-and-child relationship, via
        a raw pointer.

        Note that it is safe not to manipulate the ref-count of
        m_shadowRoot because Node::m_parent of the shadow root points its
        shadow host, and the object isn't deleted even if the refcount is
        zero, as long as the node has non-null m_parent. (See TreeShared.)

        The shadow root node is finally destroyed inside
        removeShadowRoot(), where we store the root node into a local
        RefPtr, then make the node's m_parent null, which results the
        destroy the node, at the end of the function, by RefPtr::~RefPtr.

        No new tests. No behavioral change.

        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::shadowRoot):
        (WebCore::Element::setShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):
        (WebCore::ElementRareData::~ElementRareData):

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

8 years ago2011-01-12 Martin Robinson <mrobinson@igalia.com>
mrobinson@webkit.org [Thu, 20 Jan 2011 01:03:18 +0000 (01:03 +0000)]
2011-01-12  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move text field painting out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52327

        No new tests. This should not change behavior.

        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
        (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
        of calling into the Mozilla code.
        * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
        for GTK+ theme functions.
        (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
        (WebCore::WidgetRenderingContext::gtkPaintShadow):
        * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
        * platform/gtk/gtk2drawing.c: Remove unused code.
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h:

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

8 years ago2011-01-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 20 Jan 2011 00:40:44 +0000 (00:40 +0000)]
2011-01-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Put the deprecated Connection member functions next to eachother
        https://bugs.webkit.org/show_bug.cgi?id=52767

        * Platform/CoreIPC/Connection.h:
        (CoreIPC::Connection::sendSync):
        (CoreIPC::Connection::send):

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

8 years ago2011-01-19 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Thu, 20 Jan 2011 00:35:26 +0000 (00:35 +0000)]
2011-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Remove non-spec support for callable RegExp
        https://bugs.webkit.org/show_bug.cgi?id=28285

        Update test results for new behaviour.

        * fast/js/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.3_The_typeof_Operator/S11.4.3_A3.6-expected.txt:
        * fast/js/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/S15.10.7_A1_T1-expected.txt:
        * fast/js/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/S15.10.7_A1_T2-expected.txt:
        * fast/js/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/S15.10.7_A3_T1-expected.txt:
        * fast/js/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/S15.10.7_A3_T2-expected.txt:
        * fast/loader/stateobjects/pushstate-object-types-expected.txt:
        * fast/regex/cross-frame-callable-expected.txt:
        * fast/regex/script-tests/cross-frame-callable.js:
        (doTest):
2011-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Remove non-spec support for callable RegExp
        https://bugs.webkit.org/show_bug.cgi?id=28285

        Remove support for callable regexps.  If it breaks sites we can
        just roll this out.

        * runtime/RegExpObject.cpp:
        * runtime/RegExpObject.h:
        * tests/mozilla/expected.html: update results.

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

8 years ago2011-01-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 20 Jan 2011 00:27:47 +0000 (00:27 +0000)]
2011-01-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        When resizing, the web process should repaint the page
        https://bugs.webkit.org/show_bug.cgi?id=52764

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::didSetSize):
        Incorporate the update.

        (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
        Return early if the update bounds rect is empty. This can happen if painting is
        disabled and we get a DidSetSize message.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::setSize):
        If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
        paint and fill in the UpdateInfo struct.

        (WebKit::DrawingAreaImpl::display):
        Assert that painting is not disabled.

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

8 years ago2011-01-19 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Thu, 20 Jan 2011 00:13:30 +0000 (00:13 +0000)]
2011-01-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders Carlsson.

        If resetting between tests times out, treat it as a WebProcess crash
        https://bugs.webkit.org/show_bug.cgi?id=52757

        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::runTest):

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

8 years agoCache function offsets to speed up javascript parsing
antti@apple.com [Thu, 20 Jan 2011 00:13:03 +0000 (00:13 +0000)]
Cache function offsets to speed up javascript parsing
https://bugs.webkit.org/show_bug.cgi?id=52622

Reviewed by Oliver Hunt.

Use cache to save function offsets and some other info.
This avoids quite a bit of work when reparsing the source.

Source/JavaScriptCore:

* parser/ASTBuilder.h:
* parser/JSParser.cpp:
(JSC::JSParser::CachedFunctionInfo::CachedFunctionInfo):
(JSC::JSParser::CachedFunctionInfo::approximateByteSize):
(JSC::JSParser::CachedFunctionInfo::closeBraceToken):
(JSC::JSParser::Scope::copyCapturedVariablesToVector):
(JSC::JSParser::Scope::saveFunctionInfo):
(JSC::JSParser::Scope::restoreFunctionInfo):
(JSC::JSParser::findCachedFunctionInfo):
(JSC::JSParser::JSParser):
(JSC::JSParser::parseProgram):
(JSC::JSParser::parseFunctionInfo):
* parser/Lexer.h:
(JSC::Lexer::setOffset):
(JSC::Lexer::setLineNumber):
(JSC::Lexer::sourceProvider):
* parser/SourceProvider.h:
(JSC::SourceProviderCache::SourceProviderCache):
(JSC::SourceProviderCache::~SourceProviderCache):
(JSC::SourceProviderCache::byteSize):
(JSC::SourceProviderCache::add):
(JSC::SourceProviderCache::get):
(JSC::SourceProvider::SourceProvider):
(JSC::SourceProvider::~SourceProvider):
(JSC::SourceProvider::cache):
(JSC::SourceProvider::notifyCacheSizeChanged):
(JSC::SourceProvider::cacheSizeChanged):
* parser/SyntaxChecker.h:

Source/WebCore:

* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::cache):
(WebCore::CachedScriptSourceProvider::cacheSizeChanged):
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::destroyDecodedData):
(WebCore::CachedScript::sourceProviderCache):
(WebCore::CachedScript::sourceProviderCacheSizeChanged):
* loader/cache/CachedScript.h:

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

8 years agoFollow-up to r75766 / <rdar://problem/5469576>.
mrowe@apple.com [Thu, 20 Jan 2011 00:01:08 +0000 (00:01 +0000)]
Follow-up to r75766 / <rdar://problem/5469576>.

Reviewed by Darin Adler.

* DerivedSources.make: Evaluate the SDKROOT variable correctly.

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

8 years ago2011-01-11 Martin Robinson <mrobinson@igalia.com>
mrobinson@webkit.org [Wed, 19 Jan 2011 23:45:51 +0000 (23:45 +0000)]
2011-01-11  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move toggle button rendering out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52258

        Updated results. The metrics of checkboxes and radio buttons have changed,
        because the focus rect is no longer considered to be part of the button.

        * platform/gtk/fast/css/non-standard-checkbox-size-expected.txt
        * platform/gtk/fast/forms/001-expected.txt:
        * platform/gtk/fast/forms/basic-inputs-expected.txt:
        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
        * platform/gtk/fast/forms/checkbox-radio-onchange-expected.txt:
        * platform/gtk/fast/forms/file-input-disabled-expected.txt:
        * platform/gtk/fast/forms/form-element-geometry-expected.txt:
        * platform/gtk/fast/forms/formmove-expected.txt:
        * platform/gtk/fast/forms/formmove2-expected.txt:
        * platform/gtk/fast/forms/indeterminate-expected.txt:
        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
        * platform/gtk/fast/forms/input-value-expected.txt:
        * platform/gtk/fast/forms/radio-attr-order-expected.txt:
        * platform/gtk/fast/forms/radio-nested-labels-expected.txt:
        * platform/gtk/fast/forms/radio_checked-expected.txt:
        * platform/gtk/fast/forms/radio_checked_dynamic-expected.txt:
2011-01-11  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move toggle button rendering out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52258

        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
        (WebCore::adjustRectForFocus): Added this function which inflates a rect based
        on a widget's exterior focus.
        (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
        (WebCore::setToggleSize): Only listen to indicator-size to properly size
        checkboxes and radio buttons.
        (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
        (WebCore::paintToggle): Added.
        (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
        (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
        (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
        (WebCore::RenderThemeGtk::gtkRadioButton): Added.
        (WebCore::RenderThemeGtk::gtkCheckButton): Added.
        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
        variable. This is good enough for all themes that I've tested and prevents having to
        pass information from RenderThemeGtk about every single type of widget.
        (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
        to draw instead of m_paintRect. This is important when we're painting
        something that isn't the size of the total rect.
        (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
        (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
        * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
        * platform/gtk/gtkdrawing.h: Remove newly unused code.
        * platform/gtk/gtk2drawing.c: Ditto.

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

8 years ago2011-01-19 Tony Gentilcore <tonyg@chromium.org>
tonyg@chromium.org [Wed, 19 Jan 2011 23:38:30 +0000 (23:38 +0000)]
2011-01-19  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Build fix for r76170
        https://bugs.webkit.org/show_bug.cgi?id=52758

        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:

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

8 years ago<http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
ddkilzer@apple.com [Wed, 19 Jan 2011 23:23:15 +0000 (23:23 +0000)]
<webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO

Reviewed by Eric Carlson.

* loader/FrameLoader.cpp: Declare the methods here.
(WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
(WebCore::FrameLoader::showMediaPlayerProxyPlugin):
* loader/FrameLoader.cpp: Moved methods to here...
(WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
(WebCore::FrameLoader::showMediaPlayerProxyPlugin):
* loader/SubframeLoader.cpp: ...from here.
(WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
(WebCore::FrameLoader::showMediaPlayerProxyPlugin):

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

8 years ago2011-01-19 Martin Robinson <mrobinson@igalia.com>
mrobinson@webkit.org [Wed, 19 Jan 2011 23:21:13 +0000 (23:21 +0000)]
2011-01-19  Martin Robinson  <mrobinson@igalia.com>

        Unskip a test now that the 32-bit debug bot has the 2.4 series of FreeType.

        * platform/gtk/Skipped: Unskip a test.

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

8 years ago2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 23:19:48 +0000 (23:19 +0000)]
2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76166.
        http://trac.webkit.org/changeset/76166
        https://bugs.webkit.org/show_bug.cgi?id=52755

        The platform-specific baseline should not be removed yet.
        (Requested by dglazkov on #webkit).

        * platform/chromium-win/fast/forms/slider-mouse-events-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

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

8 years ago2011-01-19 Tony Gentilcore <tonyg@chromium.org>
tonyg@chromium.org [Wed, 19 Jan 2011 23:13:26 +0000 (23:13 +0000)]
2011-01-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Mihai Parparita.

        Perform some forward declaration
        https://bugs.webkit.org/show_bug.cgi?id=52522

        No new tests because no new functionality.

        * accessibility/AccessibilityObject.h:
        * css/WebKitCSSMatrix.cpp:
        * html/HTMLAreaElement.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * inspector/InspectorController.cpp:
        * platform/graphics/FloatPoint.cpp:
        * platform/graphics/Font.cpp:
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/StringTruncator.cpp:
        * platform/graphics/WidthIterator.cpp:
        * platform/graphics/mac/ComplexTextController.cpp:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        * platform/graphics/mac/FontComplexTextMac.cpp:
        * platform/graphics/transforms/TransformationMatrix.cpp:
        * platform/graphics/transforms/TransformationMatrix.h:
        * rendering/EllipsisBox.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        * rendering/RenderEmbeddedObject.cpp:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderText.cpp:
        * rendering/RenderTextControl.cpp:
        * rendering/svg/SVGInlineTextBox.cpp:
        * rendering/svg/SVGMarkerLayoutInfo.h:
        * rendering/svg/SVGTextMetrics.cpp:
        * svg/SVGFont.cpp:
2011-01-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Mihai Parparita.

        Perform some forward declaration
        https://bugs.webkit.org/show_bug.cgi?id=52522

        * Misc/WebKitNSStringExtras.mm:

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

8 years ago2011-01-19 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Wed, 19 Jan 2011 23:12:26 +0000 (23:12 +0000)]
2011-01-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders Carlsson.

        Skip/fix remaining WebKit2 test failures
        https://bugs.webkit.org/show_bug.cgi?id=52744

        * platform/mac-wk2/fast/blockflow/Kusa-Makura-background-canvas-expected.txt: Added WebKit2 mac results.
        It turns out that WebKit1 on Mac is the only port to report a scroll position other than 0, 0 for this
        test, so the WebKit2 results are arguably more correct.
        * platform/mac-wk2/fast/blockflow: Added.
        * platform/mac-wk2/fast: Added.
        * platform/mac-wk2/Skipped: Skip a few more tests. (And unskip in some cases where the failures
        were caused by other tests.)

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

8 years ago2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
dimich@chromium.org [Wed, 19 Jan 2011 22:53:12 +0000 (22:53 +0000)]
2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76152.
        http://trac.webkit.org/changeset/76152
        https://bugs.webkit.org/show_bug.cgi?id=52750

        The original change (76144) was rolled out before (Requested
        by dimich on #webkit).

        * platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/gtk/fast/forms/plaintext-mode-2-expected.txt:

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

8 years ago Reviewed by Darin Adler.
ap@apple.com [Wed, 19 Jan 2011 22:45:56 +0000 (22:45 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=52739
        Make it possible for a WebKit2 client to print headers and footers

        * UIProcess/API/C/WKPage.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::headerHeight):
        (WebKit::WebPageProxy::footerHeight):
        (WebKit::WebPageProxy::drawHeader):
        (WebKit::WebPageProxy::drawFooter):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::headerHeight):
        (WebKit::WebUIClient::footerHeight):
        (WebKit::WebUIClient::drawHeader):
        (WebKit::WebUIClient::drawFooter):
        * UIProcess/WebUIClient.h:
        Pass UIClient calls through.

        * UIProcess/API/mac/WKView.mm:
        (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
        (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
        print info to account for header and footer height as provided by the client.
        (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
        (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
        to do that. Code adapted form WebKit1.

        * UIProcess/API/qt/qwkpage:
        (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.

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

8 years ago2011-01-19 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Wed, 19 Jan 2011 22:45:33 +0000 (22:45 +0000)]
2011-01-19  Dimitri Glazkov  <dglazkov@chromium.org>

        Removed platform-specific expectations for the test that matches
        generic baseline after http://trac.webkit.org/changeset/76147.

        * platform/chromium-win/fast/forms/slider-mouse-events-expected.txt: Removed.
        * platform/chromium/test_expectations.txt: Removed expectation to fail.

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

8 years ago2011-01-19 Adrienne Walker <enne@google.com>
enne@google.com [Wed, 19 Jan 2011 22:29:13 +0000 (22:29 +0000)]
2011-01-19  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Tiled compositor should use texture manager
        https://bugs.webkit.org/show_bug.cgi?id=52418

        Test: compositing/

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::reset):
        (WebCore::LayerTilerChromium::createTile):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::draw):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::Tile::Tile):
        (WebCore::LayerTilerChromium::Tile::texture):

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

8 years ago2011-01-19 Stephen White <senorblanco@chromium.org>
senorblanco@chromium.org [Wed, 19 Jan 2011 22:28:39 +0000 (22:28 +0000)]
2011-01-19  Stephen White  <senorblanco@chromium.org>

        Unreviewed; build fix for chromium.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::fillPath):

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

8 years agoCrash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
jberlin@webkit.org [Wed, 19 Jan 2011 22:26:45 +0000 (22:26 +0000)]
Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
died at least once
https://bugs.webkit.org/show_bug.cgi?id=52730

Reviewed by Darin Adler.

WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
called in WebContext::processDidClose. However, m_webContext is only set in the
constructor, which is only called from the constructor of WebContext, so attempting to send
a message to any new WebProcess after the first one died was causing a null deref.

This patch moves setting m_webcontext into clearContext and clearContext is only called in
the WebContext destructor.

This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
attempt to dereference a null WebProcessProxy.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::~WebContext):
Call WebDatabaseManagerProxy::clearContext.
* UIProcess/WebContext.h:
(WebKit::WebContext::hasValidProcess):
Make this method public so that it can be called from WebDatabaseManagerProxy.

* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
If there isn't a valid process, invalidate the callback and return early.
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
Ditto.
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
If tehre isn't a valid process return early.
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
Ditto.
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
Ditto.
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
Ditto.
(WebKit::WebDatabaseManagerProxy::invalidate):
Move setting m_webContext to 0 from here ...
* UIProcess/WebDatabaseManagerProxy.h:
(WebKit::WebDatabaseManagerProxy::clearContext):
... to here.

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

8 years ago2011-01-19 Tony Chang <tony@chromium.org>
tony@chromium.org [Wed, 19 Jan 2011 22:17:24 +0000 (22:17 +0000)]
2011-01-19  Tony Chang  <tony@chromium.org>

        Unreviewed, roll chromium deps to pick up fixes for the linux build.

        * DEPS:

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

8 years ago2011-01-19 Robert Hogan <robert@webkit.org>
robert@webkit.org [Wed, 19 Jan 2011 22:14:45 +0000 (22:14 +0000)]
2011-01-19  Robert Hogan  <robert@webkit.org>

        Unreviewed fix to r76153.

        [Qt] Update expected results after r76153

        Update missing expected results from r76153. Matches Mac.
        Re-skip http/tests/misc/timer-vs-loading.html - it still times
        out on the build bot.

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

        * platform/qt/Skipped:
        * platform/qt/http/tests/loading/simple-subframe-expected.txt:

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Wed, 19 Jan 2011 22:12:20 +0000 (22:12 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Ojan Vafai.

        Change webkitpy/layout_tests/port/test.py to use the
        in-memory filesystem for cleaner unit testing. This
        change allows us to kill a lot of code that was
        specific to the test port, at the cost of being a
        little less clear about how things would work if
        you didn't have a filesystem.

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

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

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

8 years ago2011-01-18 Stephen White <senorblanco@chromium.org>
senorblanco@chromium.org [Wed, 19 Jan 2011 22:11:32 +0000 (22:11 +0000)]
2011-01-18  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Add two to-be-rebaselined tests for the GPU path.

        * platform/chromium-gpu/test_expectations.txt:
2011-01-18  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Implement accelerated path drawing and clipping for the Canvas2D GPU
        path.
        https://bugs.webkit.org/show_bug.cgi?id=52627

        This is done with a simple curve interpolator and the GLU tesselator,
        which is good enough for a 3-5X speedup on
        http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.

        Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
        All tests canvas/philip and fast/canvas paths pass with no
        regressions, although two have minor pixel differences which require
        rebaselining.

        * WebCore.gyp/WebCore.gyp:
        Add internal_glu include path to chromium build.
        * WebCore.gypi:
        Add internal_glu files to chromium build.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        Make CanvasRenderingContext2D more robust against failure to create
        a DrawingBuffer.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        As in DrawingBufferMac.cpp, call reset() from the constructor.
        Also initialize size to (-1, -1), so reset() doesn't early-out.
        Add initializers for depthBuffer and stencilBuffer, and remove
        multisampleDepthStencilBuffer.
        * platform/graphics/chromium/GLES2Canvas.cpp:
        Remove some unused #includes.
        (WebCore::GLES2Canvas::State::State):
        Add clipping state, and implement save/restore via the copy constructor.
        (WebCore::operator*):
        (WebCore::Quadratic::Quadratic):
        (WebCore::Quadratic::fromBezier):
        (WebCore::Quadratic::evaluate):
        Quadratic Bezier curve class.
        (WebCore::Cubic::Cubic):
        (WebCore::Cubic::fromBezier):
        (WebCore::Cubic::evaluate):
        Cubic Bezier curve class.
        (WebCore::GLES2Canvas::clearRect):
        Add clipping support to clearRect().
        (WebCore::GLES2Canvas::fillPath):
        Implement fillPath().
        (WebCore::GLES2Canvas::fillRect):
        Add clipping support to fillRect().
        (WebCore::GLES2Canvas::clipPath):
        Implement clipPath().
        (WebCore::GLES2Canvas::clipOut):
        Stub out clipOut() (not called by Canvas 2D).
        (WebCore::GLES2Canvas::restore):
        When restoring, draw any remaining clipping paths to the stencil buffer.
        (WebCore::GLES2Canvas::drawTexturedRect):
        Add clipping support.
        (WebCore::interpolateQuadratic):
        (WebCore::interpolateCubic):
        Simple curve interpolation, using the Cubic and Quadratic classes.
        (WebCore::PolygonData::PolygonData):
        A struct to hold the tesselation data for callbacks.
        (WebCore::beginData):
        (WebCore::edgeFlagData):
        (WebCore::vertexData):
        (WebCore::endData):
        (WebCore::combineData):
        internal_glu tesselation callbacks.
        (WebCore::GLES2Canvas::createVertexBufferFromPath):
        Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
        (WebCore::GLES2Canvas::beginStencilDraw):
        Enable stencilling, and disable draws to the color buffer.
        (WebCore::GLES2Canvas::applyClipping):
        If clipping is enabled, set the appropriate GL state.
        * platform/graphics/chromium/GLES2Canvas.h:
        Document the flavours of drawTexturedRect() a bit, so I don't get confused.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::createSecondaryBuffers):
        (WebCore::DrawingBuffer::resizeDepthStencil):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:
        Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer.
        Implement separate depth and stencil buffers for when
        OES_packed_depth_stencil is not available.  Refactor creation of
        multisampled and non-multisampled depth and stencil buffers into
        resizeDepthStencil().
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        Turn on stencil, turn off depth, turn off antialiasing (for now).
        (WebCore::SharedGraphicsContext3D::enableStencil):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        Implement stencil enable/disable.
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
        on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
        and m_stencilBuffer.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        Put in GPU hooks for path clipping, and path drawing.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::canAccelerate):
        Don't check for clipping paths in canAccelerate() (since we can
        now accelerate them).
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        Don't do clipping when uploading software draws to hardware.
        * thirdparty/glu/README.webkit:
        * thirdparty/glu/gluos.h:
        #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
        * thirdparty/glu/libtess/geom.c:
        * thirdparty/glu/libtess/priorityq.c:
        * thirdparty/glu/libtess/render.c:
        Use do{}while(0) instead of if(1)else construct in macro.
        * thirdparty/glu/libtess/sweep.c:
        (IsWindingInside):
        (DoneEdgeDict):
        Fix some warnings treated as errors for the Linux Release build.

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Wed, 19 Jan 2011 22:04:19 +0000 (22:04 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, build fix.

        Fix test failure caused by committing attachment 79368 instead
        of attachment 79461 on bug 52604.

        * Scripts/webkitpy/common/system/filesystem_mock.py:

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

8 years ago2011-01-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 19 Jan 2011 21:56:58 +0000 (21:56 +0000)]
2011-01-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Suspend/resume painting as the WKView visibility changes
        https://bugs.webkit.org/show_bug.cgi?id=52738

        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::visibilityDidChange):
        Add new member function. It should really be pure virtual once setPageIsVisible
        is removed.

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
        Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.

        (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
        Make this a stub; it should really be removed.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
        Call visibilityDidChange.

        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::isViewVisible):
        Add new getter.

        * WebProcess/WebPage/DrawingArea.messages.in:
        Add SuspendPainting and ResumePainting messages.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
        Initialize m_isPaintingSuspended.

        (WebKit::DrawingAreaImpl::suspendPainting):
        Set m_isPaintingSuspended to true and stop the display timer.

        (WebKit::DrawingAreaImpl::resumePainting):
        Set m_isPaintingSuspended to false.

        (WebKit::DrawingAreaImpl::scheduleDisplay):
        (WebKit::DrawingAreaImpl::display):
        Bail if m_isPaintingSuspended is true.

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

8 years ago2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
dimich@chromium.org [Wed, 19 Jan 2011 21:48:39 +0000 (21:48 +0000)]
2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76144.
        http://trac.webkit.org/changeset/76144
        https://bugs.webkit.org/show_bug.cgi?id=52737

        Broke tests on multiple bots, mostly Chromium Canaries
        (Requested by dimich on #webkit).

        * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Removed.
        * editing/selection/resources/iframe-positioning-caret-at-end.html: Removed.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Removed.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Removed.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Removed.
2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76144.
        http://trac.webkit.org/changeset/76144
        https://bugs.webkit.org/show_bug.cgi?id=52737

        Broke tests on multiple bots, mostly Chromium Canaries
        (Requested by dimich on #webkit).

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Wed, 19 Jan 2011 21:30:09 +0000 (21:30 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Mihai Parparita.

        new-run-webkit-tests: remove use of os.walk, use mock filesystem for better
        unit testing. os.walk() is too much of a hassle to implement on
        top of the in-memory mock filesystem and adding the necessary
        interface to files_under() gives clients a cleaner API anyway
        (for this particular usage model).

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

        * Scripts/webkitpy/common/system/filesystem.py:
        * Scripts/webkitpy/common/system/filesystem_mock.py:
        * Scripts/webkitpy/layout_tests/port/test_files.py:
        * Scripts/webkitpy/layout_tests/port/test_files_unittest.py:

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

8 years ago2011-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 19 Jan 2011 21:29:01 +0000 (21:29 +0000)]
2011-01-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
        https://bugs.webkit.org/show_bug.cgi?id=52732

        When repeating gradient stops, make sure that the first and last stops are not at the same
        place, otherwise we'll add stops indefinitely and run out of memory.

        Test: fast/gradients/zero-range-repeating-gradient-hang.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):

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

8 years ago2011-01-19 Robert Hogan <robert@webkit.org>
robert@webkit.org [Wed, 19 Jan 2011 21:25:05 +0000 (21:25 +0000)]
2011-01-19  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Unskip passing http tests and annotate Skipped list
        https://bugs.webkit.org/show_bug.cgi?id=52395

        Unskip:
        http/tests/security/xss-DENIED-xsl-document.xml
        http/tests/loading/simple-subframe.html

        * platform/qt/Skipped:
        * platform/qt/http/tests/loading/simple-subframe-expected.txt:

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

8 years ago2011-01-19 Martin Robinson <mrobinson@igalia.com>
mrobinson@webkit.org [Wed, 19 Jan 2011 21:15:56 +0000 (21:15 +0000)]
2011-01-19  Martin Robinson  <mrobinson@igalia.com>

        Rebaseline two GTK+ tests results after r76144.

        * platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/gtk/fast/forms/plaintext-mode-2-expected.txt:

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

8 years ago2011-01-19 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Wed, 19 Jan 2011 21:10:36 +0000 (21:10 +0000)]
2011-01-19  Dimitri Glazkov  <dglazkov@chromium.org>

        Added fast/forms/slider-mouse-events.html to expectations to make sure
        the new results are good on all bots.

        * platform/chromium/test_expectations.txt: Tweaked expectations.

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

8 years ago2011-01-19 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Wed, 19 Jan 2011 20:28:45 +0000 (20:28 +0000)]
2011-01-19  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Tony Chang.

        Change more modules in the layout-tests code to use the
        filesystem wrapper for cleaner unit testing.

        This patch also adds the glob() wrapper to the filesystem
        abstraction.

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

        * Scripts/webkitpy/layout_tests/port/test_files.py:
        * Scripts/webkitpy/layout_tests/port/test_files_unittest.py:
        * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
        * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
        * Scripts/webkitpy/common/system/filesystem.py:
        * Scripts/webkitpy/common/system/filesystem_mock.py:

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

8 years ago2011-01-19 Andreas Kling <kling@webkit.org>
andreas.kling@nokia.com [Wed, 19 Jan 2011 20:19:35 +0000 (20:19 +0000)]
2011-01-19  Andreas Kling  <kling@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt][WK2] Implement formatLocalizedString() for Qt.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::formatLocalizedString):

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

8 years ago2011-01-19 Oliver Hunt <oliver@apple.com>
oliver@apple.com [Wed, 19 Jan 2011 20:18:57 +0000 (20:18 +0000)]
2011-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [jsfunfuzz] Defining a function called __proto__ inside an eval triggers an assertion
        https://bugs.webkit.org/show_bug.cgi?id=52672

        Add tests to ensure that we disallow __proto__ as a function name.

        * fast/js/parser-syntax-check-expected.txt:
        * fast/js/script-tests/parser-syntax-check.js:
2011-01-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [jsfunfuzz] Defining a function called __proto__ inside an eval triggers an assertion
        https://bugs.webkit.org/show_bug.cgi?id=52672

        Rather than coming up with a somewhat convoluted mechanism to ensure that
        developers can override the global objects prototype with a function named
        __proto__ and expect it to work, we just disallow it at the syntax level.

        * parser/JSParser.cpp:
        (JSC::JSParser::parseFunctionInfo):

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

8 years ago2011-01-14 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Wed, 19 Jan 2011 20:17:17 +0000 (20:17 +0000)]
2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
        https://bugs.webkit.org/show_bug.cgi?id=52464

        This change has two parts:

        1) Utilize shadow DOM event retargeting to get rid of forwarding events
           via render tree;
        2) Move thumb positioning logic from RenderSlider to SliderThumbElement.

        These two are highly co-dependent. It looked ugly when I tried to
        separate them.

        No change in behavior, covered by existing tests.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
            InputType::handleMouseDownEvent.
        * html/InputType.cpp:
        (WebCore::InputType::handleMouseDownEvent): Added empty decl.
        * html/InputType.h: Added def.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
            when the user clicks on the track of the slider. Also removed the
            forwardEvent method.
        * html/RangeInputType.h: Added/removed defs.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
            dragging from any position.
        (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
            specified position.
        (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
            logic in RenderSlider into this method, which is now a simple calculation
            and adjusting of thumb position based on supplied coordinates.
        (WebCore::SliderThumbElement::startDragging): Added.
        (WebCore::SliderThumbElement::stopDragging): Added.
        (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
            old position-sniffing logic and replaced with simple calls to start,
            stop, and drag the thumb.
        * html/shadow/SliderThumbElement.h: Added defs.
        * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
            necessary.
        * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.

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

8 years ago2011-01-19 Shane Stephens <shanestephens@google.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 20:10:07 +0000 (20:10 +0000)]
2011-01-19  Shane Stephens  <shanestephens@google.com>

        Reviewed by Chris Marrin.

        Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
        https://bugs.webkit.org/show_bug.cgi?id=48031

        Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
        operator*= usage and switched operand order.

        No new tests as this refactor doesn't add functionality.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::baseTransform):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::transform):
        (WebCore::CanvasRenderingContext2D::setTransform):
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::concatCTM):
        (WebCore::GLES2Canvas::drawQuad):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
        (WebCore::TransparencyWin::setupTransformForKeepTransform):
        * platform/graphics/transforms/AffineTransform.cpp:
        (WebCore::AffineTransform::multiply):
        (WebCore::AffineTransform::rotate):
        * platform/graphics/transforms/AffineTransform.h:
        (WebCore::AffineTransform::operator*=):
        (WebCore::AffineTransform::operator*):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::drawPattern):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::clipToTextMask):
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::computeCTM):
        (WebCore::SVGLocatable::getTransformToElement):
        * svg/SVGMatrix.h:
        (WebCore::SVGMatrix::multiply):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
        (WebCore::SVGSVGElement::viewBoxToViewTransform):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::animatedLocalTransform):
        * svg/SVGTransformList.cpp:
        (WebCore::SVGTransformList::concatenate):

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

8 years ago2011-01-19 Chang Shu <chang.shu@nokia.com>
chang.shu@nokia.com [Wed, 19 Jan 2011 19:31:36 +0000 (19:31 +0000)]
2011-01-19  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=52056
        1. Fixed test cases in the above bug;
        2. Partially fixed test cases in other contentEditable bugs;
        3. Updated expected result for fast/dom/element-attribute-js-null.html.
           However, the test itself should be fixed later in bug 52057.

        * editing/editability/attr-invalid-string-expected.txt:
        * editing/editability/attr-invalid-string.html:
        * editing/editability/attr-missing-ancestor-false-expected.txt:
        * editing/editability/attr-missing-ancestor-false.html:
        * editing/editability/attr-missing-ancestor-true-expected.txt:
        * editing/editability/attr-missing-ancestor-true.html:
        * editing/editability/attr-missing-parent-ancestor-missing-expected.txt:
        * editing/editability/attr-missing-parent-ancestor-missing.html:
        * editing/editability/attr-missing-parent-false-expected.txt:
        * editing/editability/attr-missing-parent-false.html:
        * editing/editability/attr-missing-parent-true-expected.txt:
        * editing/editability/attr-missing-parent-true.html:
        * editing/editability/set-false-expected.txt:
        * editing/editability/set-inherit-parent-false-expected.txt:
        * editing/editability/set-inherit-parent-true-expected.txt:
        * editing/editability/set-invalid-value-expected.txt:
        * editing/editability/set-true-expected.txt:
        * editing/editability/set-value-caseinsensitive-expected.txt:
        * fast/dom/element-attribute-js-null-expected.txt:
2011-01-19  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Adler.

        The return value of contentEditable() function should depend on the DOM attribute
        instead of render style userModify. The code change fixed test cases in the bug
        and partially fixed test cases in other contentEditable bugs;

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

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::contentEditable):

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

8 years ago2011-01-19 Levi Weintraub <leviw@chromium.org>
leviw@chromium.org [Wed, 19 Jan 2011 19:27:10 +0000 (19:27 +0000)]
2011-01-19  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        * editing/selection/caret-painting-in-overflowing-autowrap-content.html: Added.
        * editing/selection/resources/iframe-positioning-caret-at-end.html: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.checksum: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.png: Added.
        * platform/mac/editing/selection/caret-painting-in-overflowing-autowrap-content-expected.txt: Added.
2011-01-19  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

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

8 years ago2011-01-19 Chris Marrin <cmarrin@apple.com>
andersca@apple.com [Wed, 19 Jan 2011 19:26:55 +0000 (19:26 +0000)]
2011-01-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
        https://bugs.webkit.org/show_bug.cgi?id=52695

        Added a hostingLayer as the parent of the existing drawingLayer.
        The hostingLayer is now the root which is passed to the
        remote context. It never changes except to track the size
        of the window. The backingLayer is now a child of the
        hostingLayer, which allow it to switch between tiled and
        non-tiled.

        I also now give back accurate settings for debug borders and
        repaint counters.

        * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
        (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
        (WebKit::LayerBackedDrawingArea::setSize):
        (WebKit::LayerBackedDrawingArea::showDebugBorders):
        (WebKit::LayerBackedDrawingArea::showRepaintCounter):
        * WebProcess/WebPage/LayerBackedDrawingArea.h:
        * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
        (WebKit::LayerBackedDrawingArea::platformInit):
        (WebKit::LayerBackedDrawingArea::attachCompositingContext):
        (WebKit::LayerBackedDrawingArea::syncCompositingLayers):

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

8 years ago2011-01-19 Chris Marrin <cmarrin@apple.com>
cmarrin@apple.com [Wed, 19 Jan 2011 19:17:01 +0000 (19:17 +0000)]
2011-01-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
        https://bugs.webkit.org/show_bug.cgi?id=52695

        Added a hostingLayer as the parent of the existing drawingLayer.
        The hostingLayer is now the root which is passed to the
        remote context. It never changes except to track the size
        of the window. The backingLayer is now a child of the
        hostingLayer, which allow it to switch between tiled and
        non-tiled.

        I also now give back accurate settings for debug borders and
        repaint counters.

        * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
        (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
        (WebKit::LayerBackedDrawingArea::setSize):
        (WebKit::LayerBackedDrawingArea::showDebugBorders):
        (WebKit::LayerBackedDrawingArea::showRepaintCounter):
        * WebProcess/WebPage/LayerBackedDrawingArea.h:
        * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
        (WebKit::LayerBackedDrawingArea::platformInit):
        (WebKit::LayerBackedDrawingArea::attachCompositingContext):
        (WebKit::LayerBackedDrawingArea::syncCompositingLayers):

2011-01-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
        https://bugs.webkit.org/show_bug.cgi?id=52695

        Added ASSERTs to the places we assume a non-null superlayer.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

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

8 years agoFix for <rdar://problem/8882916> Overlay scrollers require
bdakin@apple.com [Wed, 19 Jan 2011 18:49:35 +0000 (18:49 +0000)]
Fix for <rdar://problem/8882916> Overlay scrollers require
content to layout underneath the scrollbar area

Reviewed by Maciej Stachowiak.

The render tree should not include scrollbar size for
overlay scrollers. This patch will allow scrollers on
the WebView to behave like overflow:overlay.

Treat overlay scrollers the same way as the !includeScrollbars
case.
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):

No corner rect for overlay scrollers.
(WebCore::ScrollView::scrollCornerRect):

usesOverlayScrollbars() currently always returns no.
* platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::usesOverlayScrollbars):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):

includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
should return false for overlay scrollers. They already return
false for overflow:overlay.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::includeVerticalScrollbarSize):
(WebCore::RenderBox::includeHorizontalScrollbarSize):
* rendering/RenderBox.h:

In the render tree, always treat overlay scrollers like
they have a width and height of 0.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::verticalScrollbarWidth):
(WebCore::RenderLayer::horizontalScrollbarHeight):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::verticalScrollbarWidth):

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

8 years ago2011-01-19 Levi Weintraub <leviw@chromium.org>
leviw@chromium.org [Wed, 19 Jan 2011 18:43:53 +0000 (18:43 +0000)]
2011-01-19  Levi Weintraub  <leviw@chromium.org>

        Unreviewed.

        Updating my email addresses and irc nick.

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

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

8 years ago2011-01-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 19 Jan 2011 18:36:46 +0000 (18:36 +0000)]
2011-01-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Throttle sending of SetSize messages
        https://bugs.webkit.org/show_bug.cgi?id=52727

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
        Initialize m_isWaitingForDidSetSize to false.

        (WebKit::DrawingAreaProxyImpl::didSetSize):
        Null out the backing store.

        (WebKit::DrawingAreaProxyImpl::sendSetSize):
        If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
        to true and send a SetSize message.

        * UIProcess/DrawingAreaProxyImpl.h:
        Add m_isWaitingForDidSetSize.

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

8 years agoUpdate Windows expected results after r76115.
bweinstein@apple.com [Wed, 19 Jan 2011 18:34:14 +0000 (18:34 +0000)]
Update Windows expected results after r76115.

* platform/win/fast/dom/Window/window-property-descriptors-expected.txt:

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

8 years ago2011-01-18 Evan Martin <evan@chromium.org>
evan@chromium.org [Wed, 19 Jan 2011 18:29:15 +0000 (18:29 +0000)]
2011-01-18  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] simplify complex text code, fixing a handful of layout tests
        https://bugs.webkit.org/show_bug.cgi?id=52661

        * platform/chromium/test_expectations.txt: Mark 11 tests as expected to pass.
2011-01-18  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] simplify complex text code, fixing a handful of layout tests
        https://bugs.webkit.org/show_bug.cgi?id=52661

        Change ComplexTextControllerLinux to lay out RTL text to the left from
        the starting point.  (Previously it always went to the right.)  This allows
        us to map pixel offsets more directly into offsets within the text runs,
        simplifying a few of the text-fiddling functions (they no longer need to
        track the current position, as ComplexTextController now does it).

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::reset):
        (WebCore::ComplexTextController::setGlyphXPositions):
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        (WebCore::ComplexTextController::offsetX):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):

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

8 years ago2011-01-19 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Wed, 19 Jan 2011 18:27:55 +0000 (18:27 +0000)]
2011-01-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move methods from InjectedScript domain into DOM,
        Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
        https://bugs.webkit.org/show_bug.cgi?id=52717

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getCompletions):
        (WebCore::InjectedScript::getCompletionsOnCallFrame):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptSource.js:
        (.):
        ():
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getNodeProperties):
        (WebCore::InspectorDOMAgent::getNodePrototypes):
        (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
        * inspector/InspectorDOMAgent.h:
        (WebCore::EventListenerInfo::EventListenerInfo):
        (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
        (WebCore::InspectorDOMAgent::create):
        (WebCore::InspectorDOMAgent::cast):
        (WebCore::InspectorDOMAgent::documents):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
        (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp: Added.
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::getCompletions):
        (WebCore::InspectorRuntimeAgent::getProperties):
        (WebCore::InspectorRuntimeAgent::setPropertyValue):
        (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
        (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
        * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
        (WebCore::InspectorRuntimeAgent::create):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):

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

8 years ago2011-01-19 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 19 Jan 2011 18:18:00 +0000 (18:18 +0000)]
2011-01-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Pass WebPageCreationParameters to DrawingArea::create
        https://bugs.webkit.org/show_bug.cgi?id=52726

        * WebProcess/WebPage/DrawingArea.cpp:
        (WebKit::DrawingArea::create):
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::create):
        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::changeAcceleratedCompositingMode):

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

8 years ago2011-01-19 Tony Chang <tony@chromium.org>
tony@chromium.org [Wed, 19 Jan 2011 18:14:29 +0000 (18:14 +0000)]
2011-01-19  Tony Chang  <tony@chromium.org>

        Reviewed by Mihai Parparita.

        [chromium] [linux] if check-sys-deps fails, output the failure reason
        https://bugs.webkit.org/show_bug.cgi?id=52671

        * Scripts/webkitpy/common/system/executive_mock.py: Add support for
            error handler functions.
        * Scripts/webkitpy/layout_tests/port/chromium.py:
            output the error text from --check-sys-deps
        * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:

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

8 years ago2011-01-19 Michael Saboff <msaboff@apple.com>
msaboff@apple.com [Wed, 19 Jan 2011 17:58:15 +0000 (17:58 +0000)]
2011-01-19  Michael Saboff  <msaboff@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8882994> Regression: Simple nested backtrack hangs
        https://bugs.webkit.org/show_bug.cgi?id=52675

        The changeset (r76076) for https://bugs.webkit.org/show_bug.cgi?id=52540
        broke simple backtracking in some cases.  Reworked that change to
        link both jumps and labels.

        * yarr/YarrJIT.cpp:
        (JSC::Yarr::YarrGenerator::BacktrackDestination::hasBacktrackToLabel):
        (JSC::Yarr::YarrGenerator::TermGenerationState::propagateBacktrackingFrom):
        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
2011-01-19  Michael Saboff  <msaboff@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8882994> Regression: Simple nested backtrack hangs
        https://bugs.webkit.org/show_bug.cgi?id=52675

        New tests to support change.

        * fast/regex/parentheses-expected.txt:
        * fast/regex/script-tests/parentheses.js:

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

8 years ago2011-01-18 Pavel Podivilov <podivilov@chromium.org>
podivilov@chromium.org [Wed, 19 Jan 2011 17:57:36 +0000 (17:57 +0000)]
2011-01-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add UglifyJS parser and formatter files
        https://bugs.webkit.org/show_bug.cgi?id=51702

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.positionToLocation):
        (WebInspector.ScriptFormatter.prototype.format.messageHandler):
        (WebInspector.ScriptFormatter.prototype.format):
        (WebInspector.ScriptFormatter.prototype._buildMapping):
        (WebInspector.ScriptFormatter.prototype._convertPosition):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.formatSource.didFormat):
        (WebInspector.SourceFrame.prototype.formatSource):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/parse-js.js: Added. UglifyJS parser.
        * inspector/front-end/process.js: Added. UglifyJS formatter.
        * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
        (onmessage):
        (beautify):
        (loadModule):
        (require):
        * inspector/front-end/utilities.js:
        ():

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

8 years agoUnreviewed.
ossy@webkit.org [Wed, 19 Jan 2011 17:48:14 +0000 (17:48 +0000)]
Unreviewed.

Add Qt specific expected result for a new test introduced in r76074.
Compared to Mac png files and Mac expected files.

* platform/qt/fast/block/float/float-overflow-hidden-containing-block-width-expected.checksum: Added.
* platform/qt/fast/block/float/float-overflow-hidden-containing-block-width-expected.png: Added.
* platform/qt/fast/block/float/float-overflow-hidden-containing-block-width-expected.txt: Added.

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

8 years ago2011-01-19 Joone Hur <joone.hur@collabora.co.uk>
commit-queue@webkit.org [Wed, 19 Jan 2011 17:47:54 +0000 (17:47 +0000)]
2011-01-19  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Andreas Kling.

        [GTK] No need to invalidate empty areas in ChromeClient::invalidateContentsAndWindow
        https://bugs.webkit.org/show_bug.cgi?id=52702

        Don't call gdk_window_invalidate_rect if an updated rectangle is empty.

        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::invalidateContentsAndWindow):

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

8 years ago2011-01-19 Pavel Podivilov <podivilov@chromium.org>
podivilov@chromium.org [Wed, 19 Jan 2011 17:01:12 +0000 (17:01 +0000)]
2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
        https://bugs.webkit.org/show_bug.cgi?id=52721

        * inspector/debugger-scripts-expected.txt: Added.
        * inspector/debugger-scripts.html: Added.
2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
        https://bugs.webkit.org/show_bug.cgi?id=52721

        * debugger/Debugger.cpp:
        (JSC::Debugger::recompileAllJSFunctions):
        * debugger/Debugger.h:
        * parser/Parser.h:
        (JSC::Parser::parse):
        * parser/SourceCode.h:
        (JSC::SourceCode::SourceCode):
        * parser/SourceProvider.h:
        (JSC::SourceProvider::startPosition):
2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
        https://bugs.webkit.org/show_bug.cgi?id=52721

        Test: inspector/debugger-scripts.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
        (WebCore::ScriptDebugServer::sourceParsed):
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::create):
        (WebCore::StringSourceProvider::startPosition):
        (WebCore::StringSourceProvider::StringSourceProvider):
2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
        https://bugs.webkit.org/show_bug.cgi?id=52721

        * WebView/WebScriptDebugger.h:
        * WebView/WebScriptDebugger.mm:
        (toNSString):
        (WebScriptDebugger::sourceParsed):

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

8 years ago2011-01-19 Satish Sampath <satish@chromium.org>
satish@chromium.org [Wed, 19 Jan 2011 16:41:41 +0000 (16:41 +0000)]
2011-01-19  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Send origin/url as part of speech input requests to the embedder.
        https://bugs.webkit.org/show_bug.cgi?id=52718

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
2011-01-19  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Send origin/url as part of speech input requests to the embedder.
        https://bugs.webkit.org/show_bug.cgi?id=52718

        * public/WebSpeechInputController.h:
        (WebKit::WebSpeechInputController::startRecognition): Updated prototype.
        * src/SpeechInputClientImpl.cpp:
        (WebKit::SpeechInputClientImpl::startRecognition): Pass up additional origin parameter.
        * src/SpeechInputClientImpl.h:
        * src/WebSpeechInputControllerMockImpl.cpp: Updated code to pass additional parameter.
        (WebKit::WebSpeechInputControllerMockImpl::startRecognition):
        * src/WebSpeechInputControllerMockImpl.h: Added new variant of startRecognition method.

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

8 years ago2011-01-19 Jeremy Orlow <jorlow@chromium.org>
jorlow@chromium.org [Wed, 19 Jan 2011 16:27:31 +0000 (16:27 +0000)]
2011-01-19  Jeremy Orlow  <jorlow@chromium.org>

        This test changed slightly, so rebaseline it.  The offsets seem off
        but they have been for as long as the files have been upstream so it's
        likely a known issue.

        * platform/chromium-win/fast/events/offsetX-offsetY-expected.txt:
        * platform/chromium/test_expectations.txt:

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

8 years ago2011-01-19 Hans Wennborg <hans@chromium.org>
hans@chromium.org [Wed, 19 Jan 2011 16:24:05 +0000 (16:24 +0000)]
2011-01-19  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Support auto-increment keys
        https://bugs.webkit.org/show_bug.cgi?id=52576

        Add layout test for auto increment keys.
        Update previous test not to consider auto increment an error.

        * storage/indexeddb/create-object-store-options-expected.txt:
        * storage/indexeddb/create-object-store-options.html:
        * storage/indexeddb/objectstore-autoincrement-expected.txt: Added.
        * storage/indexeddb/objectstore-autoincrement.html: Added.
2011-01-19  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Support auto-increment keys
        https://bugs.webkit.org/show_bug.cgi?id=52576

        Add support for auto-increment keys.

        Test: storage/indexeddb/objectstore-autoincrement.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::genAutoIncrementKey):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):

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

8 years agoUnreviewed.
ossy@webkit.org [Wed, 19 Jan 2011 14:42:12 +0000 (14:42 +0000)]
Unreviewed.

Update Qt specific expected files after r76115.

* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:

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

8 years ago2011-01-19 Joseph Pecoraro <joepeck@webkit.org>
joepeck@webkit.org [Wed, 19 Jan 2011 14:39:43 +0000 (14:39 +0000)]
2011-01-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Simon Fraser.

        Update Test Now that Bug is Fixed
        https://bugs.webkit.org/show_bug.cgi?id=52677

        * fast/events/offsetX-offsetY-expected.txt: one more PASS line.
        * fast/events/offsetX-offsetY.html: uncomment and update hit-test location.

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

8 years ago2011-01-19 Jeremy Orlow <jorlow@chromium.org>
jorlow@chromium.org [Wed, 19 Jan 2011 14:32:55 +0000 (14:32 +0000)]
2011-01-19  Jeremy Orlow  <jorlow@chromium.org>

        Move pixel test results to the proper place.

        * platform/mac/svg/custom/use-inherit-style-expected.checksum: Renamed from LayoutTests/svg/custom/use-inherit-style-expected.checksum.
        * platform/mac/svg/custom/use-inherit-style-expected.png: Renamed from LayoutTests/svg/custom/use-inherit-style-expected.png.

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

8 years ago[Qt] Remove unnecessary "../Source" from paths
ossy@webkit.org [Wed, 19 Jan 2011 14:31:20 +0000 (14:31 +0000)]
[Qt] Remove unnecessary "../Source" from paths
after moving source files into Source is finished.

Reviewed by Laszlo Gombos and Tor Arne Vestbø.

Source/JavaScriptCore:

* JavaScriptCore.pri:

Source/WebCore:

* WebCore.pri:
* WebCore.pro:

Source/WebKit/qt:

* Api/DerivedSources.pro:

Source/WebKit2:

* DerivedSources.pro:
* WebKit2.pro:

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

8 years ago2011-01-19 Benjamin Kalman <kalman@chromium.org>
commit-queue@webkit.org [Wed, 19 Jan 2011 14:27:40 +0000 (14:27 +0000)]
2011-01-19  Benjamin Kalman  <kalman@chromium.org>

        Reviewed by Darin Adler.

        Don't return void from void function String::split
        https://bugs.webkit.org/show_bug.cgi?id=52684

        * wtf/text/WTFString.cpp:
        (WTF::String::split):

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

8 years ago2011-01-19 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 14:15:39 +0000 (14:15 +0000)]
2011-01-19  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Andreas Kling.

        Enable usage of Google ld if it exist but is not on by default.

        [Qt] Enable the google ld if it exist but is not on by default
        https://bugs.webkit.org/show_bug.cgi?id=52625

        * common.pri: flip the test.

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

8 years ago2011-01-19 Aparna Nandyal <aparna.nand@wipro.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 14:01:13 +0000 (14:01 +0000)]
2011-01-19  Aparna Nandyal  <aparna.nand@wipro.com>

        Reviewed by Andreas Kling.

        [Qt] QtTestBrowser crashes when closing if Facebook is opened
        https://bugs.webkit.org/show_bug.cgi?id=52554

        QtNetworkAccessManager is created in a thread and set as
        member variable in QWebPage. When the thread is destroyed
        the object is still used. So fix will set the object to
        NULL once the thread is destroyed.

        * QtTestBrowser/launcherwindow.cpp:
        (LauncherWindow::~LauncherWindow):

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

8 years ago2011-01-19 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Wed, 19 Jan 2011 13:55:35 +0000 (13:55 +0000)]
2011-01-19  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: fixed flaky inspector test.

        * http/tests/inspector/extensions-resources-redirect.html:

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

8 years agoRevert "2011-01-18 Mikhail Naganov <mnaganov@chromium.org>"
mnaganov@chromium.org [Wed, 19 Jan 2011 13:27:54 +0000 (13:27 +0000)]
Revert "2011-01-18  Mikhail Naganov  <mnaganov@chromium.org>"

Revert r76114 -- added test fails on Chromium canaries.

This reverts commit 89065aef21411b68af89a8fa7ff41dfe14c54a6a.

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

8 years ago2011-01-19 Alexander Pavlov <apavlov@chromium.org>
apavlov@chromium.org [Wed, 19 Jan 2011 13:24:59 +0000 (13:24 +0000)]
2011-01-19  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
        https://bugs.webkit.org/show_bug.cgi?id=52212

        WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
        for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
        editing styles, in place of the old custom suggestion code.

        WebCore:
        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
        * inspector/front-end/CSSKeywordCompletions.js: Added.
        (WebInspector.CSSKeywordCompletions.forProperty):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
        (WebInspector.StylePropertyTreeElement.prototype):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.removeFromElement):
        (WebInspector.TextPrompt.prototype._onKeyDown):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):
        (WebInspector.TextPrompt.prototype.upKeyPressed):
        (WebInspector.TextPrompt.prototype.downKeyPressed):
        (WebInspector.TextPrompt.prototype._moveBackInHistory):
        (WebInspector.TextPrompt.prototype._moveForwardInHistory):
        * inspector/front-end/inspector.css:
        (.auto-complete-text, .editing .auto-complete-text):
        * inspector/front-end/inspector.html:

        LayoutTests:
        * inspector/styles-add-blank-property.html: Follow the altered event handling.
        * inspector/styles-url-linkify.html: Eliminate flakiness.

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

8 years ago2011-01-19 Dai Mikurube <dmikurube@google.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 12:56:25 +0000 (12:56 +0000)]
2011-01-19  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement onformchange and onforminput event handlers
        https://bugs.webkit.org/show_bug.cgi?id=26141

        * fast/dom/Window/window-properties-expected.txt: Added form events.
        * fast/dom/Window/window-property-descriptors-expected.txt: Added form events.
        * fast/forms/formchange-event-expected.txt: Added.
        * fast/forms/formchange-event.html: Added to test formchange events.
        * fast/forms/forminput-event-expected.txt: Added.
        * fast/forms/forminput-event.html: Added to test forminput events.
        * fast/forms/script-tests/formchange-event.js: Added.
        (sendKey):
        (sendText):
        * fast/forms/script-tests/forminput-event.js: Added.
        (sendKey):
        (sendText):
2011-01-19  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement onformchange and onforminput event handlers
        https://bugs.webkit.org/show_bug.cgi?id=26141

        Tests: fast/forms/formchange-event.html
               fast/forms/forminput-event.html

        * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
        * dom/Document.h: Added event definitions.
        * dom/Document.idl: Added event definitions.
        * dom/Element.h: Added event definitions.
        * dom/Element.idl: Added event definitions.
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
        * dom/EventNames.h: Added event definitions.
        * dom/InputElement.cpp:
        (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
        * dom/Node.cpp:
        (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
        (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
        (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
        * dom/Node.h:
        * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
        * html/HTMLAttributeNames.in: Added event names.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
        (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
        (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
        (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
        * html/HTMLElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
        * html/HTMLFormControlElement.h: Added isResettable().
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
        (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
        (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
        * html/HTMLInputElement.h: Added isResettable().
        * html/HTMLKeygenElement.h: Added isResettable().
        * html/HTMLObjectElement.h: Added isResettable().
        * html/HTMLOutputElement.h: Added isResettable().
        * html/HTMLSelectElement.h: Added isResettable().
        * html/HTMLTextAreaElement.h: Added isResettable().
        * page/DOMWindow.h: Added event definitions.
        * page/DOMWindow.idl: Added event definitions.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().

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

8 years ago2011-01-18 Mikhail Naganov <mnaganov@chromium.org>
mnaganov@chromium.org [Wed, 19 Jan 2011 12:42:36 +0000 (12:42 +0000)]
2011-01-18  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Add layout test for the CPU profiler.

        This test replaces DevToolsSanityTest.TestProfilerTab from
        Chromium's interactive_ui_tests.

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

        * inspector/cpu-profiler-profiling-expected.txt: Added.
        * inspector/cpu-profiler-profiling.html: Added.

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

8 years agoRevert accidental r76110..76112
mnaganov@chromium.org [Wed, 19 Jan 2011 12:35:19 +0000 (12:35 +0000)]
Revert accidental r76110..76112

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

8 years agoworks in chromium
mnaganov@chromium.org [Wed, 19 Jan 2011 12:24:03 +0000 (12:24 +0000)]
works in chromium

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

8 years agoworks in safari
mnaganov@chromium.org [Wed, 19 Jan 2011 12:23:42 +0000 (12:23 +0000)]
works in safari

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

8 years agoadded test
mnaganov@chromium.org [Wed, 19 Jan 2011 12:23:21 +0000 (12:23 +0000)]
added test

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

8 years ago2011-01-19 Andrey Kosyakov <caseq@chromium.org>
caseq@chromium.org [Wed, 19 Jan 2011 11:37:34 +0000 (11:37 +0000)]
2011-01-19  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
        https://bugs.webkit.org/show_bug.cgi?id=52707

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):

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

8 years ago2011-01-19 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Wed, 19 Jan 2011 10:34:24 +0000 (10:34 +0000)]
2011-01-19  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: updating Chromium devtools sanity tests for downstream use.

        * src/js/Tests.js:
        (.TestSuite.prototype._checkExecutionLine):

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

8 years ago2011-01-19 Levi Weintraub <leviw@google.com>
commit-queue@webkit.org [Wed, 19 Jan 2011 09:32:09 +0000 (09:32 +0000)]
2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Ryosuke Niwa.

        Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
        and simplified the logic a bit. Unfortunately, Tables and some legacy
        editing positions still need to be handled specifically.

        remove rangeCompliantEquivalent and replace it with Position methods
        https://bugs.webkit.org/show_bug.cgi?id=25057

        No new tests as this is a refactor that doesn't change behavior.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::caretRangeFromPoint):
        * dom/Position.cpp:
        (WebCore::Position::parentAnchoredEquivalent):
        * dom/Position.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAt):
        (WebCore::CompositeEditCommand::moveParagraphs):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        * editing/Editor.cpp:
        (WebCore::Editor::textDirectionForSelection):
        (WebCore::Editor::advanceToNextMisspelling):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion):
        * editing/VisiblePosition.cpp:
        (WebCore::makeRange):
        (WebCore::setStart):
        (WebCore::setEnd):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::firstRange):
        (WebCore::VisibleSelection::toNormalizedRange):
        (WebCore::makeSearchRange):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        * page/DOMSelection.cpp:
        (WebCore::anchorPosition):
        (WebCore::focusPosition):
        (WebCore::basePosition):
        (WebCore::extentPosition):
2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Ryosuke Niwa.

        Updating to use Position::parentAnchoredEquivalent instead of
        the old htmlediting rangeCompliantEquivalent.

        remove rangeCompliantEquivalent and replace it with Position methods
        https://bugs.webkit.org/show_bug.cgi?id=25057

        * WebView/WebFrame.mm:
        (-[WebFrame _smartDeleteRangeForProposedRange:]):

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

8 years ago2011-01-19 Peter Rybin <peter.rybin@gmail.com>
yurys@chromium.org [Wed, 19 Jan 2011 09:17:36 +0000 (09:17 +0000)]
2011-01-19  Peter Rybin  <peter.rybin@gmail.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script column offset is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=52580

        Column is updated in 3 places, 2 less probable places contained error.
        Fixed now.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advanceSlowCase):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::advancePastNewline):

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

8 years ago2011-01-18 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Wed, 19 Jan 2011 09:00:58 +0000 (09:00 +0000)]
2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
        https://bugs.webkit.org/show_bug.cgi?id=52652

        Calls served by the InjectedScript should be first class protocol
        citizens, not dispatched via single protocol message.

        * http/tests/inspector/extensions-test.js:
        (initialize_ExtensionsTest.InspectorTest.runExtensionTests):
        * http/tests/inspector/inspector-test2.js:
        (initialize_InspectorTest.InspectorTest.evaluateInPage):
        * http/tests/inspector/resource-har-conversion.html:
        * inspector/console-command-clear.html:
        * inspector/console-dir-global.html:
2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
        https://bugs.webkit.org/show_bug.cgi?id=52652

        Calls served by the InjectedScript should be first class protocol
        citizens, not dispatched via single protocol message.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::evaluateInCallFrame):
        (WebCore::InjectedScript::evaluateOnSelf):
        (WebCore::InjectedScript::getCompletions):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::pushNodeToFrontend):
        (WebCore::InjectedScript::resolveNode):
        (WebCore::InjectedScript::getNodeProperties):
        (WebCore::InjectedScript::getNodePrototypes):
        (WebCore::InjectedScript::setPropertyValue):
        (WebCore::InjectedScript::makeCall):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::evaluate):
        (WebCore::InjectedScriptHost::evaluateInCallFrame):
        (WebCore::InjectedScriptHost::evaluateOnSelf):
        (WebCore::InjectedScriptHost::getCompletions):
        (WebCore::InjectedScriptHost::getProperties):
        (WebCore::InjectedScriptHost::pushNodeToFrontend):
        (WebCore::InjectedScriptHost::resolveNode):
        (WebCore::InjectedScriptHost::getNodeProperties):
        (WebCore::InjectedScriptHost::getNodePrototypes):
        (WebCore::InjectedScriptHost::setPropertyValue):
        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
        (WebCore::InjectedScriptHost::injectedScriptForNodeId):
        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::getNumber):
        * inspector/InspectorValues.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.evaluateInTargetWindow):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/InjectedScriptAccess.js: Removed.
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.resolveNode):
        (WebInspector.RemoteObject.prototype.getProperties):
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
        https://bugs.webkit.org/show_bug.cgi?id=52652

        Calls served by the InjectedScript should be first class protocol
        citizens, not dispatched via single protocol message.

        * src/js/Tests.js:

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

8 years ago2011-01-18 Anton Muhin <antonm@chromium.org>
antonm@chromium.org [Wed, 19 Jan 2011 07:40:35 +0000 (07:40 +0000)]
2011-01-18  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
        https://bugs.webkit.org/show_bug.cgi?id=51683

        Covered by the existing tests.

        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::weakNodeCallback):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::removeIfPresent):

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

8 years ago* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Removed unncessary inculde...
mjs@apple.com [Wed, 19 Jan 2011 07:12:44 +0000 (07:12 +0000)]
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Removed unncessary inculde of WKStringCF.h

Rubber stamped by Csaba Osztrogonac

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

8 years ago2011-01-18 Eric Seidel <eric@webkit.org>
eric@webkit.org [Wed, 19 Jan 2011 06:09:27 +0000 (06:09 +0000)]
2011-01-18  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r76084.
        http://trac.webkit.org/changeset/76084
        https://bugs.webkit.org/show_bug.cgi?id=52654

        Crashes on the bots

        * fast/dom/Window/open-window-empty-url-expected.txt: Removed.
        * fast/dom/Window/open-window-empty-url.html: Removed.

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

8 years ago2011-01-18 Dirk Pranke <dpranke@chromium.org>
dpranke@chromium.org [Wed, 19 Jan 2011 05:15:10 +0000 (05:15 +0000)]
2011-01-18  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Tony Chang.

        new-run-webkit-tests: add a --build-directory command line argument

        Official Google Chrome builds use a non-standard build directory
        location. This patch adds a --build-directory argument that
        allows that location to be specified on the command line. Only
        Chromium-based builds will use this flag for now, but anyone can
        in the future.

        There are no unit tests for this since it's difficult to test
        until mock filesystems are fully supported in the code. This was
        tested by hand for now.

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

        * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
        * Scripts/webkitpy/layout_tests/port/chromium_win.py:
        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:

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

8 years ago2011-01-18 Kenneth Russell <kbr@google.com>
kbr@google.com [Wed, 19 Jan 2011 04:33:12 +0000 (04:33 +0000)]
2011-01-18  Kenneth Russell  <kbr@google.com>

        Unreviewed, rolling out r76078.
        http://trac.webkit.org/changeset/76078
        https://bugs.webkit.org/show_bug.cgi?id=52668

        Caused crashes of fast/canvas/webgl/constants.html,
        fast/canvas/webgl/gl-enum-tests.html, and possibly other layout
        test crashes in Release mode. WebGL crashes were observed with
        "run-webkit-tests fast/canvas/webgl". It was necessary to run
        multiple tests to provoke the crash.

        * interpreter/RegisterFile.h:
        (JSC::RegisterFile::markGlobals):
        * runtime/JSActivation.cpp:
        (JSC::JSActivation::markChildren):
        * runtime/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::markChildren):

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

8 years agoAdded a reviewer line for the last checkin
morrita@google.com [Wed, 19 Jan 2011 04:18:53 +0000 (04:18 +0000)]
Added a reviewer line for the last checkin

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