ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
https://bugs.webkit.org/show_bug.cgi?id=69777

Patch by Sergey Glazunov <serg.glazunov@gmail.com> on 2011-11-16
Reviewed by Adam Barth.

* http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url-expected.txt: Added.
* http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add ewk_settings_memory_cache_clear().
https://bugs.webkit.org/show_bug.cgi?id=72141

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-11-16
Reviewed by Kenneth Rohde Christiansen.

This is the same as Qt's QWebSettings::clearMemoryCaches() and is
responsible for clearing, among others, the page, memory and font
caches.

* ewk/ewk_settings.cpp:
(ewk_settings_memory_cache_clear):
* ewk/ewk_settings.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSS 2.1 failure: border-collapse-offset-002.htm fails
https://bugs.webkit.org/show_bug.cgi?id=71705

Source/WebCore:

Table captions are implemented as children of the table but have a special
requirement to expand to the full width of the table rather than just the 'available'
width, i.e. the full width minus padding and borders.

To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
to return the full width of the containing block (i.e. the table) rather than the available width.

Reviewed by Antti Koivisto.

* CMakeLists.txt: Add RenderTableCaption.[cpp|h]
* GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
* Target.pri: Add RenderTableCaption.[cpp|h]
* WebCore.gypi: Add RenderTableCaption.[cpp|h]
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
(WebCore::RenderObject::addChild): ditto
* rendering/RenderObject.h:
(WebCore::RenderObject::isTableCaption):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp: Added.
(WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
(WebCore::RenderTableCaption::~RenderTableCaption):
(WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
* rendering/RenderTableCaption.h: Added.
(WebCore::RenderTableCaption::isTableCaption):
(WebCore::toRenderTableCaption):

LayoutTests:

Table captions now use the width of the table rather than the width of the table minus
the borders. This allows captions to center accurately but unfortunately a lot of mozilla
table tests need to be rebaselined as many of them use captions for explaining the purpose
of individual test files!

Add border-collapse-offset-002.htm which now renders correctly.

Affected tables/mozilla tests are rebaselined in a follow-up patch.

Reviewed by Antti Koivisto.

* css2.1/20110323/border-collapse-offset-002.htm: Added.
* platform/chromium-linux-x86/css2.1/20110323/border-collapse-offset-002-expected.png: Added.
* platform/chromium-linux-x86/css2.1/20110323/border-collapse-offset-002-expected.txt: Added.
* platform/chromium-linux/fast/dom/HTMLTableElement/colSpan-expected.png:
* platform/chromium-linux/fast/dom/HTMLTableElement/createCaption-expected.png:
* platform/chromium-win/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/chromium-win/fast/dom/HTMLTableElement/colSpan-expected.txt:
* platform/chromium-win/fast/dom/HTMLTableElement/createCaption-expected.txt:
* platform/mac/fast/repaint/table-section-repaint-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add minimum/maximumPageScaleFactor API and clamp fixes
https://bugs.webkit.org/show_bug.cgi?id=72463

Patch by Alexandre Elias <aelias@google.com> on 2011-11-16
Reviewed by Darin Fisher.

We need a way to read back the computed min/max page scale factor in
order to support the software path, and for some application logic
such as zooming in/out when tapping form fields.

I also added a few clamp calls that are needed in some corner cases.

* public/WebView.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setPageScaleFactor):
(WebKit::WebViewImpl::setPageScaleFactorLimits):
(WebKit::WebViewImpl::minimumPageScaleFactor):
(WebKit::WebViewImpl::maximumPageScaleFactor):
* src/WebViewImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove extra GraphicsContextStateSaver restore() call.
https://bugs.webkit.org/show_bug.cgi?id=72497

Patch by Philip Rogers <pdr@google.com> on 2011-11-16
Reviewed by Andreas Kling.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update test results after tightening up SecurityOrigin logic in
http://trac.webkit.org/changeset/100182.  These new results are (minor)
progressions on these tests.

* http/tests/security/cross-frame-access-enumeration-expected.txt:
* http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unskip these tests now that they should pass again.

* platform/gtk/Skipped:
* platform/qt/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build on Windows and Mac after r100473

Unreviewed, fix build.

* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderingAllInOne.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSValue: isInheritedValue() doesn't need a dedicated bit.
<http://webkit.org/b/72514>

Patch by Andreas Kling <kling@webkit.org> on 2011-11-16
Reviewed by Antti Koivisto.

Remove CSSValue::m_isInherited and have isInheritedValue() check the
class type instead. There's no compelling reason for CSSInheritedValue
to have a dedicated bit, since nobody subclasses it anyway.

* css/CSSValue.h:
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::CSSValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=72400
Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
-and corresponding-
<rdar://problem/10409328>

Reviewed by Darin Adler.

Source/WebCore: 

This patch makes it so we track the mouse all the time when we have legacy 
scrollbars (rather than only tracking the mouse when the window is key). When 
we're in that mode, we want to do as little work as possible when handling the 
mouseMoved event so that this extra tracking has little to no performance impact. 
Also, we don't want to change basic behaviors by having normal web content hover 
effects start happening when a window is in the background. So this patch also 
introduces a way to handle a mouseMoved event that will only affect scrollbars.

EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a 
boolean parameter that indicates if we are only updating scrollbars. If that is 
the case, then we make our HitTestRequest ReadOnly, and we return early once 
updateLastScrollbarUnderMouse() is called.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseMoveEvent):

