1. 15 Aug, 2012 24 commits
    • ojan@chromium.org's avatar
      z-index should work without position on flexitems · a4039c89
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91405
      
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      Require a layer on any RenderBox that has a non-auto z-index.
      Statically positioned, non-flex-item's have their z-index coerced to auto,
      so it's safe to check z-index unconditionally.
      
      Test: css3/flexbox/z-index.html
      
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::adjustRenderStyle):
      -Don't coerce z-index to auto on statically positioned flex-items.
      -Use the parentStyle to determine if the parent is a flexbox instead of
      looking at the element's parentNode's renderer.
      * rendering/RenderBox.h:
      -Add having a non-auto z-index to the list of things that require a layer.
      
      LayoutTests:
      
      * css3/flexbox/z-index-expected.html: Added.
      * css3/flexbox/z-index.html: Added.
      Use a ref-test since we want to be sure that the elements get painted in the right order.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4039c89
    • commit-queue@webkit.org's avatar
      Rename window.internals.fastMallocStatistics to mallocStatistics · 4ba6cdbe
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94033
      
      Patch by Scott Graham <scottmg@chromium.org> on 2012-08-15
      Reviewed by Adam Barth.
      
      PerformanceTests:
      
      * resources/runner.js:
      (PerfTestRunner.storeHeapResults):
      (PerfTestRunner.getUsedMallocHeap):
      (PerfTestRunner.getAndPrintMemoryStatistics):
      (PerfTestRunner.initAndStartLoop):
      
      Source/WebCore:
      
      Mechanical rename. In preparation for plumbing allocation information
      from allocators that aren't "fastMalloc".
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.vcproj/WebCoreTestSupport.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * loader/DocumentLoader.h:
      (WebCore::DocumentLoader::didTellClientAboutLoad):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::loadResource):
      * testing/FastMallocStatistics.h: Removed.
      * testing/FastMallocStatistics.idl: Removed.
      * testing/Internals.cpp:
      (WebCore::Internals::mallocStatistics):
      * testing/Internals.h:
      (WebCore):
      (Internals):
      * testing/Internals.idl:
      * testing/MallocStatistics.h: Added.
      * testing/MallocStatistics.idl: Added.
      
      Tools:
      
      * GNUmakefile.am:
      * Scripts/webkitpy/performance_tests/perftest.py:
      (PerfTest):
      * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
      (test_run_memory_test):
      
      LayoutTests:
      
      * fast/harness/fastmallocstatistics-object.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ba6cdbe
    • ojan@chromium.org's avatar
      Update expectations to match the bots. This test hasn't timed out in over 500 runs. · 87c411a3
      ojan@chromium.org authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87c411a3
    • mhahnenberg@apple.com's avatar
      Change behavior of MasqueradesAsUndefined to better accommodate DFG changes · 35d5455b
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93884
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      There are two primary changes that are taking place here. One is to thread the ExecState* through 
      JSValue::toBoolean and JSCell::toBoolean so that JSCell::toBoolean can check the object's 
      JSGlobalObject to compare it to the lexical JSGlobalObject of the currently running code. If the two 
      are distinct, then the object cannot MasqueradeAsUndefined.
      
      The other change is to perform this comparison of JSGlobalObjects everywhere where the MasqueradesAsUndefined
      flag in the Structure is checked. For C++ code, this check has been factored into its own function in 
      Structure::masqueradesAsUndefined. We only perform this check in the DFG if the current JSGlobalObject has 
      had a MasqueradesAsUndefined object allocated within its context. This conditional compilation is managed 
      through the use of a WatchpointSet in each JSGlobalObject and alternate create() functions for JS DOM wrappers
      that are MasqueradesAsUndefined.
      
      * API/JSValueRef.cpp:
      (JSValueToBoolean):
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/Watchpoint.h:
      (WatchpointSet):
      * debugger/DebuggerCallFrame.h:
      (JSC::DebuggerCallFrame::callFrame):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncFilter):
      (JSC::arrayProtoFuncEvery):
      (JSC::arrayProtoFuncSome):
      * runtime/BooleanConstructor.cpp:
      (JSC::constructBoolean):
      (JSC::callBooleanConstructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::masqueradesAsUndefinedWatchpoint):
      * runtime/JSString.h:
      (JSC::JSCell::toBoolean):
      (JSC::JSValue::toBoolean):
      * runtime/JSValue.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::toPropertyDescriptor):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      * runtime/Operations.h:
      (JSC):
      (JSC::JSValue::equalSlowCaseInline):
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorMultiline):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::globalObjectOffset):
      (JSC::Structure::masqueradesAsUndefined):
      (JSC):
      
      Source/WebCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      Test: fast/js/document-all-between-frames.html
      
      All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean.
      
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::getDataViewMember):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDirectoryEntryCustom.cpp:
      (WebCore::JSDirectoryEntry::getFile):
      (WebCore::JSDirectoryEntry::getDirectory):
      * bindings/js/JSDirectoryEntrySyncCustom.cpp:
      (WebCore::getFlags):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::populateContextMenuItems):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::dataFunctionMatrix):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      * bindings/js/JavaScriptCallFrame.cpp:
      (WebCore::JavaScriptCallFrame::exec):
      (WebCore):
      * bindings/js/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::hasBreakpoint):
      * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers.
      (GenerateEventListenerCall):
      (GenerateHeader):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
      (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::jsTestObjPrototypeFunctionAddEventListener):
      (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      Source/WebKit/mac: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
      
      Source/WebKit2: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
      
      LayoutTests: 
      
      Added a test that uses a variety of ways of checking whether something is correctly 
      masquerading as undefined (or not) in a subframe.
      
      * fast/js/document-all-between-frames-expected.txt: Added.
      * fast/js/document-all-between-frames.html: Added.
      * fast/js/resources/document-all-between-frames-subframe.html: Added.
      * platform/chromium/TestExpectations: Chromium treats document.all differently, so skip our new test.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35d5455b
    • abarth@webkit.org's avatar
      Update TestExpectations entry to refer to an actual bug. · 87917fe4
      abarth@webkit.org authored
      * platform/chromium/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87917fe4
    • commit-queue@webkit.org's avatar
      There is additional space not belonged to a table between the table cells · 01f61419
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=74864
      
      Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-08-15
      Reviewed by Julien Chaffraix.
      
      Source/WebCore:
      
      Hittest for a point on the edge, i.e. between two table columns, currently
      does not return any matching underlying element.
      
      A hittest on such a point (on the edge of two table columns) should return
      the column that lies either on the logical right/bottom of the said point.
      
      Tests: fast/table/hittest-tablecell-bottom-edge.html
             fast/table/hittest-tablecell-right-edge.html
             fast/table/hittest-tablecell-with-borders-bottom-edge.html
             fast/table/hittest-tablecell-with-borders-right-edge.html
      
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::spannedRows):
      Removed the FIXME regarding the correctness of the usage of the upper_bound algorithm
      since that is now verified by the testcases in this patch. Also, the comment
      regarding the inconsistency between the algorithms used in spannedRows and spannedColumns
      is no longer valid.
      
      (WebCore::RenderTableSection::spannedColumns):
      Changed lower_bound() algorithm to upper_bound() for obtaining the next column.
      This is now similar to what is used for obtaining the next row in spannedRows().
      
      LayoutTests:
      
      * fast/table/hittest-tablecell-bottom-edge-expected.txt: Added.
      * fast/table/hittest-tablecell-bottom-edge.html: Added.
      * fast/table/hittest-tablecell-right-edge-expected.txt: Added.
      * fast/table/hittest-tablecell-right-edge.html: Added.
      Testcases added for verifying that the proper node is returned upon hit test
      carried out at a point lying on the edge of two table cells.
      
      * fast/table/hittest-tablecell-with-borders-bottom-edge-expected.txt: Added.
      * fast/table/hittest-tablecell-with-borders-bottom-edge.html: Added.
      * fast/table/hittest-tablecell-with-borders-right-edge-expected.txt: Added.
      * fast/table/hittest-tablecell-with-borders-right-edge.html: Added.
      These testcases verify the aforementioned behavior when the table cells
      also have border specified for them.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01f61419
    • annacc@chromium.org's avatar
      Add the timestampOffset attribute to SourceBuffer. · c2d132c5
      annacc@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93303
      
      Reviewed by Dimitri Glazkov.
      
      On the 30 July 2012 version of the Media Source Extensions spec, a timestampOffset
      attribute was added to the SourceBuffer object:
      http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-timestampoffset
      
      Source/WebCore:
      
      Tests: additions to http/tests/media/media-source/video-media-source-objects.html
      
      * Modules/mediasource/MediaSource.cpp:
      (WebCore::MediaSource::setTimestampOffset): Set the timestampOffset on MediaPlayer.
      (WebCore):
      * Modules/mediasource/MediaSource.h:
      (MediaSource):
      * Modules/mediasource/SourceBuffer.cpp:
      (WebCore::SourceBuffer::SourceBuffer): Let the timestampOffset be 0 initially
      (WebCore::SourceBuffer::timestampOffset): Return the last value set.
      (WebCore):
      (WebCore::SourceBuffer::setTimestampOffset): Forward the call onto MediaSouce.
      * Modules/mediasource/SourceBuffer.h:
      (SourceBuffer):
      * Modules/mediasource/SourceBuffer.idl: Create the new timestampOffset attr.
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::NullMediaPlayerPrivate::sourceSetTimestampOffset): A null media player
          should just return false (nothing to set).
      (WebCore):
      (WebCore::MediaPlayer::sourceSetTimestampOffset):  Forward the call.
      * platform/graphics/MediaPlayer.h:
      * platform/graphics/MediaPlayerPrivate.h:
      (WebCore::MediaPlayerPrivateInterface::sourceSetTimestampOffset):
      
      Source/WebKit/chromium:
      
      * public/WebMediaPlayer.h:
      (WebKit::WebMediaPlayer::sourceSetTimestampOffset): Add the new method.
      * src/WebMediaPlayerClientImpl.cpp:
      (WebKit):
      (WebKit::WebMediaPlayerClientImpl::sourceSetTimestampOffset): Forward the call.
      * src/WebMediaPlayerClientImpl.h:
      (WebMediaPlayerClientImpl):
      
      LayoutTests:
      
      * http/tests/media/media-source/video-media-source-objects-expected.txt:
      * http/tests/media/media-source/video-media-source-objects.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2d132c5
    • vsevik@chromium.org's avatar
      Source/WebCore: Web Inspector: Incorrect XHR responses when two async xhrs are sent synchronously · dcc56abd
      vsevik@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91630
      
      Patch by Pavel Chadnov <chadnov@google.com> on 2012-08-15
      Reviewed by Vsevolod Vlasov.
      
      CachedResource object for XHR response is now taken from ResourceLoader (if it's possible).
      
      Test: http/tests/inspector/network/network-xhr-async-double.html
      
      * inspector/InspectorInstrumentation.cpp:
      (WebCore):
      (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
      (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
      * inspector/InspectorInstrumentation.h:
      (InspectorInstrumentation):
      (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
      * inspector/InspectorResourceAgent.cpp:
      (WebCore::InspectorResourceAgent::willSendRequest):
      (WebCore::InspectorResourceAgent::didReceiveResponse):
      * inspector/InspectorResourceAgent.h:
      (WebCore):
      (InspectorResourceAgent):
      * loader/DocumentThreadableLoader.cpp:
      (WebCore::DocumentThreadableLoader::didReceiveResponse):
      * loader/ResourceLoadNotifier.cpp:
      (WebCore::ResourceLoadNotifier::didReceiveResponse):
      (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
      * loader/ResourceLoadNotifier.h:
      (ResourceLoadNotifier):
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::isSubresourceLoader):
      (WebCore):
      * loader/ResourceLoader.h:
      (ResourceLoader):
      * loader/SubresourceLoader.cpp:
      (WebCore::SubresourceLoader::cachedResource):
      (WebCore):
      (WebCore::SubresourceLoader::isSubresourceLoader):
      * loader/SubresourceLoader.h:
      (SubresourceLoader):
      * loader/appcache/ApplicationCacheGroup.cpp:
      (WebCore::ApplicationCacheGroup::didReceiveResponse):
      
      LayoutTests: Web Inspector: Incorrect XHR responses when two async xhrs are sent synchronously
      https://bugs.webkit.org/show_bug.cgi?id=91630
      
      Patch by Pavel Chadnov <chadnov@google.com> on 2012-08-15
      Reviewed by Vsevolod Vlasov.
      
      New test for two async XHRs sent synchronously.
      
      * http/tests/inspector/network-test.js:
      (doXHR):
      (doXHRWithPayload.xhr.onreadystatechange):
      (doXHRWithPayload):
      * http/tests/inspector/network/network-xhr-async-double-expected.txt: Added.
      * http/tests/inspector/network/network-xhr-async-double.html: Added.
      * http/tests/inspector/network/resources/echo-payload.php: Added.
      * platform/chromium/http/tests/inspector/console-xhr-logging-async-expected.txt:
      * platform/chromium/http/tests/inspector/console-xhr-logging-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dcc56abd
    • commit-queue@webkit.org's avatar
      [WK2] Add support for Web Intents MessagePorts · 6ff3153f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89072
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-15
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebKit2:
      
      Add support for WebIntents MessagePorts in WebKit2.
      MessagePorts can be passed with a Web Intent in
      order to open a direct communication channel
      between the Web application and the intent service.
      
      This functionality is already supported by WebKit 1.
      
      This patch introduces a new InjectedBundleIntent
      class which wraps a WebCore::Intent. This way
      information regarding the MessagePorts in a Web
      Intent is kept when using an injected bundle.
      
      For the UIProcess, WebIntentData now carries
      identifiers for the MessagePorts which can go over
      IPC. Those identifiers map to actual MessagePorts
      stored in the Web process. This way, when the UI
      delivers an intent to a frame, we can get back the
      corresponding MessagePorts from the Web process
      before delivering the intent to the DOMWindow.
      
      This functionality is already tested by:
      
      - webintents/web-intents-invoke-port.html
      - webintents/web-intents-obj-constructor.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Shared/API/c/WKBase.h:
      * Shared/APIObject.h:
      * Shared/IntentData.cpp: Add MessagePort identifiers.
      (WebKit::IntentData::IntentData):
      (WebKit::IntentData::encode):
      (WebKit::IntentData::decode):
      * Shared/IntentData.h:
      (IntentData):
      * Target.pri:
      * UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to
      WKIntentDataCopyExtraValue() for clarity.
      (WKIntentDataCopyExtraValue):
      * UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now
      that WTR uses WKBundleIntentCreate() instead.
      * UIProcess/API/efl/ewk_intent.cpp:
      (ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of
      WKIntentDataCopyExtra() since it was renamed.
      * UIProcess/WebIntentData.cpp:
      (WebKit::WebIntentData::WebIntentData):
      (WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon
      WebIntentData destruction.
      (WebKit):
      (WebKit::WebIntentData::extras):
      * UIProcess/WebIntentData.h:
      (WebKit):
      (WebKit::WebIntentData::create):
      (WebIntentData):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::didReceiveIntentForFrame):
      * UIProcess/WebProcessProxy.cpp:
      (WebKit):
      (WebKit::WebProcessProxy::removeMessagePortChannel):
      * UIProcess/WebProcessProxy.h:
      (WebProcessProxy):
      * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
      (WebKit):
      * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp.
      (WKBundleIntentGetTypeID):
      (WKBundleIntentCreate):
      (WKBundleIntentCopyAction):
      (WKBundleIntentCopyType):
      (WKBundleIntentCopyService):
      (WKBundleIntentCopySuggestions):
      (WKBundleIntentCopyExtraValue):
      (WKBundleIntentCopyExtras):
      (WKBundleIntentMessagePortCount):
      * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h.
      * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp:
      (WKBundleIntentRequestCopyIntent):
      * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageDeliverIntentToFrame):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
      (WebKit):
      (WebKit::InjectedBundleIntent::create):
      (WebKit::InjectedBundleIntent::InjectedBundleIntent):
      (WebKit::InjectedBundleIntent::action):
      (WebKit::InjectedBundleIntent::payloadType):
      (WebKit::InjectedBundleIntent::service):
      (WebKit::InjectedBundleIntent::data):
      (WebKit::InjectedBundleIntent::extra):
      (WebKit::InjectedBundleIntent::extras):
      (WebKit::InjectedBundleIntent::suggestions):
      * WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h.
      (WebKit):
      (InjectedBundleIntent):
      (WebKit::InjectedBundleIntent::coreIntent):
      (WebKit::InjectedBundleIntent::type):
      * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp:
      (WebKit::InjectedBundleIntentRequest::intent):
      * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h:
      (WebKit):
      (InjectedBundleIntentRequest):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::deliverIntent):
      (WebKit):
      * WebProcess/WebPage/WebFrame.h:
      (WebCore):
      (WebFrame):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit):
      (WebKit::WebPage::deliverCoreIntentToFrame):
      * WebProcess/WebPage/WebPage.h:
      (WebCore):
      (WebPage):
      * WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with
      their identifiers.
      (WebKit):
      (WebKit::WebProcess::addMessagePortChannel):
      (WebKit::WebProcess::messagePortChannel):
      (WebKit::WebProcess::removeMessagePortChannel):
      * WebProcess/WebProcess.h:
      (WebCore):
      (WebProcess):
      * WebProcess/WebProcess.messages.in:
      
      Tools:
      
      Use WKBundleIntent instead of WebIntentData in
      WebKitTestRunner. WTR now prints the number of
      MessagePorts in received Web intents as
      expected by the following layout tests:
      webintents/web-intents-invoke-port.html
      webintents/web-intents-obj-constructor.html
      
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::didReceiveIntentForFrame):
      * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
      (WTR::LayoutTestController::deliverWebIntent):
      
      LayoutTests:
      
      Unskip webintents/web-intents-invoke-port.html and
      webintents/web-intents-obj-constructor.html for
      WebKit2 EFL now that information about message ports
      is correctly displayed by WebKitTestRunner.
      
      * platform/efl-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ff3153f
    • commit-queue@webkit.org's avatar
      [EFL] Remove image expectation added for a ref test · e6e8cff3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94090
      
      Unreviewed gardening.
      
      Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-15
      
      * platform/efl/TestExpectations:
      * platform/efl/fast/css-generated-content/quotes-lang-expected.png: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6e8cff3
    • kkristof@inf.u-szeged.hu's avatar
      [Qt] Unreviewed gardening. Add platfrom specific expected results after r125593. · 52b6bddc
      kkristof@inf.u-szeged.hu authored
      Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-08-15
      
      * platform/qt-5.0-wk2/http/tests/misc/window-dot-stop-expected.txt: Added.
      * platform/qt-5.0-wk2/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
      * platform/qt-5.0-wk2/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
      * platform/qt-5.0-wk2/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
      * platform/qt-5.0-wk2/http/tests/xmlhttprequest/abort-should-cancel-load-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52b6bddc
    • shinyak@chromium.org's avatar
      [Chromium Mac] Unreviewed, rebaseline after r125659. · 32401869
      shinyak@chromium.org authored
      * fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt: Renamed from LayoutTests/platform/efl/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt.
      * platform/chromium-mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
      * platform/chromium-mac/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt:
      * platform/chromium-win-xp/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
      * platform/gtk/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32401869
    • ossy@webkit.org's avatar
      [Qt] Unreviewed gardening after r125659. · aa809dd2
      ossy@webkit.org authored
      * platform/qt/Skipped: Skip new tests because of disabled SHADOW_DOM
      * platform/qt/fast/dom/HTMLMeterElement/meter-boundary-values-expected.png:
      * platform/qt/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
      * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
      * platform/qt/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
      * platform/qt/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
      * platform/qt/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
      * platform/qt/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png:
      * platform/qt/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
      * platform/qt/fast/dom/HTMLMeterElement/meter-styles-expected.png:
      * platform/qt/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
      * platform/qt/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa809dd2
    • commit-queue@webkit.org's avatar
      Relative units are not set when the canvas has not parent · 74d3b69c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93840
      
      Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-15
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebCore:
      
      Set the default font when no parent style is set. It will make
      possible to apply relative units when a parent is not set.
      
      No new tests, unskipped the existing ones.
      
      * css/StyleBuilder.cpp:
      (WebCore::ApplyPropertyFontSize::applyValue):
      Make it possible to apply relative units if a parent style exist but
      not a parent node. It works like this for em and ex, but not for
      percent units.
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore):
      (WebCore::CanvasRenderingContext2D::setFont):
      
      LayoutTests:
      
      Unskipped tests that will now pass, removed wrong expectations
      and updated test case which was fixed by the W3C.
      
      * canvas/philip/tests/2d.text.font.parse.size.percentage.default.html:
      This test case was fixed on W3C upstream:
      https://www.w3.org/Bugs/Public/show_bug.cgi?id=18522
      * fast/canvas/canvas-font-ex-units-crash-expected.txt:
      * fast/canvas/script-tests/canvas-font-ex-units-crash.js:
      * platform/chromium/TestExpectations:
      * platform/chromium/canvas/philip/tests/2d.text.font.parse.size.percentage-expected.txt: Removed.
      * platform/chromium/canvas/philip/tests/2d.text.font.parse.size.percentage.default-expected.txt: Removed.
      * platform/efl/Skipped:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/mac/canvas/philip/tests/2d.text.font.parse.size.percentage-expected.txt: Removed.
      * platform/mac/canvas/philip/tests/2d.text.font.parse.size.percentage.default-expected.txt: Removed.
      * platform/qt/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74d3b69c
    • ossy@webkit.org's avatar
      [Qt] Unreviewd gardening. Readd removed expectations in r125658 with some modification. · 60d5aadf
      ossy@webkit.org authored
      Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-08-15
      
      * platform/qt/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt: Added.
      * platform/qt/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60d5aadf
    • pfeldman@chromium.org's avatar
      Web Inspector: split standalone test runner, test scanner and test stub. · 100f5cb5
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94001
      
      Reviewed by Vsevolod Vlasov.
      
      Source/WebCore:
      
      This change starts sending loacCompleted message to the embedder.
      
      * inspector/front-end/InspectorFrontendAPI.js:
      (InspectorFrontendAPI.loadCompleted):
      * inspector/front-end/test-runner.html: Added.
      
      LayoutTests:
      
      This change allows opening a) test runner, b) layout tests and c) inspector front-end off different
      hosts. It is one more step towards extension-driven runner.
      
      * http/tests/inspector/inspector-test.js:
      * http/tests/inspector/resources/test-runner.html: Removed.
      * http/tests/inspector/resources/test-scanner.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      100f5cb5
    • shinyak@chromium.org's avatar
      AuthorShadowDOM for meter element · 037f1cd4
      shinyak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91970
      
      Reviewed by Hajime Morita.
      
      Source/WebCore:
      
      We add support for AuthorShadowDOM for a meter element.
      
      According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
      an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
      of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
      
      Before this patch, a meter element has the following inner structure.
      
          <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
                             |
                             +-- MeterBarElement
                             |
                             +-- MeterValueElement
      
      After this patch, a meter element will have the following inner structure.
      
          <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
                             |
                             +-- MeterInnerElement
                                         |
                                         +-- MeterBarElement
                                         |
                                         +-- MeterValueElement
      
      However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
      unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
      
      Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
             fast/dom/shadow/shadowdom-for-meter-multiple.html
             fast/dom/shadow/shadowdom-for-meter-with-style.html
             fast/dom/shadow/shadowdom-for-meter-without-appearance.html
             fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
             fast/dom/shadow/shadowdom-for-meter.html
      
      * css/html.css:
      (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
      (meter::-webkit-meter-inner-element):
      * html/HTMLMeterElement.cpp:
      (WebCore::HTMLMeterElement::HTMLMeterElement):
      (WebCore::HTMLMeterElement::createRenderer):
      (WebCore):
      (WebCore::HTMLMeterElement::attach): Added didElementStateChange.
      (WebCore::HTMLMeterElement::didElementStateChange):
      (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
      (WebCore::HTMLMeterElement::renderMeter):
      (WebCore::HTMLMeterElement::createShadowSubtree):
      * html/HTMLMeterElement.h:
      (WebCore):
      (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
      (HTMLMeterElement):
      (WebCore::isHTMLMeterElement):
      (WebCore::toHTMLMeterElement):
      * html/shadow/MeterShadowElement.cpp:
      (WebCore::MeterShadowElement::meterElement):
      (WebCore::MeterShadowElement::rendererIsNeeded):
      (WebCore):
      (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
      so that we can distribute an element having RenderMeter to AuthorShadowDOM.
      (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
      rendered using a theme. So we don't need to check the style appearance.
      (WebCore::MeterInnerElement::createRenderer):
      (WebCore::MeterInnerElement::shadowPseudoId):
      * html/shadow/MeterShadowElement.h:
      (WebCore):
      (MeterInnerElement):
      (WebCore::MeterInnerElement::create):
      * rendering/RenderMeter.cpp:
      (WebCore::RenderMeter::RenderMeter):
      (WebCore::RenderMeter::meterElement):
      (WebCore):
      (WebCore::RenderMeter::valueRatio):
      * rendering/RenderMeter.h:
      (RenderMeter):
      * rendering/RenderThemeMac.mm:
      (WebCore::RenderThemeMac::levelIndicatorFor):
      
      LayoutTests:
      
      Contains the following tests:
        (1) meter element with AuthorShadowDOM
        (2) meter element with multiple AuthorShadowDOM with a shadow element
        (3) meter element with multiple AuthorShadowDOM without a shadow element
        (4) meter element with AuthorShadowDOM with dynamic value update
        (5) meter element with AuthorShadowDOM with style
        (6) meter element with AuthorShadowDOM with -webkit-appearance: none
      
      * fast/dom/HTMLMeterElement/meter-clone-expected.txt:
      * fast/dom/HTMLMeterElement/meter-clone.html:
      * fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
      * fast/dom/shadow/resources/replaced-element-styles.css:
      (.meter-like):
      (.meter-inner-element-like):
      * fast/dom/shadow/shadowdom-for-meter-dynamic-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-dynamic.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-multiple-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-multiple.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-with-style-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-with-style.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-without-appearance-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-without-appearance.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-without-shadow-element-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html: Added.
      * fast/dom/shadow/shadowdom-for-meter.html: Added.
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-element-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
      * platform/chromium-win/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt:
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      037f1cd4
    • kkristof@inf.u-szeged.hu's avatar
      [Qt] Unreviwed gardening. Skip failing tests and remove obsolete test expectations. · 37371f7a
      kkristof@inf.u-szeged.hu authored
      https://bugs.webkit.org/show_bug.cgi?id=94076
      
      Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-08-15
      
      * platform/qt/Skipped: skip fast/events/autoscroll-in-textarea.html.
      * platform/qt/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt: Removed after r125615.
      * platform/qt/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt: Removed after r125615.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37371f7a
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · 10686824
      zandobersek@gmail.com authored
      Adding image failure expectation for fast/overflow/line-clamp-and-columns.html,
      the reftest is failing since it was introduced in r125635.
      
      Skipping media/video-controls-fullscreen-volume.html for the moment after
      it's been failing since introduced in r125590, the failure is probably expected
      and will be marked as WONTFIX when confirmed.
      
      Marking fast/js/random-array-gc-stress.html as a flaky crasher. The crashing
      occurs due to parallel GC being enabled.
      
      * platform/gtk/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10686824
    • abarth@webkit.org's avatar
      [Chromium] fast/dom/Window/dom-access-from-closure-window.html is flaky on Linux · 5cc9865d
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94060
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      Previously, the V8 garbage collector might have collected the Document
      wrapper before the DOMWindow wrapper because we overwrite the
      "document" property of the DOMWindow during navigation.
      
      This patch adds a hidden document property on the global object to
      ensure that the Document wrapper lives at least as long as the
      DOMWindow wrapper, ensuring that DOMWindows that we obtain from V8
      always have non-null Document objects.
      
      The JavaScriptCore bindings already have this behavior.
      
      Test: fast/dom/Window/dom-access-from-closure-window-with-gc.html
      
      * bindings/v8/V8DOMWindowShell.cpp:
      (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
      * bindings/v8/V8HiddenPropertyName.h:
      (WebCore):
      
      LayoutTests:
      
      Ensure that collecting garbage doesn't change the behavior of this test
      (compared with dom-access-from-closure-window.html).
      
      * fast/dom/Window/dom-access-from-closure-window-with-gc-expected.txt: Added.
      * fast/dom/Window/dom-access-from-closure-window-with-gc.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cc9865d
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed. Add one more flaky test to test expectations. · b993ba1e
      yutak@chromium.org authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b993ba1e
    • caseq@chromium.org's avatar
      Web Inspector: Calling getEventListeners() on element with malformed... · 93ef2805
      caseq@chromium.org authored
      Web Inspector: Calling getEventListeners() on element with malformed javascript event listeners crashes
      https://bugs.webkit.org/show_bug.cgi?id=93937
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      - check listener function to be non-null (happens upon an exception while compiling attribute listeners)
      
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::getJSListenerFunctions):
      * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
      (WebCore::getJSListenerFunctions):
      
      LayoutTests:
      
      - added test for crash on invalid syntax in an attribute JS listener;
      - added custom expectation for chrome due to JS error logged to console by JSC while compiling attribute listener;
      
      * inspector/console/command-line-api-getEventListeners-expected.txt:
      * inspector/console/command-line-api-getEventListeners.html:
      * platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt: Copied from LayoutTests/inspector/console/command-line-api-getEventListeners-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93ef2805
    • commit-queue@webkit.org's avatar
      [EFL] Update expectations for canvas/philip tests that require space collapsing · 989cd127
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94072
      
      Unreviewed EFL gardening.
      
      Move canvas/philip tests that require space collapsing
      from Skipped file to TestExpectations and indicate
      that the tests are outdated with corresponding bug
      number.
      
      Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-15
      
      * platform/efl/Skipped:
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      989cd127
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed test expectations update. Tests named dfg-*array.html are · 617185a9
      yutak@chromium.org authored
      known to be slow on debug bots.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      617185a9
  2. 14 Aug, 2012 16 commits
    • commit-queue@webkit.org's avatar
      Text selection in text area in auto scroll mode goes wrong. · 18fdb61f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=74346
      
      Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-14
      Reviewed by Ojan Vafai.
      
      Source/WebCore:
      
      WebKit triggers autoscroll in text area when the user drags the cursor from inside
      the text area to the outside. When that happens, it gets the local cursor position
      relative to the node under the cursor from hit-testing, converts it to
      the absolute position, and then converts it to the local position relative to the
      text area. However, the hit-testing method of text area did not take scrolling
      offset into account. This caused it to give an incorrect value of the local cursor
      position. Make the hit-testing take scrolling offset into account.
      
      Test: fast/events/autoscroll-in-textarea.html
      
      * html/shadow/TextControlInnerElements.cpp:
      (WebCore::TextControlInnerTextElement::createRenderer):
      * rendering/RenderTextControl.cpp:
      (WebCore::RenderTextControl::hitInnerTextElement):
      * rendering/RenderTextControlSingleLine.cpp:
      (WebCore):
      * rendering/RenderTextControlSingleLine.h:
      (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
      (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
      
      LayoutTests:
      
      * fast/events/autoscroll-in-textarea-expected.txt: Added.
      * fast/events/autoscroll-in-textarea.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18fdb61f
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed. Remove obsolete test expectations, and mark · 49bc2d8c
      yutak@chromium.org authored
      slow tests as such.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49bc2d8c
    • kinuko@chromium.org's avatar
      FileWriter fails with assertion when trying to write empty Blob · 8dba2489
      kinuko@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93694
      
      Reviewed by Kent Tamura.
      
      if the given data size is zero (i.e. m_bytesToWrite is zero) the assertion 'bytes + m_bytesWritten > 0' should not be tested.
      
      Source/WebCore:
      
      Tests: fast/filesystem/file-writer-empty-blob.html
             fast/filesystem/workers/file-writer-empty-blob.html
      
      * Modules/filesystem/FileWriter.cpp:
      (WebCore::FileWriter::didWrite):
      
      LayoutTests:
      
      * fast/filesystem/file-writer-empty-blob-expected.txt: Added.
      * fast/filesystem/file-writer-empty-blob.html: Added.
      * fast/filesystem/resources/file-writer-empty-blob.js: Added.
      * fast/filesystem/workers/file-writer-empty-blob-expected.txt: Added.
      * fast/filesystem/workers/file-writer-empty-blob.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8dba2489
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed, another gardening. Add one slow test. · 2349bbf2
      yutak@chromium.org authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2349bbf2
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed. Add new test expectation for nested-rounded-corners.html. · de8429e4
      yutak@chromium.org authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de8429e4
    • yutak@chromium.org's avatar
      [Chromium] Unreviewed test expectation update. Address new flakiness · e5c52bdc
      yutak@chromium.org authored
      and slow tests.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5c52bdc
    • ojan@chromium.org's avatar
      Fix access to m_markupBox in WebCore::EllipsisBox::paint · bc5ca6e2
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91138
      
      Reviewed by Abhishek Arya.
      
      Source/WebCore:
      
      EllipsisBox would hold on to m_markupBox, which would then get destroyed during
      the followup layoutIfNeeded in layoutVerticalBox. Instead, have EllipsisBox
      dynamically grab to pointer to the markup box during paint since there's no
      straightforward way to notify the EllipsisBox that the markupBox has been destroyed
      and/or point it at the new markupBox.
      
      Test: fast/overflow/line-clamp-and-columns.html
      
      * rendering/EllipsisBox.cpp:
      (WebCore::EllipsisBox::paint):
      (WebCore):
      (WebCore::EllipsisBox::paintMarkupBox):
      * rendering/EllipsisBox.h:
      (WebCore::EllipsisBox::EllipsisBox):
      Just store a boolean that we have a markup box that needs painting.
      * rendering/RenderDeprecatedFlexibleBox.cpp:
      (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
      Clearing the override size right after setting it was incorrect because
      there are cases where we'll do a followup layout in layoutVerticalBox, at which
      point we'll still need the override size.
      (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
      Clear the override size here to handle cases where line clamp is removed since
      we don't call applyLineClamp in those cases.
      
      LayoutTests:
      
      * fast/overflow/line-clamp-and-columns-expected.html: Added.
      * fast/overflow/line-clamp-and-columns.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc5ca6e2
    • yosin@chromium.org's avatar
      [Forms] Make input type "time" to use multiple field time input UI · 2aed2823
      yosin@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93929
      
      Reviewed by Kent Tamura.
      
      Source/WebCore:
      
      This patch changes input type "time" UI to use multiple field time
      input UI when build flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
      enabled.
      
      No new tests. This patch doesn't change behavior for users, however,
      this patch changes behavior on layout tests. Tests will be added
      in another patch with runtime enabled feature flag is enabled.
      
      Test expectations for following tests are updated:
       - fast/forms/time/time-input-visible-string.html
       - fast/forms/time/time-stepup-stepdown-from-renderer.html
      
      * html/BaseDateAndTimeInputType.h:
      (BaseDateAndTimeInputType): Exposed serialize() to derived classes.
      * html/TimeInputType.cpp:
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl):
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl):
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus):
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled):
      (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly):
      (WebCore::TimeInputType::TimeInputType):
      (WebCore::TimeInputType::~TimeInputType):
      (WebCore::TimeInputType::createRenderer):
      (WebCore::TimeInputType::createShadowSubtree):
      (WebCore::TimeInputType::destroyShadowSubtree):
      (WebCore::TimeInputType::forwardEvent):
      (WebCore::TimeInputType::disabledAttributeChanged):
      (WebCore::TimeInputType::handleKeydownEvent):
      (WebCore::TimeInputType::handleDOMActivateEvent):
      (WebCore::TimeInputType::isKeyboardFocusable):
      (WebCore::TimeInputType::isMouseFocusable):
      (WebCore::TimeInputType::minOrMaxAttributeChanged):
      (WebCore::TimeInputType::readonlyAttributeChanged):
      (WebCore::TimeInputType::isTextField):
      (WebCore::TimeInputType::setValue):
      (WebCore::TimeInputType::shouldUseInputMethod):
      (WebCore::TimeInputType::stepAttributeChanged):
      (WebCore::TimeInputType::updateEditElementLayout):
      (WebCore::TimeInputType::updateInnerTextValue):
      (WebCore::TimeInputType):
      * html/TimeInputType.h:
      (TimeInputType):
      (DateTimeEditControlOwnerImpl):
      
      LayoutTests:
      
      This patch added test expectations for multiple fields time input UI
      testing which are different behavior from single field time input UI
      for Chromium which enables multiple fields time input UI.
      
      * platform/chromium/fast/forms/time/time-input-visible-string-expected.txt: Select all in a field doesn't select text.
      * platform/chromium/fast/forms/time/time-stepup-stepdown-from-renderer-expected.txt: Fields don't change value on Up/Down keyboard events when they don't have focus and Up/Down keyboard increment/decrement value on hour field rather than minute field.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2aed2823
    • dino@apple.com's avatar
      Initial call to webkitRequestAnimationFrame returns 0, Spec indicates the... · 887c0ce5
      dino@apple.com authored
      Initial call to webkitRequestAnimationFrame returns 0, Spec indicates the handle should always be > 0
      https://bugs.webkit.org/show_bug.cgi?id=85819
      
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      The callback id returned by requestAnimationFrame was beginning at zero, when the spec
      says it should be above one. Use a pre-increment rather than a post-increment.
      
      Test: fast/animation/request-animation-frame-callback-id.html
      
      * dom/ScriptedAnimationController.cpp:
      (WebCore::ScriptedAnimationController::registerCallback): Pre-increment rather than post-increment.
      
      LayoutTests:
      
      * fast/animation/request-animation-frame-callback-id-expected.txt: Added.
      * fast/animation/request-animation-frame-callback-id.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      887c0ce5
    • cevans@google.com's avatar
      Handle the XPath / (root) operator correctly for nodes that aren't attached to the document. · 5fb976ab
      cevans@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=36427
      
      Reviewed by Abhishek Arya.
      
      Source/WebCore:
      
      We now behave the same as Firefox 14.
      The consensus seems to be that the XPath spec is ambiguous for the case of detached nodes, and that using the fragment root is more intuitive than the document root for the case of detached nodes.
      For example, http://www.w3.org/TR/xpath/ section 2 "Location Paths" is only clear for attached nodes: "A / by itself selects the root node of the document containing the context node. If it is followed by a relative location path, then the location path selects the set of nodes that would be selected by the relative location path relative to the root node of the document containing the context node."
      
      Test: fast/xpath/xpath-detached-nodes.html
      
      * xml/XPathPath.cpp:
      (WebCore::XPath::LocationPath::evaluate): Jump to the root of the detached subtree instead of the parent document if the node isn't attached to the document.
      
      LayoutTests:
      
      * fast/xpath/xpath-detached-nodes-expected.txt: Added.
      * fast/xpath/xpath-detached-nodes.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fb976ab
    • achicu@adobe.com's avatar
      [CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list · 196c77ea
      achicu@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93900
      
      Reviewed by James Robinson.
      
      Source/WebCore:
      
      Whenever the platform cannot render a shader in hardware it will fallback to software.
      In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.
      
      Test: css3/filters/custom/filter-fallback-to-software.html
      
      * platform/graphics/chromium/GraphicsLayerChromium.cpp:
      (WebCore::GraphicsLayerChromium::setFilters):
      
      LayoutTests:
      
      Added a test that first applies a blur and then switches to a CSS Shader plus a blur.
      The test was failing on Chromium by not removing the old blur filter from the platform layer.
      
      * css3/filters/custom/filter-fallback-to-software-expected.html: Added.
      * css3/filters/custom/filter-fallback-to-software.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      196c77ea
    • enne@google.com's avatar
      [chromium] Add baselines for video-controls-layer-creation layout test · 7e1ba557
      enne@google.com authored
      Unreviewed expectation update.
      
      * compositing/video/video-controls-layer-creation-expected.txt: Added.
      * platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png: Added.
      * platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png: Added.
      * platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png: Added.
      * platform/chromium-win/compositing/video/video-controls-layer-creation-expected.png: Added.
      * platform/mac/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e1ba557
    • achicu@adobe.com's avatar
      Layout Test css3/filters/custom/custom-filter-animation.html is failing · eec3f453
      achicu@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=91769
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      Mountain Lion added support for accelerated filter animations, but CSS Shaders are still
      rendered in software mode. The setFilters method is using PlatformCALayer::filtersCanBeComposited to check
      if the filters can be handled in hardwawre, so I've reused that in the createFilterAnimationsFromKeyframes
      to check if the animations can also run in hardware.
      
      Also the GraphicsContext3D doesn't update its own internal m_boundFBO when a framebuffer is deleted,
      so I've added that to the FECustomFilter. Otherwise, if the next framebuffer is created using the same
      identifier, bindFramebuffer will just return without calling the glBindFramebuffer because of this optimization.
      
      The documentation for glDeleteFramebuffer says that the bound framebuffer is unbound before deleting it.
      This is not reproduceable from WebGL, because WebGLRenderingContext::deleteFramebuffer
      already knows to unbind the framebuffer when needed. However, I'm also adding that in GraphicsContext3DOpenGLCommon.cpp
      and efl/GraphicsContext3DPrivate.cpp, to make sure that m_boundFBO is not used for other purposes.
      
      No new tests, this patch fixes a failing test.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
      * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
      (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
      * platform/graphics/filters/FECustomFilter.cpp:
      (WebCore::FECustomFilter::deleteRenderBuffers):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::deleteFramebuffer):
      
      LayoutTests:
      
      The test should be passing on Mountain Lion now, so I'm removing it from the list.
      
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eec3f453
    • commit-queue@webkit.org's avatar
      Tighten up parsing the 'script-nonce' CSP directive value. · e021aae9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93783
      
      Patch by Mike West <mkwst@chromium.org> on 2012-08-14
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Currently we're accepting any non-whitespace character. This patch
      limits the valid characters to VCHAR minus ',' and ';', and pulls the
      validity check out into a named function for clarity.
      
      Test: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html
      
      * page/ContentSecurityPolicy.cpp:
      (WebCore::CSPDirectiveList::parseScriptNonce):
      
      LayoutTests:
      
      * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e021aae9
    • abarth@webkit.org's avatar
      Delete DOMWindow::m_url · 1a20f27c
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93989
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      There's no reason for DOMWindow to keep a separate copy of the
      Document's URL now that there is a predictable way to get a Document
      from a DOMWindow.
      
      * loader/DocumentWriter.cpp:
      (WebCore::DocumentWriter::begin):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::open):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::crossDomainAccessErrorMessage):
      * page/DOMWindow.h:
      (DOMWindow):
      
      LayoutTests:
      
      The error messages for these tests now relect the document's updated
      URL after document.write has changed the URL. Previously, we failed to
      sync these changes to DOMWindow::m_url, which is why the error messages
      showed the wrong URL.
      
      * http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
      * http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a20f27c
    • commit-queue@webkit.org's avatar
      [CSSRegions]Region overset property is incorectly computed when content has... · d85715a6
      commit-queue@webkit.org authored
      [CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
      https://bugs.webkit.org/show_bug.cgi?id=92506
      
      Patch by Andrei Onea <onea@adobe.com> on 2012-08-14
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      When the content which is flowed inside a region creates visual overflow in
      the writing direction, the overflow rect is also extended in the other direction, and
      that forces regionOverset to become "fit" for all regions.
      
      Tests: fast/regions/element-region-overset-state-negative-letter-spacing.html
             fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html
      
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::computeOverflowStateForRegions):
      
      LayoutTests:
      
      Added tests for incorrect regionOverset computation when visual overflow in the writing direction creates
      overset for all regions.
      
      * fast/regions/element-region-overset-state-negative-letter-spacing-expected.txt: Added.
      * fast/regions/element-region-overset-state-negative-letter-spacing.html: Added.
      * fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Added.
      * fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d85715a6