Unexpected word wrapping for wrapped content then raw content.
https://bugs.webkit.org/show_bug.cgi?id=121130

Reviewed by Darin Adler.

When deciding whether a line is considered empty, we need to check if the current
object is fully responsible for the currently uncommitted width. It helps differentiating
<span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
case when we hit the second <span> the line is still considered empty, as opposed to the
second example.
This patch introduces a map to keep track of the uncommitted widths.

Source/WebCore:

Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html

* rendering/LineWidth.cpp:
(WebCore::LineWidth::uncommittedWidthForObject):
(WebCore::LineWidth::addUncommittedWidth):
* rendering/LineWidth.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineBreaker::nextSegmentBreak):

LayoutTests:

* fast/css/unexpected-word-wrapping-with-non-empty-spans-expected.html: Added.
* fast/css/unexpected-word-wrapping-with-non-empty-spans.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add general CMakeLists.txt for DRT
https://bugs.webkit.org/show_bug.cgi?id=119268

Reviewed by Gyuyoung Kim.

The new file allows better sharing between ports.

* CMakeLists.txt:
* DumpRenderTree/CMakeLists.txt: Added.
* DumpRenderTree/PlatformEfl.cmake: Added.
* DumpRenderTree/efl/CMakeLists.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] editing/selection/fake-doubleclick.html rebaseline after r140111
https://bugs.webkit.org/show_bug.cgi?id=121831

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-09-27

* platform/efl-wk2/TestExpectations:
* platform/efl/editing/selection/fake-doubleclick-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pass VM instead of ExecState to JSDateMath functions.
<https://webkit.org/b/121997>

Reviewed by Geoffrey Garen.

The JSC date math functions only need the VM, so pass that from
callers instead of the whole ExecState.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][WK2] Logging of accessibility events is not disabled between tests
https://bugs.webkit.org/show_bug.cgi?id=121957

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-27
Reviewed by Mario Sanchez Prada.

Tools:

Fixed an issue in AccessibilityNotificationHandler where the destructor
was not disconnecting accessibility event callbacks if logging was on.
The decision of disconnecting events can solely rely on the existence of
notification handlers because logging uses the global notification
handler.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks): Fixed
disconnection when logging is on.

LayoutTests:

Removed some accessibility tests from the expectations file that were
failing before this fix.

* platform/gtk-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add toWebKitCSS*Value functions to cast from CSSValue
https://bugs.webkit.org/show_bug.cgi?id=121776

Reviewed by Andreas Kling.

CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.

No new tests, no behavior change.

* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createFilterOperations):
* css/TransformFunctions.cpp:
(WebCore::transformsForValue):
* css/WebKitCSSArrayFunctionValue.h:
(WebCore::toWebKitCSSArrayFunctionValue):
* css/WebKitCSSFilterValue.h:
(WebCore::toWebKitCSSFilterValue):
* css/WebKitCSSMatFunctionValue.h:
(WebCore::toWebKitCSSMatFunctionValue):
* css/WebKitCSSMixFunctionValue.h:
(WebCore::toWebKitCSSMixFunctionValue):
* css/WebKitCSSSVGDocumentValue.h:
(WebCore::toWebKitCSSSVGDocumentValue):
* css/WebKitCSSShaderValue.h:
(WebCore::toWebKitCSSShaderValue):
* css/WebKitCSSTransformValue.h:
(WebCore::toWebKitCSSTransformValue):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add empty MainFrame class
https://bugs.webkit.org/show_bug.cgi?id=121770

Reviewed by Andreas Kling.

Source/WebCore:

For now, MainFrame simply derives from Frame and adds nothing.
Next, we will make each Frame point back to its MainFrame.

* CMakeLists.txt: Added MainFrame.cpp/h.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.exp.in: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* page/Frame.cpp:
(WebCore::Frame::Frame): Use references instead of pointers for constructor.
(WebCore::Frame::create): Pass references instead of pointers to constructor.
* page/Frame.h: Made constructor protected instead of private, and marked
destructor virtual explicitly. Also marked virtual functions OVERRIDE and FINAL.

