1. 05 Apr, 2012 40 commits
    • benjamin@webkit.org's avatar
      Speed up the conversion from JSValue to String for bulk operations · 8063cc71
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83243
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
      Reviewed by Geoffrey Garen.
      
      When making operations on primitive types, we loose some time converting
      values to JSString in order to extract the string.
      
      This patch speeds up some basic Array operations by avoiding the creation
      of intermediary JSString when possible.
      
      For the cases where we need to convert a lot of JSValue in a tight loop,
      an inline conversion is used.
      
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToString):
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      (JSC::arrayProtoFuncPush):
      (JSC::arrayProtoFuncSort):
      * runtime/CommonIdentifiers.h:
      * runtime/JSArray.cpp:
      (JSC::JSArray::sort):
      * runtime/JSString.h:
      (JSC::JSValue::toUString):
      (JSC):
      (JSC::inlineJSValueNotStringtoUString):
      (JSC::JSValue::toUStringInline):
      * runtime/JSValue.cpp:
      (JSC::JSValue::toUStringSlowCase):
      (JSC):
      * runtime/JSValue.h:
      (JSValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8063cc71
    • jsbell@chromium.org's avatar
      IndexedDB: Support string.length in keyPaths · 3853eb01
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83221
      
      Source/WebCore:
      
      Special case in the IDB spec - keyPaths can reference the |length| property
      of string values. Other instrinsic properties (|length| of Array, etc) are
      handled automagically. Relevant section of the updated spec is:
      http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-path-construct
      
      Reviewed by Kentaro Hara.
      
      Test: storage/indexeddb/keypath-intrinsic-properties.html
      
      * bindings/v8/IDBBindingUtilities.cpp:
      (WebCore):
      
      LayoutTests:
      
      Reviewed by Kentaro Hara.
      
      * storage/indexeddb/keypath-intrinsic-properties-expected.txt: Added.
      * storage/indexeddb/keypath-intrinsic-properties.html: Added.
      * storage/indexeddb/resources/keypath-intrinsic-properties.js: Added.
      (test.request.onsuccess):
      (test):
      (openSuccess.request.onsuccess):
      (openSuccess):
      (testKeyPaths.checkStringLengths.request.onsuccess):
      (testKeyPaths.checkStringLengths):
      (testKeyPaths.checkArrayLengths.request.onsuccess):
      (testKeyPaths.checkArrayLengths):
      (testKeyPaths):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3853eb01
    • tony@chromium.org's avatar
      [chromium] Unreviewed gardening. Remove some tests that are passing consistently. · 875bc8c1
      tony@chromium.org authored
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      875bc8c1
    • tony@chromium.org's avatar
      [chromium] Unreviewed gardening. · a4d9fcba
      tony@chromium.org authored
      fast/js/cross-global-object-inline-global-var.html is flakey on win debug and
      fast/forms/select-style.html is consistently passing.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4d9fcba
    • benjamin@webkit.org's avatar
      Use QuickSort when sorting primitive values by string representation · 82dfe3e0
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83312
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
      Reviewed by Gavin Barraclough.
      
      When the value we are sorting are all primitive values, we do not need to
      ensure a stable sort as two values with equal string representation are
      indistinguishable from JavaScript.
      
      This gives about 16% performance increase when sorting primitive values.
      
      * runtime/JSArray.cpp:
      (JSC::JSArray::sort):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82dfe3e0
    • commit-queue@webkit.org's avatar
      [BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia · e876f360
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83314
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-05
      Reviewed by George Staikos.
      
      RIM PR: 143771
      One new virtual method was added to the SkCanvas, to draw a nine piece
      image. Override it and mark output as not being a solid color anymore.
      
      * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
      (WebCore::InstrumentedPlatformCanvas::drawBitmapNine):
      (InstrumentedPlatformCanvas):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e876f360
    • oliver@apple.com's avatar
      SIGILL in JavaScriptCore on a Geode processor · 47d4cd2e
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=82496
      
      Reviewed by Gavin Barraclough.
      
      Don't attempt to use the DFG when SSE2 is not available.
      
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::canCompileOpcodes):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47d4cd2e
    • dino@apple.com's avatar
      [mac] requestAnimationFrame sometimes stuck when page loads in a background tab · b508c8bb
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=76105
      
      Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
      This means a Page might start requestAnimationFrame-based animations
      even when it isn't visible. This should only happen when a Page is
      opened in the background though. The regular hide and show should still
      pause animations.
      
      * WebProcess/WebPage/DrawingAreaImpl.cpp:
      (WebKit::DrawingAreaImpl::resumePainting):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b508c8bb
    • oliver@apple.com's avatar
      Make WebCore use jsCast rather than static_cast for casting JSC objects · ffe14426
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83320
      
      Reviewed by Stephanie Lewis.
      
      Mechanically replace static_cast with jsCast where ever we can.
      
      * WebCore.exp.in:
      * bindings/js/DOMWrapperWorld.cpp:
      (WebCore::JSStringOwner::finalize):
      * bindings/js/DOMWrapperWorld.h:
      (WebCore::currentWorld):
      * bindings/js/JSArrayBufferCustom.cpp:
      (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
      * bindings/js/JSAudioContextCustom.cpp:
      (WebCore::JSAudioContextConstructor::constructJSAudioContext):
      * bindings/js/JSCSSRuleListCustom.cpp:
      (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
      (WebCore::cssPropertyGetterCallback):
      * bindings/js/JSCSSValueCustom.cpp:
      (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
      (WebCore::JSCSSValueOwner::finalize):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::reportException):
      * bindings/js/JSDOMBinding.h:
      (WebCore::deprecatedGlobalObjectForPrototype):
      (WebCore::getDOMPrototype):
      * bindings/js/JSDOMFormDataCustom.cpp:
      (WebCore::toHTMLFormElement):
      (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
      * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
      (WebCore::JSDOMMimeTypeArray::nameGetter):
      * bindings/js/JSDOMPluginArrayCustom.cpp:
      (WebCore::JSDOMPluginArray::nameGetter):
      * bindings/js/JSDOMPluginCustom.cpp:
      (WebCore::JSDOMPlugin::nameGetter):
      * bindings/js/JSDOMStringMapCustom.cpp:
      (WebCore::JSDOMStringMap::nameGetter):
      * bindings/js/JSDOMWindowBase.cpp:
      (WebCore::toJSDOMWindow):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::childFrameGetter):
      (WebCore::indexGetter):
      (WebCore::namedItemGetter):
      (WebCore::toDOMWindow):
      * bindings/js/JSDOMWindowCustom.h:
      (WebCore::asJSDOMWindow):
      * bindings/js/JSDOMWindowShell.h:
      (WebCore::JSDOMWindowShell::window):
      * bindings/js/JSDOMWrapper.h:
      (WebCore::JSDOMWrapper::globalObject):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::JSDataViewConstructor::constructJSDataView):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JSEventTarget.cpp:
      (WebCore):
      (WebCore::toEventTarget):
      * bindings/js/JSFloat32ArrayCustom.cpp:
      (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
      * bindings/js/JSFloat64ArrayCustom.cpp:
      (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
      * bindings/js/JSGeolocationCustom.cpp:
      (WebCore::JSGeolocation::getCurrentPosition):
      (WebCore::JSGeolocation::watchPosition):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      (WebCore::callHTMLAllCollection):
      (WebCore::JSHTMLAllCollection::nameGetter):
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::JSHTMLCollection::nameGetter):
      * bindings/js/JSHTMLDocumentCustom.cpp:
      (WebCore::JSHTMLDocument::nameGetter):
      * bindings/js/JSHTMLFormElementCustom.cpp:
      (WebCore::JSHTMLFormElement::nameGetter):
      * bindings/js/JSHTMLFrameSetElementCustom.cpp:
      (WebCore::JSHTMLFrameSetElement::nameGetter):
      * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
      (WebCore::JSHTMLOptionsCollection::remove):
      * bindings/js/JSImageConstructor.cpp:
      (WebCore::constructImage):
      * bindings/js/JSInjectedScriptManager.cpp:
      (WebCore::InjectedScriptManager::createInjectedScript):
      (WebCore::InjectedScriptManager::discardInjectedScript):
      (WebCore::InjectedScriptManager::injectedScriptFor):
      * bindings/js/JSInt16ArrayCustom.cpp:
      (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
      * bindings/js/JSInt32ArrayCustom.cpp:
      (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
      * bindings/js/JSInt8ArrayCustom.cpp:
      (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
      * bindings/js/JSLazyEventListener.cpp:
      (WebCore::JSLazyEventListener::initializeJSFunction):
      * bindings/js/JSNamedNodeMapCustom.cpp:
      (WebCore::JSNamedNodeMap::nameGetter):
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
      (WebCore::JSNodeOwner::finalize):
      * bindings/js/JSNodeCustom.h:
      (WebCore::toJS):
      * bindings/js/JSNodeFilterCustom.cpp:
      (WebCore::toNodeFilter):
      * bindings/js/JSNodeListCustom.cpp:
      (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
      (WebCore::JSNodeList::nameGetter):
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::runtimeObjectPropertyGetter):
      (WebCore::callPlugin):
      * bindings/js/JSPopStateEventCustom.cpp:
      (WebCore::JSPopStateEvent::state):
      * bindings/js/JSSQLTransactionCustom.cpp:
      (WebCore::JSSQLTransaction::executeSql):
      * bindings/js/JSSharedWorkerCustom.cpp:
      (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
      * bindings/js/JSStorageCustom.cpp:
      (WebCore::JSStorage::nameGetter):
      * bindings/js/JSStyleSheetListCustom.cpp:
      (WebCore::JSStyleSheetList::nameGetter):
      * bindings/js/JSTextTrackCueCustom.cpp:
      (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
      * bindings/js/JSTextTrackCustom.cpp:
      (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots):
      * bindings/js/JSTextTrackListCustom.cpp:
      (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
      * bindings/js/JSTrackCustom.cpp:
      (WebCore::toTrack):
      * bindings/js/JSUint16ArrayCustom.cpp:
      (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
      * bindings/js/JSUint32ArrayCustom.cpp:
      (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
      * bindings/js/JSUint8ArrayCustom.cpp:
      (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
      * bindings/js/JSUint8ClampedArrayCustom.cpp:
      (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
      * bindings/js/JSWebKitMutationObserverCustom.cpp:
      (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
      * bindings/js/JSWebKitPointCustom.cpp:
      (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
      * bindings/js/JSWebSocketCustom.cpp:
      (WebCore::JSWebSocketConstructor::constructJSWebSocket):
      * bindings/js/JSWorkerContextBase.cpp:
      (WebCore::toJSDedicatedWorkerContext):
      (WebCore::toJSSharedWorkerContext):
      * bindings/js/JSWorkerCustom.cpp:
      (WebCore::JSWorkerConstructor::constructJSWorker):
      * bindings/js/JSXSLTProcessorCustom.cpp:
      (WebCore::JSXSLTProcessor::importStylesheet):
      (WebCore::JSXSLTProcessor::transformToFragment):
      (WebCore::JSXSLTProcessor::transformToDocument):
      * bindings/js/ScriptCallStackFactory.cpp:
      (WebCore::createScriptCallStackForInspector):
      * bindings/js/ScriptControllerMac.mm:
      (WebCore::updateStyleIfNeededForBindings):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::dispatchDidPause):
      * bindings/js/ScriptObject.cpp:
      (WebCore::ScriptGlobalObject::set):
      * bindings/js/ScriptState.cpp:
      (WebCore::domWindowFromScriptState):
      (WebCore::scriptExecutionContextFromScriptState):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneSerializer::fillTransferMap):
      (WebCore::CloneSerializer::dumpArrayBufferView):
      (WebCore::CloneDeserializer::getJSValue):
      (WebCore::CloneDeserializer::readTerminal):
      * bindings/objc/WebScriptObject.mm:
      (-[WebScriptObject _isSafeScript]):
      (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateGetOwnPropertySlotBody):
      (GenerateGetOwnPropertyDescriptorBody):
      (GenerateImplementation):
      (GenerateCallWith):
      (NativeToJSValue):
      (GenerateConstructorDefinition):
      * bridge/jni/jni_jsobject.h:
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertJObjectToValue):
      * bridge/jni/jsc/JavaInstanceJSC.cpp:
      (JavaInstance::invokeMethod):
      * bridge/objc/objc_utility.mm:
      (JSC::Bindings::convertValueToObjcValue):
      * bridge/runtime_method.cpp:
      (JSC::callRuntimeMethod):
      * bridge/runtime_object.cpp:
      (JSC::Bindings::callRuntimeConstructor):
      * testing/js/WebCoreTestSupport.cpp:
      (WebCoreTestSupport::injectInternalsObject):
      (WebCoreTestSupport::resetInternalsObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe14426
    • commit-queue@webkit.org's avatar
      [GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors · 4e2420cd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83309
      
      Patch by Martin Robinson <mrobinson@igalia.com> on 2012-04-05
      Reviewed by Gustavo Noronha Silva.
      
      Source/WebCore:
      
      Test: platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html
      
      The X11 backing store was not properly trimming the scroll region when it
      was only a portion of the screen. This was hidden by subsequent repaints.
      
      * platform/gtk/GtkWidgetBackingStoreX11.cpp:
      (WebCore::WidgetBackingStore::scroll): Fix the calculation of the scrolling region.
      
      Source/WebKit/gtk:
      
      Instead of only updating scrollRect - preservedRegion, update
      scrollRect - (preservedRegion - offscreenPreservedRegion). This ensures that
      when part of the scroll rect is moved onscreen from offscreen that part is
      queued for a redraw.
      
      * WebCoreSupport/ChromeClientGtk.cpp:
      (WebKit::ChromeClient::scroll): Properly calculate the area to repaint.
      
      LayoutTests:
      
      Added a pixel test for this issue.
      
      * platform/gtk/fast/frames/resources/scrolling-iframe-out-of-viewport-interior.html: Added.
      * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.png: Added.
      * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt: Added.
      * platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e2420cd
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r113299. · fe58ee3d
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/113299
      https://bugs.webkit.org/show_bug.cgi?id=83297
      
      The patch broke 11 tests on Lion. (Requested by jonlee on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-05
      
      Source/WebCore:
      
      * xml/parser/XMLDocumentParser.h:
      (XMLDocumentParser):
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::XMLDocumentParser::XMLDocumentParser):
      (WebCore::XMLDocumentParser::startElementNs):
      (WebCore::XMLDocumentParser::endElementNs):
      (WebCore::getEntityHandler):
      (WebCore::XMLDocumentParser::initializeParserContext):
      
      LayoutTests:
      
      * platform/mac-lion/Skipped:
      * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
      * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
      * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
      * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
      * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
      * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
      * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png:
      * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
      * platform/mac/svg/custom/viewbox-syntax-expected.png:
      * platform/mac/svg/custom/viewbox-syntax-expected.txt:
      * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png:
      * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt:
      * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
      * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe58ee3d
    • commit-queue@webkit.org's avatar
      [Chromium] Correct misleading trace event names in Canvas2DLayerChromium · 464fbb2a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83310
      
      Patch by Justin Novosad <junov@chromium.org> on 2012-04-05
      Reviewed by Adrienne Walker.
      
      * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
      (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      464fbb2a
    • tony@chromium.org's avatar
      [chromium] Unreviewed, fast/js/keywords-and-reserved_words.html is · 8b73b3c0
      tony@chromium.org authored
      passing again after r113352.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b73b3c0
    • dino@apple.com's avatar
      [mac] requestAnimationFrame sometimes stuck when page loads in a background... · 78a8b473
      dino@apple.com authored
      [mac] requestAnimationFrame sometimes stuck when page loads in a background tab https://bugs.webkit.org/show_bug.cgi?id=76105
      
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Fix three issues with requestAnimationFrame:
      - It's possible for the call to rAF to come to the document before there
        is a page associated. Added a guard for this.
      - A page may try to suspend the scripted animations before the
        ScriptedAnimationController exists, in which case we need to
        suspend it immediately after it is created. Do this by keeping
        track of the state in Page. Otherwise rAF would be busy looping
        on hidden pages until they are brought to the front and hidden again.
      - A page created in the background (from WebKit1) does not get
        informed it is not visible. This can mean that resume() is called
        more times than suspend() and we get into a state where the number
        of suspensions becomes -1, and thus fails truthiness tests. Clamp it
        to values >= 0.
      
      No new tests, since this is not automatically testable. The most reliable test
      is to open a page with rAF in a background tab within Safari.
      
      * dom/Document.cpp:
      (WebCore::Document::webkitRequestAnimationFrame):
      * dom/ScriptedAnimationController.cpp:
      (WebCore::ScriptedAnimationController::resume):
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::suspendScriptedAnimations):
      (WebCore::Page::resumeScriptedAnimations):
      * page/Page.h:
      (WebCore::Page::scriptedAnimationsSuspended):
      (Page):
      
      Source/WebKit2:
      
      When we are resuming painting only start the scripted animations
      if we're a visible window. This can happen when tabs are opened
      in the background.
      
      * WebProcess/WebPage/DrawingAreaImpl.cpp:
      (WebKit::DrawingAreaImpl::resumePainting):
      
      LayoutTests:
      
      Add fast/animation/request-animation-frame-during-modal.html
      to the skipped list. This patch will ensure that non-visible windows
      do not get a requestAnimationFrame callback, so the test will timeout.
      See https://bugs.webkit.org/show_bug.cgi?id=83239 to re-enable.
      
      * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78a8b473
    • tony@chromium.org's avatar
      [chromium] Unreviewed, moving linux result from 32-bit directory to 64 and 32 bit directory. · 417d120f
      tony@chromium.org authored
      * platform/chromium-linux/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/svg/clip-path/clip-path-tspan-and-stroke-expected.png.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      417d120f
    • beidson@apple.com's avatar
      <rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311... · 862af397
      beidson@apple.com authored
      <rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311 Crashes in WebProcess at WebCore::HistoryController::recursiveSetProvisionalItem when restoring previous session
      
      Reviewed by Sam Weinig.
      
      It's possible to hit a race condition between the UIProcess and the WebProcess where the UIProcess records for a
      page have been cleared out but the WebProcess is still trying to perform a history navigation within that page.
      
      In this situation HistoryController code that expects there to always be a current history item in the back/forward
      controller is wrong.
      
      No new tests. (The race conditions involved have proven making a test impractical)
      
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::recursiveSetProvisionalItem): Don't ASSERT the fromItem. We now know there might not be one.
      (WebCore::HistoryController::recursiveGoToItem): Ditto
      (WebCore::HistoryController::itemsAreClones): Always return false if either item is null, as a null item and a non-null
        item cannot possible be clones of each other.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      862af397
    • adamk@chromium.org's avatar
      Crash in MutationObservers due to an invalid HashSet iterator · 7f237a2c
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83304
      
      Reviewed by Ojan Vafai.
      
      Source/WebCore:
      
      If the observed node has been GCed when we clear transient observers
      from it, the HashSet iterator in WebKitMutationObserver::deliver would
      be invalidated. This patch fixes that behavior by copying the relevant
      registrations into a seperate vector first and operating on the copy.
      
      This patch also fixes a bug: transient observers should be cleared
      after every microtask, not just when delivering.
      
      Tests: fast/mutation/clear-transient-without-delivery.html
             fast/mutation/transient-gc-crash.html
      
      * dom/MutationObserverRegistration.cpp:
      (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
      Notify the observer that it has a transient registration so it can be properly cleared.
      * dom/MutationObserverRegistration.h:
      (WebCore::MutationObserverRegistration::hasTransientRegistrations):
      Add an accessor for use when deliver() creates its vector of registrations.
      * dom/WebKitMutationObserver.cpp:
      (WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
      to allow transient registrations to be cleared appropriately.
      (WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
      Clear registrations before checking for a lack of records to deliver.
      * dom/WebKitMutationObserver.h:
      
      LayoutTests:
      
      * fast/mutation/clear-transient-without-delivery-expected.txt: Added.
      * fast/mutation/clear-transient-without-delivery.html: Added.
      * fast/mutation/transient-gc-crash-expected.txt: Added.
      * fast/mutation/transient-gc-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f237a2c
    • tony@chromium.org's avatar
      [chromium] Unreviewed, update expectation for · f2e7114f
      tony@chromium.org authored
      media/nodesFromRect-shadowContent.html since it moved in r113371.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2e7114f
    • rafaelw@chromium.org's avatar
      Added takeRecords to WebKitMutationObserver properties list, to fix mac. · 8b6b02a5
      rafaelw@chromium.org authored
      * platform/mac/fast/dom/Window/window-properties-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b6b02a5
    • tony@chromium.org's avatar
      Unreviewed, fix lint errors in GTK+ test_expectations.txt file. · 8ce802af
      tony@chromium.org authored
      * platform/gtk/test_expectations.txt:
      http/tests/security/cross-origin-xsl-redirect-BLOCKED.html had 2 entries
      and css3/flexbox/inline-flexbox.html doesn't exist anymore.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ce802af
    • adamk@chromium.org's avatar
      Rebaseline binding tests after r113272. · 048fcdcf
      adamk@chromium.org authored
      * bindings/scripts/test/V8/V8TestInterface.cpp:
      (WebCore::V8TestInterface::constructorCallback):
      * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
      (WebCore::V8TestNamedConstructorConstructorCallback):
      * bindings/scripts/test/V8/V8TestObj.cpp:
      (WebCore::V8TestObj::constructorCallback):
      * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
      (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      048fcdcf
    • senorblanco@chromium.org's avatar
      [chromium] Drawing an accelerated canvas onto itself is slow. · 0c051346
      senorblanco@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83295
      
      Fixed by using a GPU-side deepCopy() in skia, so we don't trigger a
      readback and re-upload.
      
      Reviewed by James Robinson.
      
      Correctness is covered by existing tests. Performance is covered
      by the test case attached to the bug.
      
      * platform/graphics/skia/ImageSkia.cpp:
      (WebCore::BitmapImageSingleFrameSkia::create):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c051346
    • commit-queue@webkit.org's avatar
      [chromium] Record the number of tiles paint-culled instead of the incorrect number of pixels · 48ae3284
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=82423
      
      Patch by Dana Jansens <danakj@chromium.org> on 2012-04-05
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      We currently attempt to record the number of pixels we save from uploading,
      however the number is wrong in two ways.
      1) An early-out if everything is culled results in nothing being reported.
      2) With threaded-compositor, the number of pixels uploaded in one tile can be
      changed by culling in another tile, making the number far too difficult to
      compute to be worthwhile. If a tile was going to be partial-updated, but is
      culled, now a new tile gets to be partial-updated instead, which affects the
      numbers.
      
      This patch breaks up CCOverdrawMetrics to make the methods/variables less
      overloaded and more clear. This way they don't have to mirror each other
      so closely on paint/draw sides.
      
      Then we record the number of tiles for which we prevented upload via paint
      culling. This will still over-report (a dirty culled tile stays dirty and
      will be culled again each commit), but it seems more reasonable as it
      clearly does not try to mimic a performance metric in the way that a pixel
      count does, but still gives a rough estimation of the amount of paint
      culling going on in a page.
      
      Covered by existing tests, modified where needed.
      
      * platform/graphics/chromium/TiledLayerChromium.cpp:
      (WebCore::TiledLayerChromium::prepareToUpdateTiles):
      * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
      (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
      (WebCore::CCOverdrawMetrics::didCullTileForUpload):
      (WebCore):
      (WebCore::CCOverdrawMetrics::didUpload):
      (WebCore::CCOverdrawMetrics::didCullForDrawing):
      (WebCore::CCOverdrawMetrics::recordMetrics):
      (WebCore::CCOverdrawMetrics::recordMetricsInternal):
      * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
      (CCOverdrawMetrics):
      (WebCore::CCOverdrawMetrics::pixelsCulledForDrawing):
      (WebCore::CCOverdrawMetrics::pixelsUploadedOpaque):
      (WebCore::CCOverdrawMetrics::pixelsUploadedTranslucent):
      (WebCore::CCOverdrawMetrics::tilesCulledForUpload):
      * platform/graphics/chromium/cc/CCQuadCuller.cpp:
      (WebCore::CCQuadCuller::append):
      
      Source/WebKit/chromium:
      
      * tests/CCQuadCullerTest.cpp:
      (WebCore::TEST):
      * tests/TiledLayerChromiumTest.cpp:
      (WTF::TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48ae3284
    • tonikitoo@webkit.org's avatar
      2012-04-05 Antonio Gomes <agomes@rim.com> · 66318929
      tonikitoo@webkit.org authored
              Move nodesFromRect-shadowContent test from fast/dom to media, where the
              helper .js files are able to work properly.
              https://bugs.webkit.org/show_bug.cgi?id=80847 (PART III)
      
              Reviewed by Eric Carlson.
      
              * media/nodesFromRect-shadowContent-expected.txt: Renamed from LayoutTests/fast/dom/nodesFromRect-shadowContent-expected.txt.
              * media/nodesFromRect-shadowContent.html: Renamed from LayoutTests/fast/dom/nodesFromRect-shadowContent.html.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66318929
    • tony@chromium.org's avatar
      [chromium] Unreviewed, update baselines for tests with 'let' after r113352. · ff58a937
      tony@chromium.org authored
      * platform/chromium/fast/js/reserved-words-as-property-expected.txt:
      * platform/chromium/fast/js/reserved-words-strict-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff58a937
    • enrica@apple.com's avatar
      Provide a separate editing command to cleanup of redundant markup. · 135cf8aa
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83240
      
      Reviewed by Ryosuke Niwa.
      
      This patch moves the logic originally performed by the private
      method removeRedundantMarkup inside ReplaceSelectionCommand into
      a separate command. This way the markup cleanup can be exposed as
      a separate command, independent from ReplaceSelectionCommand.
              
      No new tests. No change in functionality.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      Added new file to project files.
      * editing/EditorAllInOne.cpp: Added SimplifyMarkupCommand.
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplaceSelectionCommand::doApply): Now uses SimplifyMarkupCommand.
      * editing/ReplaceSelectionCommand.h:
      (ReplaceSelectionCommand): Removed removeRedundantMarkup.
      * editing/SimplifyMarkupCommand.cpp: Added.
      (WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand):
      (WebCore::SimplifyMarkupCommand::doApply):
      * editing/SimplifyMarkupCommand.h: Added.
      (WebCore::SimplifyMarkupCommand::create):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      135cf8aa
    • schenney@chromium.org's avatar
      Rebaseline text results · 28e0faa2
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=74928
      
      Unreviewed text expectations update.
      
      Patch by Philip Rogers <pdr@google.com> on 2012-04-05
      
      * platform/chromium-mac-leopard/svg/text/textPathBoundsBug-expected.png: Removed.
      * platform/chromium-mac-leopard/svg/text/textPathBoundsBug-expected.txt: Removed.
      * platform/chromium-mac-snowleopard/svg/text/textPathBoundsBug-expected.txt: Removed.
      * platform/chromium-win-xp/svg/zoom/page: Removed.
      * platform/chromium-win/fast/repaint/reflection-redraw-expected.png:
      * platform/chromium-win/printing/width-overflow-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
      * platform/chromium-win/svg/W3C-SVG-1.1/text-align-06-b-expected.png:
      * platform/chromium-win/svg/as-background-image/svg-as-background-4-expected.png:
      * platform/chromium-win/svg/as-image/animated-svg-as-image-expected.png:
      * platform/chromium-win/svg/as-image/animated-svg-as-image-same-image-expected.png:
      * platform/chromium-win/svg/carto.net/textbox-expected.png:
      * platform/chromium-win/svg/css/text-shadow-multiple-expected.png:
      * platform/chromium-win/svg/custom/js-late-clipPath-creation-expected.png:
      * platform/chromium-win/svg/text/scaling-font-with-geometric-precision-expected.png:
      * platform/chromium-win/svg/text/text-align-05-b-expected.png:
      * platform/chromium-win/svg/text/textPathBoundsBug-expected.png:
      * platform/chromium/test_expectations.txt:
      * platform/efl/svg/as-background-image/svg-as-background-4-expected.txt: Removed.
      * svg/as-background-image/svg-as-background-4-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28e0faa2
    • schenney@chromium.org's avatar
      [Chromium] Layout test failure svg/clip-path/clip-path-tspan-and-stroke.xhtml · 035bfe9b
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83308
      
      Unreviewed Chromium test expectations update.
      
      Also removing some expectations that are no longer needed.
      
      * platform/chromium-linux-x86/svg/clip-path: Added.
      * platform/chromium-linux-x86/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Added.
      * platform/chromium-win/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Added.
      * platform/chromium-win/svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Added.
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      035bfe9b
    • oliver@apple.com's avatar
      Fix 32-bit build. · a0062e58
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a0062e58
    • shawnsingh@chromium.org's avatar
      [chromium] Need to clip to homogeneous w=0 plane when applying transforms. · e7e505b1
      shawnsingh@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80806
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      Unit tests added to CCLayerTreeHostCommon. This change is also
      covered by other existing unit tests and layout tests.
      
      WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
      not properly handle the case where a surface is oriented partially
      behind the camera, with a perspective projection. In this case,
      projected points may appear to be valid in cartesian coordinates,
      but they are indeed not valid, and this problem can only be
      detected in homogeneous coordinates after applying the transform,
      before the divide-by-w step.
      
      The correct solution is to clip geometry where w < 0. This patch
      makes this change local to chromium only, to fix rendering bugs
      that arise from this problem. The primary fix is to correct
      calculateVisibleLayerRect(), but other ancillary locations are
      also fixed, in particular, the antialiasing code path is simply
      skipped when this case arises.
      
      Eventually this math needs to be merged into TransformationMatrix,
      to fix hit-testing bugs that occur in both Chromium and Safari.
      
      * WebCore.gypi:
      * platform/graphics/chromium/LayerRendererChromium.cpp:
      (WebCore::findTileProgramUniforms):
      (WebCore::LayerRendererChromium::drawTileQuad):
      * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
      (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
      (WebCore::isScaleOrTranslation):
      (WebCore::calculateDrawTransformsAndVisibilityInternal):
      * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
      (WebCore):
      (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
      (HomogeneousCoordinate):
      (WebCore::HomogeneousCoordinate::shouldBeClipped):
      (WebCore::HomogeneousCoordinate::cartesianPoint2d):
      (WebCore::projectPoint):
      (WebCore::mapPoint):
      (WebCore::computeClippedPointForEdge):
      (WebCore::expandBoundsToIncludePoint):
      (WebCore::computeEnclosingRectOfClippedQuad):
      (WebCore::computeEnclosingRect):
      (WebCore::CCMathUtil::mapClippedRect):
      (WebCore::CCMathUtil::projectClippedRect):
      (WebCore::CCMathUtil::mapQuad):
      (WebCore::CCMathUtil::projectQuad):
      * platform/graphics/chromium/cc/CCMathUtil.h: Added.
      (WebCore):
      (CCMathUtil):
      * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
      (WebCore::computeUnoccludedContentRect):
      
      Source/WebKit/chromium:
      
      * tests/CCLayerTreeHostCommonTest.cpp:
      (WebKitTests::TEST):
      (WebKitTests):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7e505b1
    • oliver@apple.com's avatar
      Replace static_cast with jsCast when casting JSCell subclasses in JSC · 0c59caf6
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=83307
      
      Reviewed by Gavin Barraclough.
      
      Replace all usage of static_cast<JSCell subtype*> with jsCast<> in JavaScriptCore.
      This results in assertions when unsafe casts are performed, but simply leaves
      a static_cast<> in release builds.
      
      * API/APICast.h:
      (toJS):
      * API/JSCallbackConstructor.cpp:
      (JSC::constructJSCallback):
      * API/JSCallbackFunction.cpp:
      (JSC::JSCallbackFunction::call):
      * API/JSCallbackObjectFunctions.h:
      (JSC::::asCallbackObject):
      (JSC::::finishCreation):
      (JSC::::construct):
      (JSC::::call):
      * API/JSObjectRef.cpp:
      (JSObjectGetPrivate):
      (JSObjectSetPrivate):
      (JSObjectGetPrivateProperty):
      (JSObjectSetPrivateProperty):
      (JSObjectDeletePrivateProperty):
      * API/JSValueRef.cpp:
      (JSValueIsObjectOfClass):
      * API/JSWeakObjectMapRefPrivate.cpp:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::resolve):
      (JSC::BytecodeGenerator::resolveConstDecl):
      * debugger/DebuggerActivation.cpp:
      (JSC::DebuggerActivation::finishCreation):
      * dfg/DFGOperations.cpp:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::privateExecute):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * runtime/Executable.h:
      (JSC::isHostFunction):
      * runtime/JSActivation.h:
      (JSC::asActivation):
      * runtime/JSArray.cpp:
      (JSC::JSArray::defineOwnProperty):
      * runtime/JSArray.h:
      (JSC::asArray):
      * runtime/JSBoundFunction.cpp:
      (JSC::boundFunctionCall):
      (JSC::boundFunctionConstruct):
      * runtime/JSByteArray.h:
      (JSC::asByteArray):
      * runtime/JSCell.cpp:
      (JSC::JSCell::toObject):
      * runtime/JSCell.h:
      (JSC::jsCast):
      * runtime/JSGlobalObject.h:
      (JSC::asGlobalObject):
      * runtime/JSGlobalObjectFunctions.cpp:
      (JSC::globalFuncEval):
      * runtime/JSObject.cpp:
      (JSC::JSObject::setPrototypeWithCycleCheck):
      (JSC::JSObject::allowsAccessFrom):
      (JSC::JSObject::toThisObject):
      (JSC::JSObject::unwrappedObject):
      * runtime/JSObject.h:
      (JSC::asObject):
      * runtime/JSPropertyNameIterator.h:
      (JSC::Register::propertyNameIterator):
      * runtime/JSString.h:
      (JSC::asString):
      (JSC::JSValue::toString):
      * runtime/StringPrototype.cpp:
      (JSC::stringProtoFuncSubstr):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c59caf6
    • schenney@chromium.org's avatar
      [Chromium] Layout Test svg/as-object/nested-embedded-svg-size-changes.html times out · f133627c
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77183
      
      Unreviewed Chromium test expectations update.
      
      Somehow this test slipped thorugh the crack of rebaselining.
      
      * platform/chromium-linux-x86/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-linux/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium-mac-leopard/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium-mac-snowleopard/svg/as-object/nested-embedded-svg-size-changes-expected.png: Added.
      * platform/chromium-mac/svg/as-object/nested-embedded-svg-size-changes-expected.png: Modified property svn:mime-type.
      * platform/chromium-win-vista/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-win-xp/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
      * platform/chromium-win/svg/as-object/nested-embedded-svg-size-changes-expected.png:
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f133627c
    • paroga@webkit.org's avatar
      [Qt] Correct <wtf/*.h> include paths. · ffe69374
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83270
      
      Reviewed by Eric Seidel.
      
      Modify the #include declerations so that the
      wtf types are included using the full path.
      
      Source/WebCore:
      
      * platform/graphics/TiledBackingStoreBackend.h:
      
      Source/WebKit/qt:
      
      * Api/qwebpage.cpp:
      * WebCoreSupport/ContextMenuClientQt.h:
      * WebCoreSupport/EditorClientQt.h:
      * WebCoreSupport/FrameLoaderClientQt.h:
      * WebCoreSupport/InspectorServerQt.cpp:
      
      Source/WebKit2:
      
      * Shared/qt/QtNetworkReplyData.cpp:
      * UIProcess/WebLayerTreeRenderer.cpp:
      * UIProcess/qt/LayerBackingStore.h:
      * UIProcess/qt/QtViewportInteractionEngine.cpp:
      * UIProcess/qt/QtViewportInteractionEngine.h:
      * UIProcess/qt/QtWebPageSGNode.h:
      * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
      
      Tools:
      
      * WebKitTestRunner/qt/TestInvocationQt.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffe69374
    • schenney@chromium.org's avatar
      Switch svg/custom tests to repaint harness · 6cce56b9
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=78115
      
      Unreviewed Chromium expectations update.
      
      Somehow this file was not correctly rebaselined when the original change was made.
      
      * platform/chromium-linux/svg/custom/repaint-on-constant-size-change-expected.png: Removed.
      * platform/chromium-win/svg/custom/repaint-on-constant-size-change-expected.png: Modified property svn:mime-type.
      * platform/chromium/test_expectations.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cce56b9
    • tonikitoo@webkit.org's avatar
      2012-04-05 Antonio Gomes <agomes@rim.com> · a8262df2
      tonikitoo@webkit.org authored
              Unreviewed bit left over from rebasing the origin patch before landing it.
      
              Complementary to r113329.
      
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::operator=):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8262df2
    • commit-queue@webkit.org's avatar
      [chromium] Cleanup test, redundant code in CCSchedulerTest.NoBeginFrameWhenDrawFails · 90563a55
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83300
      
      Patch by Dana Jansens <danakj@chromium.org> on 2012-04-05
      Reviewed by Adrienne Walker.
      
      * tests/CCSchedulerTest.cpp:
      (WebKitTests::TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90563a55
    • rniwa@webkit.org's avatar
      perf-o-matic should include unit in runs JSON responses · 29e3bcee
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83294
      
      Reviewed by Tony Chang.
      
      This is a follow up to r112829. Report the unit in /api/test/runs so that the frontend can show it.
      Fixed a bug in Test.update_or_insert that it didn't store the unit when it first created the Test object.
      
      Also increment perf-o-matic's version to 18.
      
      * Websites/webkit-perf.appspot.com/app.yaml: Incremented the version.
      * Websites/webkit-perf.appspot.com/models.py:
      (Test.update_or_insert.execute): Store unit when creating a test.
      (Runs.to_json): Include unit.
      * Websites/webkit-perf.appspot.com/models_unittest.py: Added tests.
      (TestModelTests.test_update_or_insert_with_unit):
      (RunsTest.test_to_json_without_results):
      (RunsTest.test_to_json_with_results):
      (RunsTest.test_to_json_with_unit):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29e3bcee
    • benjamin@webkit.org's avatar
      Make something faster than JSStringBuilder for joining an array of JSValue · 7be398bf
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83180
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
      Reviewed by Geoffrey Garen.
      
      This patch add the class JSStringJoiner optimized for join() operations.
      
      This class makes stricter constraints than JSStringBuilder in order avoid
      memory allocations.
      
      In the best case, the class allocate memory only twice:
      -Allocate an array to keep a list of UString to join.
      -Allocate the final string.
      
      We also avoid the conversion from 8bits strings to 16bits strings since
      they are costly and unlikly to help for subsequent calls.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.gypi:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncToLocaleString):
      (JSC::arrayProtoFuncJoin):
      * runtime/JSStringJoiner.cpp: Added.
      (JSC):
      (JSC::appendStringToData):
      (JSC::joinStrings):
      (JSC::JSStringJoiner::build):
      * runtime/JSStringJoiner.h: Added.
      (JSC):
      (JSStringJoiner):
      (JSC::JSStringJoiner::JSStringJoiner):
      (JSC::JSStringJoiner::append):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7be398bf
    • tony@chromium.org's avatar
      [chromium] Unreviewed, widen the suppression for · 93facc8b
      tony@chromium.org authored
      http/tests/multipart/policy-ignore-crash.php-- it is flakey on win debug too.
      
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93facc8b
    • schenney@chromium.org's avatar
      [Chromium] LayoutTest failures/flaky for svg/as-background-image · 3d8f1d11
      schenney@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83303
      
      Unreviewed Chromium test expectations rationalization.
      
      Apparently the efl port results match Chromium.
      
      * platform/chromium-win-vista/svg/as-background-image: Removed.
      * platform/chromium-win-vista/svg/as-background-image/svg-as-background-1-expected.png: Removed.
      * platform/chromium-win-vista/svg/as-background-image/svg-as-background-3-expected.png: Removed.
      * platform/chromium-win/svg/as-background-image/svg-as-background-1-expected.png:
      * platform/chromium-win/svg/as-background-image/svg-as-background-3-expected.png:
      * platform/chromium/test_expectations.txt:
      * platform/efl/svg/as-background-image/svg-as-background-1-expected.txt: Removed.
      * platform/efl/svg/as-background-image/svg-as-background-3-expected.txt: Removed.
      * svg/as-background-image/svg-as-background-1-expected.txt: Added.
      * svg/as-background-image/svg-as-background-3-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d8f1d11