WinCairo build fails to link.
https://bugs.webkit.org/show_bug.cgi?id=114358

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-04-10
Reviewed by Brent Fulgham.

Export the symbol WTF::MD5::checksum().

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disallow programmatic movement of the browser window while user gestures are in progress.
<http://webkit.org/b/114271>
<rdar://problem/13226530>

Reviewed by Oliver Hunt.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::moveBy):
(WebCore::DOMWindow::moveTo):
(WebCore::DOMWindow::resizeBy):
(WebCore::DOMWindow::resizeTo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Rename BlackBerry specific Texture class
https://bugs.webkit.org/show_bug.cgi?id=95781

Reviewed by Rob Buis.

Texture was a bit too generic and prone to name conflicts. Renamed it
to LayerTexture.

Source/WebCore:

No change in behavior, no new tests.

PR 322882

* PlatformBlackBerry.cmake:
* platform/graphics/blackberry/LayerCompositingThread.cpp:
(WebCore::LayerCompositingThread::drawSurface):
(WebCore::LayerCompositingThread::contentsTexture):
* platform/graphics/blackberry/LayerCompositingThread.h:
(LayerCompositingThread):
* platform/graphics/blackberry/LayerCompositingThreadClient.h:
(WebCore):
(WebCore::LayerCompositingThreadClient::contentsTexture):
* platform/graphics/blackberry/LayerFilterRenderer.cpp:
(WebCore::LayerFilterRenderer::applyActions):
* platform/graphics/blackberry/LayerFilterRenderer.h:
(LayerFilterRenderer):
* platform/graphics/blackberry/LayerRendererSurface.h:
(WebCore::LayerRendererSurface::texture):
(LayerRendererSurface):
* platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
(WebCore):
(WebCore::LayerTexture::LayerTexture):
(WebCore::LayerTexture::~LayerTexture):
(WebCore::LayerTexture::updateContents):
(WebCore::LayerTexture::setContentsToColor):
(WebCore::LayerTexture::protect):
* platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
(WebCore):
(LayerTexture):
(WebCore::LayerTexture::create):
(WebCore::LayerTexture::textureId):
(WebCore::LayerTexture::isDirty):
(WebCore::LayerTexture::hasTexture):
(WebCore::LayerTexture::isColor):
(WebCore::LayerTexture::isOpaque):
(WebCore::LayerTexture::isProtected):
(WebCore::LayerTexture::protect):
(WebCore::LayerTexture::unprotect):
(WebCore::LayerTexture::size):
(WebCore::LayerTexture::width):
(WebCore::LayerTexture::height):
(WebCore::LayerTexture::bytesPerPixel):
(WebCore::LayerTexture::sizeInBytes):
(WebCore::LayerTexture::setTextureId):
(WebCore::LayerTexture::setSize):
* platform/graphics/blackberry/LayerTile.cpp:
(WebCore::LayerTile::setContents):
(WebCore::LayerTile::updateContents):
(WebCore::LayerTile::setTexture):
* platform/graphics/blackberry/LayerTile.h:
(WebCore::LayerTile::texture):
(LayerTile):
* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::drawTile):
(WebCore::LayerTiler::contentsTexture):
* platform/graphics/blackberry/LayerTiler.h:
(LayerTiler):
(WebCore::LayerTiler::TextureJob::TextureJob):
(WebCore::LayerTiler::TextureJob::setContents):
(WebCore::LayerTiler::TextureJob::updateContents):
(TextureJob):
* platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
(WebCore::TextureProtector::TextureProtector):
(TextureProtector):
(WebCore::TextureCacheCompositingThread::allocateTextureId):
(WebCore::freeTextureId):
(WebCore::TextureCacheCompositingThread::textureResized):
(WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
(WebCore::TextureCacheCompositingThread::textureDestroyed):
(WebCore::TextureCacheCompositingThread::install):
(WebCore::TextureCacheCompositingThread::resizeTexture):
(WebCore::TextureCacheCompositingThread::evict):
(WebCore::TextureCacheCompositingThread::textureAccessed):
(WebCore::TextureCacheCompositingThread::prune):
(WebCore::TextureCacheCompositingThread::textureForTiledContents):
(WebCore::TextureCacheCompositingThread::textureForColor):
(WebCore::TextureCacheCompositingThread::updateContents):
* platform/graphics/blackberry/TextureCacheCompositingThread.h:
(WebCore::TextureCacheCompositingThread::createTexture):
(TextureCacheCompositingThread):
(WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
(ZombieTexture):

Source/WebKit/blackberry:

PR 322882

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
* Api/WebOverlay_p.h:
(WebOverlayLayerCompositingThreadClient):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG: Negative size for new Array() interpreted as large unsigned int
https://bugs.webkit.org/show_bug.cgi?id=114366

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Added new check in operationNewArrayWithSize() for a negative
size.  If size is negative throw a "RangeError: Array size is not a
small enough positive integer" exception.

* dfg/DFGOperations.cpp:

LayoutTests:

New test to make sure DFG generated code for new Array() with a
computed negative size throws an exception.

* fast/js/dfg-negative-array-size-expected.txt: Added.
* fast/js/dfg-negative-array-size.html: Added.
* fast/js/script-tests/dfg-negative-array-size.js: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clicking on the volume slider of HTML5 elements is pausing sometimes
https://bugs.webkit.org/show_bug.cgi?id=112548

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-04-10
Reviewed by Eric Carlson.

Source/WebCore:

Test: media/click-volume-bar-not-pausing.html

* html/shadow/MediaControlElementTypes.cpp:
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
Calling the setDefaultHandled() method on the event prevents it
from being incorrectly propagated from the volume button up to the
MediaDocument.

LayoutTests:

Added test.

* media/click-volume-bar-not-pausing-expected.txt: Added.
* media/click-volume-bar-not-pausing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change all instances of test-results.appspot.com to webkit-test-results.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=114370

Reviewed by Ryosuke Niwa.

Finish the transition of WebKit over to it's own instance of the flakiness dashboard.
Unfortunately, there's no way to test this until this is committed and there is
a master restart.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
* TestResultServer/generate_builders_json.py:
* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/loader.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed buildfix after r148123.

* inspector/InspectorInstrumentation.h:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove code duplicates from MacroAssemblerARM
https://bugs.webkit.org/show_bug.cgi?id=104457

Reviewed by Oliver Hunt.

Reuse some existing methods to avoid duplicated code.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::store8):
(JSC::MacroAssemblerARM::store32):
(JSC::MacroAssemblerARM::swap):
(JSC::MacroAssemblerARM::add32):
(JSC::MacroAssemblerARM::sub32):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Make sure all AX methods called from outside call prepareAccessibility
https://bugs.webkit.org/show_bug.cgi?id=113818

Reviewed by Darin Adler.

Make sure any calls that can be made from outside WebCore are protected with the
prepareAccessibility method.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
(-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathType]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
https://bugs.webkit.org/show_bug.cgi?id=113906

Reviewed by Tim Horton.

Source/WebCore: 

If an element does not expose any children, then it's safe to include all of its sub children when determining
the visible text.
The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text

Test: accessibility/link-inside-button-accessible-text.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::shouldUseAccessiblityObjectInnerText):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isDescendantOfBarrenParent):
(AccessibilityObject):