* page/MainFrame.cpp: Added.
* page/MainFrame.h: Added.

* page/Page.cpp:
(WebCore::Page::Page): Use MainFrame::create instead of Frame::create.
(WebCore::Page::frameIsMainFrame): Moved here, no longer inline.
(WebCore::Page::renderTreeSize): Use const Frame* instead of Frame*.
(WebCore::Page::checkSubframeCountConsistency): Ditto.
* page/Page.h: Changed mainFrame() to return MainFrame& and m_mainFrame to
be a RefPtr<MainFrame>.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
* bindings/js/PageScriptDebugServer.cpp:
* bindings/js/ScriptProfiler.cpp:
* bindings/js/ScriptState.cpp:
* css/MediaQueryEvaluator.cpp:
* dom/Document.cpp:
* history/CachedFrame.cpp:
* history/CachedPage.cpp:
* history/PageCache.cpp:
* html/HTMLPlugInImageElement.cpp:
* inspector/InspectorAgent.cpp:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorClient.cpp:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInputAgent.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorOverlay.cpp:
* inspector/InspectorPageAgent.cpp:
* inspector/PageRuntimeAgent.cpp:
* loader/FrameLoader.cpp:
* loader/HistoryController.cpp:
* loader/archive/mhtml/MHTMLArchive.cpp:
* page/AutoscrollController.cpp:
* page/Chrome.cpp:
* page/ContextMenuController.cpp:
* page/DOMWindow.cpp:
* page/DragController.cpp:
* page/EventHandler.cpp:
* page/FocusController.cpp:
* page/FrameTree.cpp:
* page/FrameView.cpp:
* page/GestureTapHighlighter.cpp:
* page/PageGroup.cpp:
* page/PageGroupLoadDeferrer.cpp:
* page/PageSerializer.cpp:
* page/PageThrottler.cpp:
* page/Settings.cpp:
* page/SpatialNavigation.cpp:
* page/mac/DragControllerMac.mm:
* page/mac/PageMac.cpp:
* page/scrolling/ScrollingCoordinator.cpp:
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
* plugins/DOMMimeType.cpp:
* storage/StorageEventDispatcher.cpp:
* svg/graphics/SVGImage.cpp:
* testing/InternalSettings.cpp:
* testing/Internals.cpp:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
* WebCoreSupport/InspectorClientEfl.cpp:
* ewk/ewk_view.cpp:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit/gtk:

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
* WebCoreSupport/ChromeClientGtk.cpp:
* WebCoreSupport/FrameLoaderClientGtk.cpp:
* WebCoreSupport/GtkAdjustmentWatcher.cpp:
* webkit/webkitwebframe.cpp:
* webkit/webkitwebview.cpp:
* webkit/webkitviewportattributes.cpp:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit/mac:

* WebCoreSupport/WebDragClient.mm:
* WebCoreSupport/WebInspectorClient.mm:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebView/WebFrame.mm:
* WebView/WebHTMLView.mm:
* WebView/WebView.mm:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit/qt:

* Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:
* Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp:
* Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp:
* Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp:
* Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit/win:

* win/WebCoreSupport/WebDragClient.cpp:
* win/WebCoreSupport/WebContextMenuClient.cpp:
* win/WebDropSource.cpp:
* win/WebFrame.cpp:
* win/WebView.cpp:
Include MainFrame.h instead of Frame.h as needed.

Source/WebKit2:

* WebProcess/FullScreen/WebFullScreenManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/Storage/StorageAreaMap.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
* WebProcess/WebPage/FindController.cpp:
* WebProcess/WebPage/PageOverlay.cpp:
* WebProcess/WebPage/WebInspector.cpp:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
Include MainFrame.h instead of Frame.h as needed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unrehued mac-lion rebaseline.

* platform/mac-lion/js/dom/global-constructors-attributes-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[css-shapes] Shapes are not resolved the same way in shape-inside and clip-path
https://bugs.webkit.org/show_bug.cgi?id=121922

Reviewed by Andreas Kling.

