[ATK] accessibility/aria-sort.html is failing after r156409
https://bugs.webkit.org/show_bug.cgi?id=121947

Reviewed by Chris Fleizach.

Source/WebCore:

The WAI-ARIA spec says to translate the value as is from the
attribute, so do just that instead of mapping values from the
AccessibilitySortDirection enumeration into strings.
http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes): Do the right mapping for aria-sort.

Tools:

Implement AccessibilityUIElement::isSupported for the ATK
platforms, just by checking whether we have an associated object
attribute exposed for the wrapper object matching the required
attribute in the layout test (e.g "AXSortDirection" -> "sort").

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::isAttributeSupported): Implemented.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::isAttributeSupported): Implemented.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ATK] Normalize checks in entry points for DRT and WKTR
https://bugs.webkit.org/show_bug.cgi?id=121959

Reviewed by Chris Fleizach.

Always check if we have a proper instance of AtkObject,
implementing the interfaces that we might need for each case, at
the entry point of every method of AccessibilityUIElement for ATK,
and do those checks in an uniform way across DRT and WKTR, to
avoid confusion and issues when modifying these files in the future.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::getChildren): Use normalized checks.
(AccessibilityUIElement::getChildrenWithRange): Ditto.
(AccessibilityUIElement::rowCount): Ditto.
(AccessibilityUIElement::columnCount): Ditto.
(AccessibilityUIElement::childrenCount): Ditto.
(AccessibilityUIElement::elementAtPoint): Ditto.
(AccessibilityUIElement::getChildAtIndex): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::titleUIElement): Ditto.
(AccessibilityUIElement::parentElement): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::stringValue): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::x): Ditto.
(AccessibilityUIElement::y): Ditto.
(AccessibilityUIElement::width): Ditto.
(AccessibilityUIElement::height): Ditto.
(AccessibilityUIElement::orientation): Ditto.
(AccessibilityUIElement::intValue): Ditto.
(AccessibilityUIElement::minValue): Ditto.
(AccessibilityUIElement::maxValue): Ditto.
(indexRangeInTable): Ditto.
(AccessibilityUIElement::cellForColumnAndRow): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(alterCurrentValue): Ditto.
(AccessibilityUIElement::press): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
(AccessibilityUIElement::hasPopup): Ditto.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::indexRangeInTable): Use normalized checks.
(WTR::alterCurrentValue): Ditto.
(WTR::AccessibilityUIElement::getChildren): Ditto.
(WTR::AccessibilityUIElement::getChildrenWithRange): Ditto.
(WTR::AccessibilityUIElement::childrenCount): Ditto.
(WTR::AccessibilityUIElement::elementAtPoint): Ditto.
(WTR::AccessibilityUIElement::indexOfChild): Ditto.
(WTR::AccessibilityUIElement::childAtIndex): Ditto.
(WTR::AccessibilityUIElement::titleUIElement): Ditto.
(WTR::AccessibilityUIElement::parentElement): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::description): Ditto.
(WTR::AccessibilityUIElement::orientation): Ditto.
(WTR::AccessibilityUIElement::stringValue): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::x): Ditto.
(WTR::AccessibilityUIElement::y): Ditto.
(WTR::AccessibilityUIElement::width): Ditto.
(WTR::AccessibilityUIElement::height): Ditto.
(WTR::AccessibilityUIElement::intValue): Ditto.
(WTR::AccessibilityUIElement::minValue): Ditto.
(WTR::AccessibilityUIElement::maxValue): Ditto.
(WTR::AccessibilityUIElement::rowCount): Ditto.
(WTR::AccessibilityUIElement::columnCount): Ditto.
(WTR::AccessibilityUIElement::cellForColumnAndRow): Ditto.
(WTR::AccessibilityUIElement::press): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::hasPopup): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ATK] Protect entry points in the ATK wrapper against outdated render trees
https://bugs.webkit.org/show_bug.cgi?id=121558

Reviewed by Chris Fleizach.

Source/WebCore:

Make sure that we protect every entry point in the ATK wrapper
against outdated render trees, before using the WebCore's
accessibility API, since that might lead to problems (and crashes)
if the render and accessibility trees are not stable.

Thus, call AccessibilityObject::updateBackingStore() in those
entry points and check whether the ATK wrapper is detached or not
after that, to decide whether to continue or not.