LayoutTests: 

The static-text-role-uses-text-under-element.html relies on similar logic to this bug.

I realized that it was verifying the wrong thing and if we had looked closely at this layout test
we would have caught this regression earlier most likely.

* accessibility/link-inside-button-accessible-text-expected.txt: Added.
* accessibility/link-inside-button-accessible-text.html: Added.
* platform/mac/accessibility/static-text-role-uses-text-under-element-expected.txt:
* platform/mac/accessibility/static-text-role-uses-text-under-element.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FindBanner matches are offset when the WKView has a header or footer
https://bugs.webkit.org/show_bug.cgi?id=114314
-and corresponding-
<rdar://problem/13522434>

Reviewed by Simon Fraser.

Source/WebCore: 

There were already a few places in the code where we needed to adjust the 
scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
the top of the header. To fix the FindBanner issues, we need to know that version 
of the offset in a few more places, so I added a function on ScrollView to fetch 
it called scrollOffsetRelativeToDocument().

New function subtracts out the headerHeight() to treat the top of 
the document as (0,0).
* WebCore.exp.in:
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollOffsetRelativeToDocument):

Use scrollOffsetRelativeToDocument() where we were previously making this 
calculation. Also re-name an inaccurately named variable where we are actually 
converting FROM a document offset to a ScrollableArea offset.
(WebCore::ScrollView::windowToContents):
* platform/ScrollView.h:
(ScrollView):