Source/WebCore:

Fix computation of a percentage radius for circle shape-outside to
match the CSS Shapes spec.

Test: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html

* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):

LayoutTests:

Add new test for circular shape-outside with percentage radius.

Update the nested container with unresolved height test because with a
circle it isn't really testing just for unresolved height behavior.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
* fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height-expected.html:
* fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Implement the media controls in JavaScript.
https://bugs.webkit.org/show_bug.cgi?id=120895

Reviewed by Dean Jackson.

Source/JavaScriptCore:

Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Re-implement the existing MediaControls constellation of classes in JavaScript
and CSS. This will allow different ports to configure their controls without
dependencies on the layout requirements of any other port's controls.

Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT:
* Configurations/FeatureDefines.xcconfig:

Add new source files to the project:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

Add a new class MediaControlsHost which the script controls can use to
communicate with the HTMLMediaElement without exposing private interfaces
to web facing scripts:
* Modules/mediacontrols/MediaControlsHost.cpp: Added.
(WebCore::MediaControlsHost::automaticKeyword): Static method.
(WebCore::MediaControlsHost::forcedOnlyKeyword): Ditto.
(WebCore::MediaControlsHost::alwaysOnKeyword): Ditto.
(WebCore::MediaControlsHost::create): Simple factory.
(WebCore::MediaControlsHost::MediaControlsHost): Simple constructor.
(WebCore::MediaControlsHost::~MediaControlsHost): Simple destructor.
(WebCore::MediaControlsHost::sortedTrackListForMenu): Pass through to CaptionUserPreferences.
(WebCore::MediaControlsHost::displayNameForTrack): Ditto.
(WebCore::MediaControlsHost::captionMenuOffItem): Pass through to TextTrack.
(WebCore::MediaControlsHost::captionMenuAutomaticItem): Ditto.
(WebCore::MediaControlsHost::captionDisplayMode): Pass through to CaptionUserPreferences.
(WebCore::MediaControlsHost::setSelectedTextTrack): Pass through to HTMLMediaElement.
(WebCore::MediaControlsHost::textTrackContainer): Lazily create a MediaControlTextTrackContainerElement.
(WebCore::MediaControlsHost::updateTextTrackContainer): Pass through to MediaControlTextTrackContainerElement.
* Modules/mediacontrols/MediaControlsHost.h: Added.
* Modules/mediacontrols/MediaControlsHost.idl: Added.
* Modules/mediacontrols/mediaControlsApple.css: Added.

Add convenience methods for adding a MediaControlsHost to a VM.
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/ScriptObject.h:

Add the new controller .js implementation:
* Modules/mediacontrols/mediaControlsApple.js: Added.
(createControls): Global method to create a new Controller object.
(Controller): Constructor. Create and configure the default set of controls.
(Controller.prototype.addListeners): Adds event listeners to the this.video object.
(Controller.prototype.removeListeners): Removes listeners from same.
(Controller.prototype.handleEvent): Makes Controller an EventHandler, making registration and
        deregistration simpler.
(Controller.prototype.createBase): Creates the base controls object and the text track container.
(Controller.prototype.createControls): Creates the controls panel object and controller UI.
(Controller.prototype.setControlsType): Switches between Full Screen and Inline style of controller.
(Controller.prototype.disconnectControls): Disconnects all UI elements from the DOM.
(Controller.prototype.configureInlineControls): Configures existing controls for Inline mode.
(Controller.prototype.configureFullScreenControls): Ditto, for Full Screen Mode.