In addition to calling Scrollbar::mouseExited() when appropriate, this function 
now calls a new function, Scrollbar::mouseEntered() when appropriate. 
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* page/EventHandler.h:

Scrollbar::mouseMoved() used to be responsible for calling 
ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes 
care of that instead, much like how Scrollbar::mouseExited() takes care of calling 
the animator's exit function.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseEntered):
* platform/Scrollbar.h:

Source/WebKit2: 

Set up our initial tracking area based on the currently recommended scrollbar 
style. Track the mouse all the time if the style is legacy.
* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:contextRef:pageGroupRef:]):

Now that we might be getting mouseMoved events all the time even when the window 
is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 
EventHandler::mouseMoved() when the window is not focused.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleMouseEvent):
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::mouseEventSyncForTesting):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/frames/sandboxed-iframe-navigation-targetlink.html crashes occasionally on Chromium Mac dbg
https://bugs.webkit.org/show_bug.cgi?id=72530

Unreviewed gardening

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
https://bugs.webkit.org/show_bug.cgi?id=69219

Reviewed by Martin Robinson.

Source/WebCore:

Do not stop appending data to the request body if any of the blob
items to upload is not accesible.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addEncodedBlobToSoupMessageBody):

LayoutTests:

Unskipped a test that now pass.

* platform/gtk/Skipped: unskipped http/tests/local/blob/send-hybrid-blob.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKitTestRunner needs to support accessibility-related DRT APIs
https://bugs.webkit.org/show_bug.cgi?id=42131

../WebCore: 

Minor changes needed to support AX testing in WKTestRunner.

Reviewed by Beth Dakin.

* WebCore.exp.in:
     Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(accessibilitySearchKeyForString):
    Remove an unncessary assert that was causing issues with the WK2 test run.

../WebKit2: 

Allow the injected bundle to retrieve the focused and root accessibility
objects.

Reviewed by Beth Dakin.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKAccessibilityRootObject):
(WKAccessibilityFocusedObject):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKitTestRunner needs to support accessibility-related DRT APIs
https://bugs.webkit.org/show_bug.cgi?id=42131

Tools: 

Reviewed by Beth Dakin.

Port the AX code in DRT to WKTestRunner by using IDL.

