Web Inspector: A little more test cleanup
https://bugs.webkit.org/show_bug.cgi?id=120575

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-09-01
Reviewed by Timothy Hatcher.

Give tests names and remove unnecessary script type attributes.

* inspector-protocol/debugger/removeBreakpoint-expected.txt:
* inspector-protocol/debugger/removeBreakpoint.html:
* inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt:
* inspector-protocol/debugger/setBreakpoint-autoContinue.html:
* inspector-protocol/debugger/setBreakpoint-column-expected.txt:
* inspector-protocol/debugger/setBreakpoint-column.html:
* inspector-protocol/debugger/setBreakpoint-condition-expected.txt:
* inspector-protocol/debugger/setBreakpoint-condition.html:
* inspector-protocol/debugger/setBreakpoint-expected.txt:
* inspector-protocol/debugger/setBreakpoint.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give EditCommand a protected Frame& getter.
<https://webkit.org/b/120574>

Reviewed by Darin Adler.

EditCommand is only created for documents that are attached to a Frame,
we already ASSERTed as much in the EditCommand constructor.

This patch adds a "Frame& EditCommand::frame()" helper, so EditCommand
and its subclasses don't have to fumble around with pointers.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Volume slider value should be 0 when audio is muted
https://bugs.webkit.org/show_bug.cgi?id=120553

Reviewed by Eric Carlson.

Source/WebCore:

Fixed the problem of showing a non empty slider when audio is
muted.

Test: media/volume-bar-empty-when-muted.html.

* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::reset): Use setSliderVolume.
(WebCore::MediaControls::changedVolume): Use setSliderVolume.
(WebCore::MediaControls::setSliderVolume): Added to set the volume
to 0 when muted and to its value otherwise.
* html/shadow/MediaControls.h: Added setSliderVolume.
* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::reset): Used setSliderVolume and
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::changedVolume): Used
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::setFullscreenSliderVolume): Added to
set the volume to 0 when muted and to its value otherwise.
* html/shadow/MediaControlsApple.h: Added setFullscreenSliderVolume
* html/shadow/MediaControlsBlackBerry.cpp:
(WebCore::MediaControlsBlackBerry::reset): Used setSliderVolume.

LayoutTests:

Added test to check if the volume slider value is 0 when the
element is muted even if volume is set to something else.

* media/volume-bar-empty-when-muted-expected.txt: Added.
* media/volume-bar-empty-when-muted.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HitTestResult should have innerNonSharedElement
https://bugs.webkit.org/show_bug.cgi?id=120579

Reviewed by Andreas Kling.

* editing/Editor.cpp:
(WebCore::Editor::copyImage): Call HitTestResult member function version of
innerNonSharedElement instead of a local function that does it.

* page/Chrome.cpp:
(WebCore::Chrome::setToolTip): Use innerNonSharedElement instead of getting
the node and checking if it's an input element. Also added some missing braces.

* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromHitTestResult): Use targetNode for
local variables instead of innerNode to match the HitTestResult function name.
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
(WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
(WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
(WebCore::EventHandler::handleMousePressEvent): Ditto.

* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerElement): Rewrote so there there is no loop.
(WebCore::HitTestResult::innerNonSharedElement): Ditto.

* rendering/HitTestResult.h: Added innerNonSharedElement. Generally speaking,
we'd like to avoid using Node unless there is some real need.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix a mistake in my recent pasteboard/editor refactoring that was causing tests to fail.

* editing/mac/EditorMac.mm:
(WebCore::getImage): One place this said cachedImage but it should have said tentativeCachedImage.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EventHandler::m_frame should be a Frame&.
<https://webkit.org/b/120580>

Reviewed by Darin Adler.

EventHandler is tied to the lifetime of its frame, so let m_frame be a Frame&.
A handful of null checks and assertions removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Add 'edgeMode' attribute to the SVGFEGaussianBlur element. This attribute
allows users to define the behavior on edges with the values 'none' where
pixel values outside the input image are treated as transparent black. (The
current blurring behavior.) 'duplicate' which repeats the values on the
nearest edge and 'warp', which takes the pixel of the opposite site of
the input image.
Beside the attribute, this patch implements the behavior of 'duplicate'.

http://dev.w3.org/fxtf/filters/#feGaussianBlurEdgeModeAttribute

Reviewed by Rob Buis.

Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html
       svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html
       svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg
       svg/filters/svg-gaussianblur-edgeMode-duplicate.svg

* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::edgeMode):
(WebCore::FEGaussianBlur::setEdgeMode):
(WebCore::boxBlur):
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
* platform/graphics/filters/FEGaussianBlur.h:
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::build):
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEGaussianBlurElement.idl:

LayoutTests: Add edgeMode attribtue.

Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Added DOM and SVGDOM tests for the attribute 'edgeMode'.
Also added a reftest to test edgeMode='duplicate'.

Reviewed by Rob Buis.

* platform/mac/svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.png: Added.
* svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr-expected.txt: Added.
* svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html: Added.
* svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html: Added.
* svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-dom-edgeMode-attr.js: Added.
(repaintTest):
* svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.js: Added.
(repaintTest):
* svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg: Added.
* svg/filters/svg-gaussianblur-edgeMode-duplicate.svg: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2][Mac] Drag and drop tests interfere with user's UI
        https://bugs.webkit.org/show_bug.cgi?id=120538

        Reviewed by Dan Bernstein.

        This makes running WebKit2 regression tests locally more viable. The patch doesn't
        fix drag and drop tests to work as expected, I posted some thought about that in
        <https://bugs.webkit.org/show_bug.cgi?id=68552>.

        * WebKitTestRunner/EventSenderProxy.h:
        (WTR::EventSenderProxy::position):
        * WebKitTestRunner/TestController.h:
        (WTR::TestController::eventSenderProxy):
        Expose a way to get current mouse position from anywhere in WKTR code.

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

        * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseUp):
        Copied a FIXME comment from DumpRenderTree.

        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
        (-[TestRunnerWKView dragImage:at:offset:event:pasteboard:source:slideBack:]):
        Override drag initiation, using a custom NSDraggingInfo implementation.

        * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitialize):
        Replace NSEvent with a custom class.

        * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h: Added.
        * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Added.
        * WebKitTestRunner/mac/WebKitTestRunnerEvent.h: Added.
        * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Added.
        Largely a copy of DumpRenderTree classes, modified to not use global variables.
        We should consider making these variables static in EventSenderProxy though, as
        it's strange that mouse state in WKTR is reset between tests without WebKit ever
        being told about that.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Move myself to the reviewers list.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Save md5 correctly when jhbuildPath doesn't exist yet
https://bugs.webkit.org/show_bug.cgi?id=120548

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-09-02
Reviewed by Gustavo Noronha Silva.

After r152605, Md5 for jhbuild files are saved before the update
process, this prevents the script to restart update from scratch
when initial checkouts fail. However it causes an issue when builddir
(or builddir/Dependencies) doesn't exist yet. In that case the
saveJhbuildMd5 function fails to create md5 files.
This patch adds a checking for the jhbuildPath and creates it if
necessary before trying to open the md5 files.

* Scripts/update-webkit-libs-jhbuild:
(saveJhbuildMd5):

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