Add listeners for HTMLMediaElement events:
(Controller.prototype.onloadstart): Update the status display.
(Controller.prototype.onerror): Ditto.
(Controller.prototype.onabort): Ditto.
(Controller.prototype.onsuspend): Ditto.
(Controller.prototype.onprogress): Ditto.
(Controller.prototype.onstalled): Ditto.
(Controller.prototype.onwaiting): Ditto.
(Controller.prototype.onreadystatechange): Ditto.
(Controller.prototype.ontimeupdate): Update the timeline and time displays.
(Controller.prototype.ondurationchange): Ditto.
(Controller.prototype.onplaying): Update the play button.
(Controller.prototype.onplay): Ditto.
(Controller.prototype.onpause): Ditto.
(Controller.prototype.onratechange): Ditto.
(Controller.prototype.onvolumechange): Update the volume and mute UI.
(Controller.prototype.ontexttrackchange): Update the text track container and captions button.
(Controller.prototype.ontexttrackadd): Ditto.
(Controller.prototype.ontexttrackremove): Ditto.
(Controller.prototype.ontexttrackcuechange): Ditto.
(Controller.prototype.onfullscreenchange): Reconfigure the controls.

Add listeners for UI element events:
(Controller.prototype.onwrappermousemove): Show the controls and start the hide timer.
(Controller.prototype.onwrappermouseout): Hide the controls and stop the hide timer.
(Controller.prototype.onrewindbuttonclicked): Rewind.
(Controller.prototype.onplaybuttonclicked): Toggle pause.
(Controller.prototype.ontimelinechange): Update the currentTime.
(Controller.prototype.ontimelinedown):
(Controller.prototype.ontimelineup):
(Controller.prototype.ontimelinemouseover): Show the thumbnail view if available.
(Controller.prototype.ontimelinemouseout): Hide same.
(Controller.prototype.ontimelinemousemove): Move the thumbnail view.
(Controller.prototype.onmutebuttonclicked): Mute audio.
(Controller.prototype.onminbuttonclicked): Increase volume to max.
(Controller.prototype.onmaxbuttonclicked): Decrease volume to min.
(Controller.prototype.onvolumesliderchange): Update the current volume.
(Controller.prototype.oncaptionbuttonclicked): Show or hide the track menu.
(Controller.prototype.onfullscreenbuttonclicked): Enter or exit fullscreen.
(Controller.prototype.oncontrolschange): Show or hide the controls panel.
(Controller.prototype.onseekbackmousedown): Start seeking and enable the seek timer.
(Controller.prototype.onseekbackmouseup): Stop seeking and disable the seek timer.
(Controller.prototype.onseekforwardmousedown): Start seekind and enable the seek timer.
(Controller.prototype.onseekforwardmouseup): Stop seekind and disable the seek timer.

Add action methods (which are mostly self explanatory):
(Controller.prototype.updateDuration):
(Controller.prototype.updatePlaying):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
(Controller.prototype.removeControls):
(Controller.prototype.addControls):
(Controller.prototype.updateTime):
(Controller.prototype.updateReadyState):
(Controller.prototype.setStatusHidden):
(Controller.prototype.updateThumbnailTrack):
(Controller.prototype.updateCaptionButton):
(Controller.prototype.updateCaptionContainer):
(Controller.prototype.buildCaptionMenu):
(Controller.prototype.captionItemSelected):
(Controller.prototype.destroyCaptionMenu):
(Controller.prototype.updateVolume):

Add utility methods:
(Controller.prototype.isFullScreen):
(Controller.prototype.canPlay):
(Controller.prototype.nextRate):
(Controller.prototype.seekBackFaster):
(Controller.prototype.seekForwardFaster):
(Controller.prototype.formatTime):
(Controller.prototype.trackHasThumbnails):

Add the stylesheet for the javascript controls (which are mostly) copied from
the (deleted) mediaControlsQuickTime.css and fullscreenQuickTime.css files:
* Modules/mediacontrols/mediaControlsApple.css: Added.
* css/fullscreenQuickTime.css: Removed.
* css/mediaControlsQuickTime.css: Removed.

Inject new stylesheets into UA sheets:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

Use the new javascript controls rather than MediaControls:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::childShouldCreateRenderer): Use the javascript controls if available.
(WebCore::HTMLMediaElement::updateTextTrackDisplay): Ditto.
(WebCore::HTMLMediaElement::mediaControls): Ditto.
(WebCore::HTMLMediaElement::hasMediaControls): Ditto.
(WebCore::HTMLMediaElement::createMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
(WebCore::HTMLMediaElement::ensureIsolatedWorld): Create a new VM for the controls script.
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): Inject the media controls script into the VM.
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Inject the MediaControlsHost into the VM and call
        the scripts global factory function.