* DumpRenderTree/AccessibilityUIElement.cpp:
(horizontalScrollbarCallback):
(verticalScrollbarCallback):
(AccessibilityUIElement::horizontalScrollbar):
(AccessibilityUIElement::verticalScrollbar):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::horizontalScrollbar):
(AccessibilityUIElement::verticalScrollbar):
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Added.
(WTR::AccessibilityController::create):
(WTR::AccessibilityController::AccessibilityController):
(WTR::AccessibilityController::~AccessibilityController):
(WTR::AccessibilityController::makeWindowObject):
(WTR::AccessibilityController::wrapperClass):
(WTR::AccessibilityController::rootElement):
(WTR::AccessibilityController::focusedElement):
(WTR::AccessibilityController::elementAtPoint):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h: Added.
(WTR::AccessibilityController::logFocusEvents):
(WTR::AccessibilityController::logValueChangeEvents):
(WTR::AccessibilityController::logScrollingStartEvents):
(WTR::AccessibilityController::logAccessibilityEvents):
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::notificationReceived):
(WTR::AccessibilityController::resetToConsistentState):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Added.
(WTR::AccessibilityTextMarker::create):
(WTR::AccessibilityTextMarker::AccessibilityTextMarker):
(WTR::AccessibilityTextMarker::~AccessibilityTextMarker):
(WTR::AccessibilityTextMarker::platformTextMarker):
(WTR::AccessibilityTextMarker::wrapperClass):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.h: Added.
(WTR::AccessibilityTextMarker::isEqual):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Added.
(WTR::AccessibilityTextMarkerRange::create):
(WTR::AccessibilityTextMarkerRange::AccessibilityTextMarkerRange):
(WTR::AccessibilityTextMarkerRange::~AccessibilityTextMarkerRange):
(WTR::AccessibilityTextMarkerRange::platformTextMarkerRange):
(WTR::AccessibilityTextMarkerRange::wrapperClass):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Added.
(WTR::AccessibilityTextMarkerRange::isEqual):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Added.
(WTR::AccessibilityUIElement::create):
(WTR::AccessibilityUIElement::wrapperClass):
(WTR::AccessibilityUIElement::isValid):
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::~AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::takeSelection):
(WTR::AccessibilityUIElement::addSelection):
(WTR::AccessibilityUIElement::removeSelection):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::attributesOfDocumentLinks):
(WTR::AccessibilityUIElement::attributesOfChildren):
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isActionSupported):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::accessibilityValue):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::insertionPointLineNumber):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired):
(WTR::AccessibilityUIElement::isFocused):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::setSelectedChild):
(WTR::AccessibilityUIElement::selectedChildrenCount):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::isExpanded):
(WTR::AccessibilityUIElement::isChecked):
(WTR::AccessibilityUIElement::isVisible):
(WTR::AccessibilityUIElement::isOffScreen):
(WTR::AccessibilityUIElement::isCollapsed):
(WTR::AccessibilityUIElement::isIgnored):
(WTR::AccessibilityUIElement::hasPopup):
(WTR::AccessibilityUIElement::hierarchicalLevel):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::speak):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::indexInTable):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaIsGrabbed):
(WTR::AccessibilityUIElement::ariaDropEffects):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Added.
(WTR::AccessibilityUIElement::platformUIElement):
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl: Added.
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarker.idl: Added.
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarkerRange.idl: Added.
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: Added.
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::accessibilityController):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didClearWindowForFrame):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:
* WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp:
(WTR::LayoutTestController::platformName):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm: Added.
(WTR::AccessibilityTextMarker::isEqual):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm: Added.
(WTR::AccessibilityTextMarkerRange::isEqual):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: Added.
(+[NSString stringWithJSStringRef:]):
(-[NSString createJSStringRef]):
(-[AccessibilityNotificationHandler initWithPlatformElement:]):
(-[AccessibilityNotificationHandler dealloc]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
(-[AccessibilityNotificationHandler setCallback:]):
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::~AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::descriptionOfValue):
(WTR::attributesOfElement):
(WTR::concatenateAttributeAndValue):
(WTR::convertNSArrayToVector):
(WTR::descriptionOfElements):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedChildrenCount):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
(WTR::AccessibilityUIElement::attributesOfDocumentLinks):
(WTR::AccessibilityUIElement::attributesOfChildren):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::insertionPointLineNumber):
(WTR::AccessibilityUIElement::isActionSupported):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired):
(WTR::AccessibilityUIElement::isFocused):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isExpanded):
(WTR::AccessibilityUIElement::isChecked):
(WTR::AccessibilityUIElement::hierarchicalLevel):
(WTR::AccessibilityUIElement::speak):
(WTR::AccessibilityUIElement::ariaIsGrabbed):
(WTR::AccessibilityUIElement::ariaDropEffects):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::indexInTable):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild):
(WTR::AccessibilityUIElement::accessibilityValue):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::isVisible):
(WTR::AccessibilityUIElement::isOffScreen):
(WTR::AccessibilityUIElement::isCollapsed):
(WTR::AccessibilityUIElement::isIgnored):
(WTR::AccessibilityUIElement::hasPopup):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::takeSelection):
(WTR::AccessibilityUIElement::addSelection):
(WTR::AccessibilityUIElement::removeSelection):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
* WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm:
(WTR::LayoutTestController::platformName):
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp:
(WTR::LayoutTestController::platformName):
* WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp:
(WTR::LayoutTestController::platformName):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/win/InjectedBundle.vcproj:

LayoutTests: 

Cleanup tests and skip lists so that accessibility tests can run
in WK2. This mostly involved handling returned elements that might be nil,
something that did not happen in DRT.

Reviewed by Beth Dakin.

* accessibility/aria-labelledby-overrides-label-expected.txt:
* accessibility/aria-labelledby-overrides-label.html:
* accessibility/non-data-table-cell-title-ui-element.html:
* accessibility/th-as-title-ui.html:
    Make sure a nil titleUIElement is accounted for in these tests.
* platform/gtk-wk2/Skipped:
* platform/mac/accessibility/aria-expanded-notifications-expected.txt:
* platform/mac/accessibility/aria-expanded-notifications.html:
* platform/mac/accessibility/aria-invalid-expected.txt:
* platform/mac/accessibility/aria-invalid.html:
* platform/mac/accessibility/aria-liveregions-addedelement-expected.txt:
* platform/mac/accessibility/aria-liveregions-addedelement.html:
* platform/mac/accessibility/aria-liveregions-changedalt-expected.txt:
* platform/mac/accessibility/aria-liveregions-changedalt.html:
* platform/mac/accessibility/aria-liveregions-changedtext-expected.txt:
* platform/mac/accessibility/aria-liveregions-changedtext.html:
* platform/mac/accessibility/aria-liveregions-removedelement-expected.txt:
* platform/mac/accessibility/aria-liveregions-removedelement.html:
     All the preceeding layout tests use alert() to output the results of notifications. This
     is causing re-ordering issues on WK2, so I've moved them all to output that notification
     data to a separate element from "console".
* platform/mac/accessibility/html-section-elements-expected.txt:
* platform/mac/accessibility/html-section-elements.html:
     Remove nil element access that is unnecessary.
* platform/mac/accessibility/html-slider-indicator-expected.txt:
* platform/mac/accessibility/html-slider-indicator.html:
* platform/mac/accessibility/search-predicate.html:
     Add an alt tag to <img> so that it always shows up in the AX tree.
* platform/mac/accessibility/selection-value-changes-for-aria-textbox.html:
* platform/mac/accessibility/textbox-role-reports-notifications-expected.txt:
     Remove the notification listener properly (was causing flakiness).
* platform/mac/accessibility/textbox-role-reports-notifications.html:
* platform/mac/accessibility/update-children-when-aria-role-changes-expected.txt:
* platform/mac/accessibility/update-children-when-aria-role-changes.html:
     Account for when element's returned are nil.