Besides providing a new test to check that it WebKit does not
crash in a given scenario (which actually triggered the
investigation here), solving this situation also fixes other tests
that were previously failing (aria-used-on-image-maps.html) or
that were printing wrong results, not detected until now due to
wrong platform specific expectations (file-upload-button-stringvalue
and deleting-iframe-destroys-axcache).

Test: accessibility/heading-crash-after-hidden.html

* accessibility/atk/WebKitAccessibleUtil.h: Added two new macros
to inject the needed code at the beginning of each entry point to
allow gracefully exit those functions when the render tree is
unstable. Inspired by g_return_if_fail and g_return_val_if_fail, we
called them returnIfWebKitAccessibleIsInvalid and returnValIfWebKitAccessibleIsInvalid.

* accessibility/atk/WebKitAccessibleHyperlink.cpp:
(webkitAccessibleHyperlinkActionDoAction): Protect entry point.
(webkitAccessibleHyperlinkActionGetNActions): Ditto.
(webkitAccessibleHyperlinkActionGetDescription): Ditto.
(webkitAccessibleHyperlinkActionGetKeybinding): Ditto.
(webkitAccessibleHyperlinkActionGetName): Ditto.
(webkitAccessibleHyperlinkGetURI): Ditto.
(webkitAccessibleHyperlinkGetObject): Ditto.
(webkitAccessibleHyperlinkGetStartIndex): Ditto.
(webkitAccessibleHyperlinkGetEndIndex): Ditto.
(webkitAccessibleHyperlinkIsValid): Ditto.
(webkitAccessibleHyperlinkGetNAnchors): Ditto.
(webkitAccessibleHyperlinkIsSelectedLink): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
(webkitAccessibleActionDoAction): Ditto.
(webkitAccessibleActionGetNActions): Ditto.
(webkitAccessibleActionGetDescription): Ditto.
(webkitAccessibleActionGetKeybinding): Ditto.
(webkitAccessibleActionGetName): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
(webkitAccessibleComponentRefAccessibleAtPoint): Ditto.
(webkitAccessibleComponentGetExtents): Ditto.
(webkitAccessibleComponentGrabFocus): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
(webkitAccessibleDocumentGetAttributeValue): Ditto.
(webkitAccessibleDocumentGetAttributes): Ditto.
(webkitAccessibleDocumentGetLocale): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
(webkitAccessibleEditableTextSetRunAttributes): Ditto.
(webkitAccessibleEditableTextSetTextContents): Ditto.
(webkitAccessibleEditableTextInsertText): Ditto.
(webkitAccessibleEditableTextCopyText): Ditto.
(webkitAccessibleEditableTextCutText): Ditto.
(webkitAccessibleEditableTextDeleteText): Ditto.
(webkitAccessibleEditableTextPasteText): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
(webkitAccessibleHypertextGetLink): Ditto.
(webkitAccessibleHypertextGetNLinks): Ditto.
(webkitAccessibleHypertextGetLinkIndex): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
(webkitAccessibleImageGetImagePosition): Ditto.
(webkitAccessibleImageGetImageDescription): Ditto.
(webkitAccessibleImageGetImageSize): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
(webkitAccessibleSelectionAddSelection): Ditto.
(webkitAccessibleSelectionClearSelection): Ditto.
(webkitAccessibleSelectionRefSelection): Ditto.
(webkitAccessibleSelectionGetSelectionCount): Ditto.
(webkitAccessibleSelectionIsChildSelected): Ditto.
(webkitAccessibleSelectionRemoveSelection): Ditto.
(webkitAccessibleSelectionSelectAllSelection): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableRefAt): Ditto.
(webkitAccessibleTableGetIndexAt): Ditto.
(webkitAccessibleTableGetColumnAtIndex): Ditto.
(webkitAccessibleTableGetRowAtIndex): Ditto.
(webkitAccessibleTableGetNColumns): Ditto.
(webkitAccessibleTableGetNRows): Ditto.
(webkitAccessibleTableGetColumnExtentAt): Ditto.
(webkitAccessibleTableGetRowExtentAt): Ditto.
(webkitAccessibleTableGetColumnHeader): Ditto.
(webkitAccessibleTableGetRowHeader): Ditto.
(webkitAccessibleTableGetCaption): Ditto.
(webkitAccessibleTableGetColumnDescription): Ditto.
(webkitAccessibleTableGetRowDescription): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(webkitAccessibleTextGetText): Ditto.
(webkitAccessibleTextGetTextAfterOffset): Ditto.
(webkitAccessibleTextGetTextAtOffset): Ditto.
(webkitAccessibleTextGetTextBeforeOffset): Ditto.
(webkitAccessibleTextGetCharacterAtOffset): Ditto.
(webkitAccessibleTextGetCaretOffset): Ditto.
(webkitAccessibleTextGetRunAttributes): Ditto.
(webkitAccessibleTextGetDefaultAttributes): Ditto.
(webkitAccessibleTextGetCharacterExtents): Ditto.
(webkitAccessibleTextGetRangeExtents): Ditto.
(webkitAccessibleTextGetCharacterCount): Ditto.
(webkitAccessibleTextGetOffsetAtPoint): Ditto.
(webkitAccessibleTextGetNSelections): Ditto.
(webkitAccessibleTextGetSelection): Ditto.
(webkitAccessibleTextAddSelection): Ditto.
(webkitAccessibleTextSetSelection): Ditto.
(webkitAccessibleTextRemoveSelection): Ditto.
(webkitAccessibleTextSetCaretOffset): Ditto.
* accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
(webkitAccessibleValueGetCurrentValue): Ditto.
(webkitAccessibleValueGetMaximumValue): Ditto.
(webkitAccessibleValueGetMinimumValue): Ditto.
(webkitAccessibleValueSetCurrentValue): Ditto.
(webkitAccessibleValueGetMinimumIncrement): Ditto.
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(core): Removed, as it's not actually needed.
(webkitAccessibleGetName):  Protect entry point.
(webkitAccessibleGetDescription): Ditto.
(webkitAccessibleGetParent): Ditto.
(webkitAccessibleGetNChildren): Ditto.
(webkitAccessibleRefChild): Ditto.
(webkitAccessibleGetIndexInParent): Ditto.
(webkitAccessibleGetAttributes): Ditto.
(webkitAccessibleGetRole): Ditto.
(webkitAccessibleRefStateSet): Ditto.
(webkitAccessibleRefRelationSet): Ditto.
(webkitAccessibleGetObjectLocale): Ditto.
(webkitAccessibleDetach): Ditto.
(webkitAccessibleIsDetached): New helper function, to be used from
the newly added macros. We need to check whether the wrapper is
detached and not just the wrapper AccessibilityObject since once
the detachment happens we can't trust anything but the AtkObject
from the wrapper (the AccessibilityObject might be invalid).
* accessibility/atk/WebKitAccessibleWrapperAtk.h:

Assert that the render tree is neither being updated nor in need
of being updated before trying to compute the text under a given
element, since that might lead to crashes due to the constructor
of TextIterator calling updateLayoutIgnorePendingStylesheets().

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::textUnderElement): Assert that
the render tree is neither being updated nor needing updating.

LayoutTests:

Added a new test to check that we do not crash in certain
scenarios when hiding objects and retriving accessibility
information about it.

* accessibility/heading-crash-after-hidden-expected.txt: Added.
* accessibility/heading-crash-after-hidden.html: Added.

Rebaselined expectations that were wrong before, since they were
not returning the actual value that they should be returning when
called AccessibilityUIElement::stringValue().

* platform/efl-wk1/accessibility/file-upload-button-stringvalue-expected.txt:
Updated, since the actual text being returned should be the actual
value of the file chooser (e.g. "(None)") and not the text in the
upload botton (e.g. "Choose files").
* platform/efl-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Ditto.
* platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Ditto..
* platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Ditto.

* platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt:
Updated, since the iframe should be exposed at all after deleting it.

Removed accesibility test now passing after fixing this issue.

* platform/gtk/TestExpectations: Removed accessibility/aria-used-on-image-maps.html.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Mock implementations of positioning and orientation not used
https://bugs.webkit.org/show_bug.cgi?id=121956

Reviewed by Csaba Osztrogonác.

Move production_build checks to sanitizeFeatures where its value is actually known.

* qmake/mkspecs/features/features.prf:
* qmake/mkspecs/features/features.pri:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix force_static_libs_as_shared in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=121961

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

* WebCoreSupport/QWebFrameAdapter.h:

Source/WebKit2:

Do not add strict ordering for webkit2qml. It is not needed and causes
Target.pri to be built out of order.

* WebKit2.pro:

Tools:

Reenable force_static_libs_as_shared when building WebKit2.

* qmake/mkspecs/features/default_post.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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