* html/HTMLMediaElement.h:

Remove most of the drawing code from RenderThemeMac and RenderThemeWin and
add accessors for the new .js and .css file data:
* rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsStyleSheet): Empty virtual method.
(WebCore::RenderTheme::mediaControlsScript): Ditto.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet): Add accessor for mediaControlsApple.css.
(WebCore::RenderThemeMac::mediaControlsScript): Add accessor for mediaControlsApple.js.
(WebCore::RenderThemeMac::adjustSliderThumbSize): Remove the call to adjustMediaSliderThumbSize.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::mediaControlsStyleSheet):
(WebCore::RenderThemeWin::mediaControlsScript):
* rendering/RenderThemeWin.h:

Source/WebKit/mac:

Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.

* wtf/FeatureDefines.h:

LayoutTests:

Rebaseline changed tests and add new (failing) tests to
TestExpectations.

* media/audio-delete-while-slider-thumb-clicked.html:
* platform/mac/TestExpectations:
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.png:
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/mac/fast/layers/video-layer-expected.png:
* platform/mac/fast/layers/video-layer-expected.txt:
* platform/mac/fullscreen/video-controls-override-expected.txt: Added.
* platform/mac/media/audio-controls-rendering-expected.png:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.png:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.png:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/controls-styling-strict-expected.png:
* platform/mac/media/controls-styling-strict-expected.txt:
* platform/mac/media/controls-without-preload-expected.png:
* platform/mac/media/controls-without-preload-expected.txt:
* platform/mac/media/media-controls-clone-expected.png:
* platform/mac/media/media-controls-clone-expected.txt:
* webarchive/loading/video-in-webarchive-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused method parameters from TupleCoder.
https://bugs.webkit.org/show_bug.cgi?id=122009

Reviewed by Anders Carlsson.

In case of TupleCoder<0, Elements...> the parameter
names for encoder, decoder and tuple are not used.
By removing the paramter names the unusued paramter
warning will disappear.

* Platform/CoreIPC/Arguments.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Fix Python scripts test failures.

        * Scripts/webkitpy/style/checkers/cpp.py:
        (_FunctionState.modifiers_and_return_type): Added this back. Used only by tests
        now, not by the checker itself.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LLInt alignment problem on ARM in debug mode
https://bugs.webkit.org/show_bug.cgi?id=122012

Reviewed by Michael Saboff.

Force GCC to put the LLInt code to .text section.

* llint/LowLevelInterpreter.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
rename KURL to URL
https://bugs.webkit.org/show_bug.cgi?id=16214

Reviewed by Andreas Kling.

Source/WebCore:

* many files: Renamed, using script.

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Let the script to try to rename here.

Source/WebKit/blackberry:

* many files: Renamed, using script.

Source/WebKit/efl:

* many files: Renamed, using script.

Source/WebKit/gtk:

* many files: Renamed, using script.

Source/WebKit/mac:

* many files: Renamed, using script.

Source/WebKit/qt:

* many files: Renamed, using script.

Source/WebKit/win:

* many files: Renamed, using script.

Source/WebKit/wince:

* many files: Renamed, using script.

Source/WebKit2:

* many files: Renamed, using script.

Tools:

* many files: Renamed, using script.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] GTK does not expose heading level correctly. Was: accessibility/heading-level.html is failing
https://bugs.webkit.org/show_bug.cgi?id=106924

Reviewed by Chris Fleizach.

Tools:

Consider headings levels as values to be returned in intValue()
both in DRT and WKTR, so we can share more tests with other ports.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::intValue): Consider headings too.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::intValue): Ditto.

LayoutTests:

Removed accesibility/heading-level.html from failure expectations.

* platform/gtk/TestExpectations: Removed test now passing.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Attempt to fix windows build.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Provide 2D Matrix decomposition for animation
https://bugs.webkit.org/show_bug.cgi?id=112824
<rdar://problem/15091882>