getRectToExpose needs to know about the actual visibleContentRect and the 
visibleContentRect that is relative to the Document. So this 
patch adds a new parameter to getRectToExpose for that purpose.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::getRectToExpose):
* rendering/RenderLayer.h:

Source/WebKit2: 

When calculating the matching rects, also adjust to the scroll offset that is  
relative to the Document.
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::rectsForTextMatches):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
One more unreviewed buildfix after r148123.

* platform/graphics/filters/CustomFilterMeshGenerator.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
https://bugs.webkit.org/show_bug.cgi?id=113730

Reviewed by Dirk Schulze.

Source/WebCore:

Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
that they fall within the shape's LayoutUnit bounding box.

Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html

* rendering/ExclusionPolygon.cpp:
(WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
(WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
(WebCore::computeShapeMarginBounds): Ditto.

LayoutTests:

Verify that content lays out within a padded shape-inside polygon when the
document has been zoomed.

* fast/exclusions/shape-inside/shape-inside-polygon-zoom-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-polygon-zoom.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] in-band tracks sometimes not recognized
https://bugs.webkit.org/show_bug.cgi?id=114380

Reviewed by Jer Noble.

No new tests, covered by existing in-band tests.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
    availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
    selection.
(WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
    to change.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[wk2] REGRESSION: Find highlight does not update when the view is resized
https://bugs.webkit.org/show_bug.cgi?id=114382
<rdar://problem/13599797>

Reviewed by Simon Fraser.

Invalidate the page overlays from TiledCoreAnimationDrawingArea::updateGeometry.
This will have no effect if the page overlay hasn't previously asked to be painted
(as drawsContent will remain false on the layer).

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Add invalidateAllPageOverlays.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::invalidateAllPageOverlays): Factor this out of didChangeScrollOffsetForAnyFrame.
(WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame): Call invalidateAllPageOverlays.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Call invalidateAllPageOverlays.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSObject::getOwnNonIndexPropertyNames calculates numCacheableSlots incorrectly
https://bugs.webkit.org/show_bug.cgi?id=114235

Reviewed by Filip Pizlo.

If the object doesn't have any properties but the prototype does, we'll assume those prototype properties are 
accessible in the base object's backing store, which is bad.

Source/JavaScriptCore: 

* runtime/JSObject.cpp:
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::getOwnNonIndexPropertyNames):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::setNumCacheableSlotsForObject):
(JSC::PropertyNameArray::setBaseObject):
(PropertyNameArray):

LayoutTests: 

* fast/js/get-by-pname-only-prototype-properties-expected.txt: Added.
* fast/js/get-by-pname-only-prototype-properties.html: Added.
* fast/js/script-tests/get-by-pname-only-prototype-properties.js: Added.
(foo):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[wk2] Un-pollute TCADA methods with "PageOverlayLayerMap::iterator end"
https://bugs.webkit.org/show_bug.cgi?id=114387

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::paintContents):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
        https://bugs.webkit.org/show_bug.cgi?id=114377

        Reviewed by Darin Adler.

        Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
        new enough libxml2.

        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
        (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
        way, so that the new libxml2 check doesn't fail.
        (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
        comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flesh out the Animations logging
https://bugs.webkit.org/show_bug.cgi?id=114388

Reviewed by Dean Jackson.

Log state changes and transition/animation creation and destruction
to the Animations log channel.

* page/animation/AnimationBase.cpp:
(WebCore::nameForState):
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::goIntoEndingOrLoopingState):
(WebCore::AnimationBase::freezeAtTime):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
* page/animation/KeyframeAnimation.h:
(WebCore::KeyframeAnimation::keyframes):
(KeyframeAnimation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Chromium EWS bots from the queue status server
https://bugs.webkit.org/show_bug.cgi?id=113988

Reviewed by Benjamin Poulain.

Removed Chromium EWS bots. Also updated it to use webkit-queues.appspot.com.

* QueueStatusServer/app.yaml:
* QueueStatusServer/config/queues.py:
* QueueStatusServer/model/queues.py:
(Queue.short_name):
(Queue.display_name):
* QueueStatusServer/model/queues_unittest.py:
(QueueTest.test_short_name):
(QueueTest.test_display_name):
(QueueTest.test_name_with_underscores):
* QueueStatusServer/templates/activebots.html:


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