* platform/win-wk2/Skipped:
     Skip all accessibility tests on win.
* platform/wk2/Skipped:
     Skip all accessibility tests on gtk.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r100479.
http://trac.webkit.org/changeset/100479
https://bugs.webkit.org/show_bug.cgi?id=72533

"Broke the Mac Build" (Requested by mwenge2 on #webkit).

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

* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderingAllInOne.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r100473.
http://trac.webkit.org/changeset/100473
https://bugs.webkit.org/show_bug.cgi?id=72534

"Broke the Mac Build" (Requested by mwenge2 on #webkit).

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

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
(WebCore::RenderObject::addChild):
* rendering/RenderObject.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp: Removed.
* rendering/RenderTableCaption.h: Removed.

LayoutTests:

* css2.1/20110323/border-collapse-offset-002.htm: Removed.
* platform/chromium-linux-x86/css2.1/20110323/border-collapse-offset-002-expected.png: Removed.
* platform/chromium-linux-x86/css2.1/20110323/border-collapse-offset-002-expected.txt: Removed.
* platform/chromium-linux/fast/dom/HTMLTableElement/colSpan-expected.png:
* platform/chromium-linux/fast/dom/HTMLTableElement/createCaption-expected.png:
* platform/chromium-win/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/chromium-win/fast/dom/HTMLTableElement/colSpan-expected.txt:
* platform/chromium-win/fast/dom/HTMLTableElement/createCaption-expected.txt:
* platform/mac/fast/repaint/table-section-repaint-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Run a dummy test in the gpu configurations if there's nothing to do.
https://bugs.webkit.org/show_bug.cgi?id=72498

Reviewed by James Robinson.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=72535

Reviewed by Anders Carlsson.

LayerFlushScheduler attempted to use a counter strategy for calls to
suspend() and resume(), which allowed us to assert that these calls
were balanced. Unfortunately it is hard to guarantee this in WebKit2,
where we sometimes try to call suspend() before we've entered
compositing mode (hence before we have a LayerTreeHost and a
LayerFlushScheduler). When we later call resume(), this call ends up
being unbalanced and asserts.

For now, remove the assertions and allow unbalanced calls to suspend()
and resume().

* platform/graphics/ca/LayerFlushScheduler.cpp:
(WebCore::LayerFlushScheduler::suspend):
(WebCore::LayerFlushScheduler::resume):
* platform/graphics/ca/LayerFlushScheduler.h:
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::LayerFlushScheduler):
(WebCore::LayerFlushScheduler::runLoopObserverCallback):
(WebCore::LayerFlushScheduler::schedule):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
De-virtualize ExecutableBase::clearCodeVirtual
https://bugs.webkit.org/show_bug.cgi?id=72337

Reviewed by Darin Adler.

Added static finalize functions to the subclasses of ExecutableBase that provide an implementation 
of clearCodeVirtual, changed all of the clearCodeVirtual methods to non-virtual clearCode method,
and had the finalize functions call the corresponding clearCode methods.

* runtime/Executable.cpp:
(JSC::ExecutableBase::clearCode):
(JSC::NativeExecutable::finalize):
(JSC::EvalExecutable::finalize):
(JSC::EvalExecutable::clearCode):
(JSC::ProgramExecutable::finalize):
(JSC::ProgramExecutable::clearCode):
(JSC::FunctionExecutable::discardCode):
(JSC::FunctionExecutable::finalize):
(JSC::FunctionExecutable::clearCode):
* runtime/Executable.h:
(JSC::ExecutableBase::finishCreation):
(JSC::NativeExecutable::create):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::create):
(JSC::FunctionExecutable::create):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[NRWT] refactor drivers to require pixel_tests param
https://bugs.webkit.org/show_bug.cgi?id=72517

Reviewed by Ojan Vafai.

No tests, just a refactoring.

* Scripts/webkitpy/layout_tests/port/chromium.py:
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:


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