Reviewed by Eric Carlson (and Ian Henderson offline).

Source/WebCore:

Implement a new 2d matrix blend, which is triggered
when animating between two affine 3d matrices. This
is intended to be the official algorithm that gets
put into the W3C Transforms specification.

The old code is renamed with a 4 prefix (indicating
it is a blend between 3d matrices using quaternions),
and new methods and structures for 2d blending were added.

I also took the opportunity to clean up a lot of
bad WebKit style.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::maxScaleFromTransform): Use 3d decomposition.
* platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::blend): Ditto.
* platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend): Ditto.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::decompose2): New method to decompose an affine 3d matrix
into X/Y scale + translate, a rotation angle, plus some extracted
a,b,c,d fields from the affine section.
(WebCore::decompose4): New name for the old function.
(WebCore::TransformationMatrix::blend2): Perform linear interpolation
between two 2d decompositions.
(WebCore::TransformationMatrix::blend4): New name for the old function.
(WebCore::TransformationMatrix::blend): Call blend2 or blend4 depending
on the type of matrix.
(WebCore::TransformationMatrix::decompose2): Calls into the decompose2
method above.
(WebCore::TransformationMatrix::decompose4): New name.
(WebCore::TransformationMatrix::recompose2): Recomposes a 3d matrix from
a 2d decomposition.
(WebCore::TransformationMatrix::recompose4): New name.
* platform/graphics/transforms/TransformationMatrix.h: All the changes
for the new methods above.

LayoutTests:

This test was only exercising the fact that our
software decomposition did not match our hardware
decomposition (although that required visual inspection).
Now that our 2d decomposition is correct, update the
test and its expected result.

* animations/transform-non-accelerated-expected.txt:
* animations/transform-non-accelerated.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaStream API] update SourceInfo object to match spec
https://bugs.webkit.org/show_bug.cgi?id=121941

Reviewed by Dean Jackson.

Source/WebCore: 

No new tests, existing test updated.

* Modules/mediastream/SourceInfo.cpp:
(WebCore::SourceInfo::kind): Get rid of "none".
* Modules/mediastream/SourceInfo.h:
(WebCore::SourceInfo::sourceId): Renamed from "id".
* Modules/mediastream/SourceInfo.idl:

* platform/mediastream/MediaStreamTrackSourcesRequestClient.h:
(WebCore::TrackSourceInfo::create):
(WebCore::TrackSourceInfo::kind):
(WebCore::TrackSourceInfo::TrackSourceInfo):

* platform/mock/MockMediaStreamCenter.cpp:
(WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): "facing" isn't a part of sourceInfo.
    Return a non-NULL ID because a source must always have one.

LayoutTests: 

* fast/mediastream/MediaStreamTrack-getSources-expected.txt:
* fast/mediastream/MediaStreamTrack-getSources.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Make WebKitGTK+ port work with Eclipse chromedevtools plugin
https://bugs.webkit.org/show_bug.cgi?id=121121

Patch by Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> on 2013-09-27
Reviewed by Gustavo Noronha Silva.

The chromedevtools plugin (http://code.google.com/p/chromedevtools/) requires a specific
json format to connect to the webkit inspector.

The current format is missing some required fields that make the connection with the plugin
fail.

The format expected by the plugin is as follows:
  {
   "title": "Foo",
   "url": "http://foo",
   "devtoolsFrontendUrl": "/Main.html?ws=localhost:9222/devtools/page/1",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/1"
  }

The current format is missing the entries for "devtoolsFrontendUrl" and
"webSocketDebuggerUrl".

The plugin also sends an HTTP GET request to http://host:port/json instead of
http://host:port/pagelist.json when retrieving the pages list.

This patch fixes the issues by adding support for the missing fields and accepting requests
for "/json" alongside "/pagelist.json".

* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):
Also accept requests for "/json" alongside "pagelist.json".
(WebKit::WebInspectorServer::buildPageList):
Add fields required by chromedevtools plugin.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-indent Settings.h

Rubber-stamped by Anders Carlsson.

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