1. 26 Sep, 2013 40 commits
    • akling@apple.com's avatar
      Pass VM instead of ExecState to many finishCreation() functions. · 22558063
      akling@apple.com authored
      <https://webkit.org/b/121975>
      
      Reviewed by Sam Weinig.
      
      Reduce unnecessary loads by passing the VM to object creation
      functions that don't need the ExecState.
      
      There are tons of opportunities in this area, I'm just scratching
      the surface.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      22558063
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r156464 and r156480. · c68e9807
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/156464
      http://trac.webkit.org/changeset/156480
      https://bugs.webkit.org/show_bug.cgi?id=121981
      
      Leaking too much and killi
      ng buildbot. (Requested by xenon on
      #webkit).
      
      Source/JavaScriptCore:
      
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedFunctionExecutable::paramString):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::emitExpressionInfo):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::ForInNode::emitBytecode):
      (JSC::FuncExprNode::emitBytecode):
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::createFormalParameterList):
      (JSC::ASTBuilder::createForInLoop):
      (JSC::ASTBuilder::addVar):
      * parser/NodeConstructors.h:
      (JSC::CommaNode::CommaNode):
      (JSC::ParameterNode::ParameterNode):
      (JSC::ForInNode::ForInNode):
      * parser/Nodes.cpp:
      (JSC::FunctionParameters::create):
      (JSC::FunctionParameters::FunctionParameters):
      (JSC::FunctionParameters::~FunctionParameters):
      * parser/Nodes.h:
      (JSC::CommaNode::append):
      (JSC::ParameterNode::ident):
      (JSC::FunctionParameters::at):
      (JSC::FunctionParameters::identifiers):
      * parser/Parser.cpp:
      (JSC::::Parser):
      (JSC::::parseVarDeclaration):
      (JSC::::parseVarDeclarationList):
      (JSC::::parseForStatement):
      (JSC::::parseFormalParameters):
      (JSC::::parseAssignmentExpression):
      * parser/Parser.h:
      (JSC::Scope::declareParameter):
      * parser/SyntaxChecker.h:
      (JSC::SyntaxChecker::createFormalParameterList):
      (JSC::SyntaxChecker::createForInLoop):
      (JSC::SyntaxChecker::operatorStackPop):
      * runtime/JSONObject.cpp:
      * runtime/JSONObject.h:
      
      LayoutTests:
      
      * js/destructuring-assignment-expected.txt: Removed.
      * js/destructuring-assignment.html: Removed.
      * js/mozilla/strict/13.1-expected.txt:
      * js/mozilla/strict/regress-532254-expected.txt:
      * js/mozilla/strict/script-tests/13.1.js:
      * js/regress/destructuring-arguments-expected.txt: Removed.
      * js/regress/destructuring-arguments-length-expected.txt: Removed.
      * js/regress/destructuring-arguments-length.html: Removed.
      * js/regress/destructuring-arguments.html: Removed.
      * js/regress/destructuring-swap-expected.txt: Removed.
      * js/regress/destructuring-swap.html: Removed.
      * js/regress/script-tests/destructuring-arguments-length.js: Removed.
      * js/regress/script-tests/destructuring-arguments.js: Removed.
      * js/regress/script-tests/destructuring-swap.js: Removed.
      * js/script-tests/destructuring-assignment.js: Removed.
      * sputnik/Conformance/13_Function_Definition/S13_A5.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c68e9807
    • andersca@apple.com's avatar
      Remove the hash table mover · 3fd53c55
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121980
      
      Reviewed by Andreas Kling.
      
      Use std::move instead.
      
      * wtf/HashTable.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fd53c55
    • ap@apple.com's avatar
      Layout Test plugins/access-after-page-destroyed.html is flaky · 0fd8813d
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121976
      
      Reviewed by Anders Carlsson.
      
      Clean up the test.
      
      * plugins/access-after-page-destroyed-2-expected.txt: Added.
      * plugins/access-after-page-destroyed-2.html: Copied from LayoutTests/plugins/access-after-page-destroyed.html.
      This was testing two distinct issues, the second one unfittingly piled onto the first.
      Split the test in two.
      
      * plugins/access-after-page-destroyed-expected.txt:
      * plugins/access-after-page-destroyed.html:
      Modernized the test with js-test scripts, added a gc() call for predictability,
      changed the test to fail quickly in the flaky case.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fd8813d
    • andersca@apple.com's avatar
      Try to fix the Windows build. · 84c504ef
      andersca@apple.com authored
      * jit/JITThunks.cpp:
      (JSC::JITThunks::hostFunctionStub):
      * jit/JITThunks.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84c504ef
    • commit-queue@webkit.org's avatar
      build-webkit --inspector-frontend should copy WebInspectorUI files · 4fa53984
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=117851
      
      Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-09-26
      Reviewed by Joseph Pecoraro.
      
      Change the --inspector-frontend build option to additionally build/copy
      WebInspectorUI by setting it as the only project that needs to be built.
      
      * Scripts/build-webkit:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fa53984
    • andersca@apple.com's avatar
      Change a couple of HashMap value types from OwnPtr to std::unique_ptr · 2a6c489f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121973
      
      Reviewed by Andreas Kling.
      
      Source/JavaScriptCore:
      
      * API/JSClassRef.cpp:
      (OpaqueJSClassContextData::OpaqueJSClassContextData):
      (OpaqueJSClass::contextData):
      * API/JSClassRef.h:
      * bytecode/SamplingTool.h:
      * ftl/FTLAbstractHeap.h:
      * parser/Parser.cpp:
      (JSC::::parseFunctionInfo):
      * parser/SourceProviderCache.cpp:
      (JSC::SourceProviderCache::add):
      * parser/SourceProviderCache.h:
      * parser/SourceProviderCacheItem.h:
      (JSC::SourceProviderCacheItem::create):
      * profiler/ProfilerCompilation.cpp:
      (JSC::Profiler::Compilation::executionCounterFor):
      (JSC::Profiler::Compilation::toJS):
      * profiler/ProfilerCompilation.h:
      * runtime/JSGlobalObject.h:
      
      Source/WTF:
      
      * wtf/RefPtrHashMap.h:
      Add a missing std::forward.
      
      * wtf/StdLibExtras.h:
      (std::make_unique):
      Add more overloads.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a6c489f
    • mark.lam@apple.com's avatar
      Move DFG inline caching logic into jit/. · 9df8b83f
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121749.
      
      Reviewed by Geoffrey Garen.
      
      Relanding http://trac.webkit.org/changeset/156235 after rebasing to latest
      revision and fixing build breakages on Windows.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/CallLinkInfo.cpp:
      (JSC::CallLinkInfo::unlink):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::resetStubInternal):
      * bytecode/StructureStubInfo.h:
      * dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
      (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator):
      (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
      * dfg/DFGJITCompiler.h:
      * dfg/DFGOSRExitCompiler.h:
      * dfg/DFGOperations.cpp:
      (JSC::DFG::operationPutByValInternal):
      * dfg/DFGOperations.h:
      (JSC::DFG::operationNewTypedArrayWithSizeForType):
      (JSC::DFG::operationNewTypedArrayWithOneArgumentForType):
      * dfg/DFGRegisterSet.h: Removed.
      * dfg/DFGRepatch.cpp: Removed.
      * dfg/DFGRepatch.h: Removed.
      * dfg/DFGScratchRegisterAllocator.h: Removed.
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
      (JSC::DFG::SpeculativeJIT::compare):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::callOperation):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::cachedPutById):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::cachedPutById):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::CompareAndBoxBooleanSlowPathGenerator::CompareAndBoxBooleanSlowPathGenerator):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGThunks.cpp:
      * dfg/DFGThunks.h:
      * ftl/FTLIntrinsicRepository.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
      * ftl/FTLOSRExitCompiler.h:
      * jit/AssemblyHelpers.h:
      (JSC::AssemblyHelpers::writeBarrier):
      * jit/JIT.cpp:
      (JSC::JIT::linkFor):
      (JSC::JIT::linkSlowCall):
      * jit/JITCall.cpp:
      (JSC::JIT::compileCallEvalSlowCase):
      (JSC::JIT::compileOpCallSlowCase):
      (JSC::JIT::privateCompileClosureCall):
      * jit/JITCall32_64.cpp:
      (JSC::JIT::compileCallEvalSlowCase):
      (JSC::JIT::compileOpCallSlowCase):
      (JSC::JIT::privateCompileClosureCall):
      * jit/JITOperationWrappers.h: Copied from Source/JavaScriptCore/jit/JITOperationWrappers.h.
      * jit/JITOperations.cpp: Copied from Source/JavaScriptCore/jit/JITOperations.cpp.
      (JSC::getHostCallReturnValueWithExecState):
      * jit/JITOperations.h: Copied from Source/JavaScriptCore/jit/JITOperations.h.
      * jit/RegisterSet.h: Copied from Source/JavaScriptCore/jit/RegisterSet.h.
      * jit/Repatch.cpp: Copied from Source/JavaScriptCore/jit/Repatch.cpp.
      (JSC::tryBuildGetByIDList):
      * jit/Repatch.h: Copied from Source/JavaScriptCore/jit/Repatch.h.
      * jit/ScratchRegisterAllocator.h: Copied from Source/JavaScriptCore/jit/ScratchRegisterAllocator.h.
      * jit/ThunkGenerators.cpp:
      (JSC::oldStyleGenerateSlowCaseFor):
      (JSC::oldStyleLinkForGenerator):
      (JSC::oldStyleLinkCallGenerator):
      (JSC::oldStyleLinkConstructGenerator):
      (JSC::oldStyleLinkClosureCallGenerator):
      (JSC::oldStyleVirtualForGenerator):
      (JSC::oldStyleVirtualCallGenerator):
      (JSC::oldStyleVirtualConstructGenerator):
      (JSC::emitPointerValidation):
      (JSC::throwExceptionFromCallSlowPathGenerator):
      (JSC::slowPathFor):
      (JSC::linkForThunkGenerator):
      (JSC::linkCallThunkGenerator):
      (JSC::linkConstructThunkGenerator):
      (JSC::linkClosureCallThunkGenerator):
      (JSC::virtualForThunkGenerator):
      (JSC::virtualCallThunkGenerator):
      (JSC::virtualConstructThunkGenerator):
      * jit/ThunkGenerators.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9df8b83f
    • andersca@apple.com's avatar
      Remove PassWeak.h · cb9e849d
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121971
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * heap/PassWeak.h: Removed.
      * heap/WeakInlines.h:
      
      Source/WebCore:
      
      * ForwardingHeaders/heap/PassWeak.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb9e849d
    • eric.carlson@apple.com's avatar
      [MediaStream API] implement VideoStreamTrack and AudioStreamTrack · 660b612c
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121950
      
      Reviewed by Dean Jackson.
      
      No new tests, blocked by https://bugs.webkit.org/show_bug.cgi?id=121967
      
      * CMakeLists.txt: Add new files.
      * DerivedSources.make: Ditto.
      * GNUmakefile.list.am: Ditto.
      
      * Modules/mediastream/AudioStreamTrack.cpp: Added.
      * Modules/mediastream/AudioStreamTrack.h: Added.
      * Modules/mediastream/AudioStreamTrack.idl: Added.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::MediaStream): Create an AudioStreamTrack or a VideoStreamTrack.
      (WebCore::MediaStream::addRemoteSource): Ditto.
      
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::create): Removed.
      * Modules/mediastream/MediaStreamTrack.h:
      
      * Modules/mediastream/VideoStreamTrack.cpp: Added.
      * Modules/mediastream/VideoStreamTrack.h: Added.
      * Modules/mediastream/VideoStreamTrack.idl: Added.
      
      * WebCore.xcodeproj/project.pbxproj: Add new files.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      660b612c
    • andersca@apple.com's avatar
      Stop using PassWeak · c21b1344
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121968
      
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore:
      
      * heap/Weak.h:
      Remove all knowledge of PassWeak.
      
      (JSC::Weak::Weak):
      These constructors don't need to be explicit.
      
      * heap/WeakInlines.h:
      (JSC::weakAdd):
      Change Value to be an rvalue reference and use std::forward.
      
      * jit/JITThunks.cpp:
      (JSC::JITThunks::hostFunctionStub):
      Remove PassWeak.
      
      * runtime/RegExpCache.cpp:
      (JSC::RegExpCache::lookupOrCreate):
      Use Weak instead of PassWeak.
      
      * runtime/SimpleTypedArrayController.cpp:
      Change add and set to take Weak by value and std::move into place.
      
      * runtime/WeakGCMap.h:
      (JSC::WeakGCMap::get):
      (JSC::WeakGCMap::set):
      (JSC::WeakGCMap::add):
      
      Source/WebCore:
      
      Update for JavaScriptCore changes.
      
      * bindings/js/JSDOMBinding.h:
      (WebCore::setInlineCachedWrapper):
      (WebCore::cacheWrapper):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::JSEventListener):
      * bindings/js/JSEventListener.h:
      (WebCore::JSEventListener::setWrapper):
      (WebCore::JSEventListener::jsFunction):
      * bindings/js/JSMutationCallback.cpp:
      (WebCore::JSMutationCallback::JSMutationCallback):
      * bindings/js/JSNodeFilterCondition.cpp:
      (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
      * bindings/js/ScriptWrappableInlines.h:
      (WebCore::ScriptWrappable::setWrapper):
      * bindings/js/WebCoreTypedArrayController.cpp:
      * bridge/jsc/BridgeJSC.cpp:
      (JSC::Bindings::Instance::createRuntimeObject):
      * bridge/runtime_root.cpp:
      (JSC::Bindings::RootObject::addRuntimeObject):
      
      Source/WebKit2:
      
      Update for JavaScriptCore changes.
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c21b1344
    • ap@apple.com's avatar
      fast/css/font-face-data-uri.html is failing · 7552b8c5
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=82744
      
      Reviewed by Dan Bernstein.
      
      * fast/css/font-face-data-uri.html: There is no need to keep retrying, we can just
      wait for onload - as long as the font load starts early enough.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7552b8c5
    • weinig@apple.com's avatar
      Pass a JSC::VM& to JS bindings object creation functions, rather than a JSC::ExecState* · d721a972
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121934
      
      Reviewed by Geoffrey Garen.
      
      ../WebCore: 
      
      Reduce unnecessary loads by passing the JSC::VM to object creation/access functions
      that don't need the ExecState.
      
      * WebCore.exp.in:
      * bindings/js/JSDOMBinding.h:
      (WebCore::getDOMStructure):
      (WebCore::deprecatedGetDOMStructure):
      (WebCore::getDOMPrototype):
      (WebCore::setInlineCachedWrapper):
      (WebCore::createWrapper):
      * bindings/js/JSDOMGlobalObject.h:
      (WebCore::getDOMConstructor):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::image):
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::location):
      * bindings/js/JSImageConstructor.cpp:
      (WebCore::JSImageConstructor::finishCreation):
      * bindings/js/JSImageConstructor.h:
      (WebCore::JSImageConstructor::create):
      * bindings/js/ScriptWrappable.h:
      * bindings/js/ScriptWrappableInlines.h:
      (WebCore::ScriptWrappable::setWrapper):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateConstructorDeclaration):
      (GenerateConstructorHelperMethods):
      * bridge/c/CRuntimeObject.cpp:
      (JSC::Bindings::CRuntimeObject::CRuntimeObject):
      (JSC::Bindings::CRuntimeObject::finishCreation):
      * bridge/c/CRuntimeObject.h:
      (JSC::Bindings::CRuntimeObject::create):
      * bridge/c/c_instance.cpp:
      (JSC::Bindings::CInstance::newRuntimeObject):
      * bridge/jsc/BridgeJSC.cpp:
      (JSC::Bindings::Instance::newRuntimeObject):
      * bridge/objc/ObjCRuntimeObject.h:
      (JSC::Bindings::ObjCRuntimeObject::create):
      * bridge/objc/ObjCRuntimeObject.mm:
      (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
      (JSC::Bindings::ObjCRuntimeObject::finishCreation):
      * bridge/objc/objc_instance.mm:
      (ObjcInstance::newRuntimeObject):
      * bridge/objc/objc_runtime.h:
      (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
      * bridge/runtime_array.h:
      (JSC::RuntimeArray::createPrototype):
      * bridge/runtime_method.h:
      (JSC::RuntimeMethod::createPrototype):
      * bridge/runtime_object.cpp:
      (JSC::Bindings::RuntimeObject::RuntimeObject):
      (JSC::Bindings::RuntimeObject::finishCreation):
      * bridge/runtime_object.h:
      (JSC::Bindings::RuntimeObject::create):
      (JSC::Bindings::RuntimeObject::createPrototype):
      
      ../WebKit/mac: 
      
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyInstance::newRuntimeObject):
      * Plugins/Hosted/ProxyRuntimeObject.h:
      (WebKit::ProxyRuntimeObject::create):
      * Plugins/Hosted/ProxyRuntimeObject.mm:
      (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
      (WebKit::ProxyRuntimeObject::finishCreation):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d721a972
    • graouts@apple.com's avatar
      Web Inspector: Activity viewer not properly reset when reloading · ae0e6f48
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121958
      
      Reviewed by Darin Adler.
      
      Reset the resources count and accumulated size when we detect the main frame
      has changed, which will work with documents where there are no resources besides
      frames in which case WebInspector.Frame.Event.AllResourcesRemoved was not fired
      and our counts wouldn't be reset correctly.
      
      * UserInterface/DashboardManager.js:
      (WebInspector.DashboardManager):
      (WebInspector.DashboardManager.prototype._mainResourceDidChange):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae0e6f48
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r156474. · bf43ed96
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/156474
      https://bugs.webkit.org/show_bug.cgi?id=121966
      
      Broke the builds. (Requested by xenon on #webkit).
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::registerName):
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::createActivation):
      (JSC::CodeBlock::nameForRegister):
      * bytecode/CodeBlock.h:
      (JSC::unmodifiedArgumentsRegister):
      (JSC::CodeBlock::isKnownNotImmediate):
      (JSC::CodeBlock::setThisRegister):
      (JSC::CodeBlock::thisRegister):
      (JSC::CodeBlock::setArgumentsRegister):
      (JSC::CodeBlock::argumentsRegister):
      (JSC::CodeBlock::uncheckedArgumentsRegister):
      (JSC::CodeBlock::setActivationRegister):
      (JSC::CodeBlock::activationRegister):
      (JSC::CodeBlock::uncheckedActivationRegister):
      (JSC::CodeBlock::usesArguments):
      (JSC::CodeBlock::isCaptured):
      * bytecode/Instruction.h:
      * bytecode/LazyOperandValueProfile.h:
      (JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey):
      (JSC::LazyOperandValueProfileKey::operator!):
      (JSC::LazyOperandValueProfileKey::hash):
      (JSC::LazyOperandValueProfileKey::operand):
      (JSC::LazyOperandValueProfileKey::isHashTableDeletedValue):
      (JSC::LazyOperandValueProfile::LazyOperandValueProfile):
      * bytecode/MethodOfGettingAValueProfile.cpp:
      (JSC::MethodOfGettingAValueProfile::fromLazyOperand):
      (JSC::MethodOfGettingAValueProfile::getSpecFailBucket):
      * bytecode/Operands.h:
      (JSC::localToOperand):
      (JSC::operandIsLocal):
      (JSC::operandToLocal):
      (JSC::operandIsArgument):
      (JSC::operandToArgument):
      (JSC::argumentToOperand):
      (JSC::Operands::operand):
      (JSC::Operands::hasOperand):
      (JSC::Operands::setOperand):
      (JSC::Operands::operandForIndex):
      (JSC::Operands::setOperandFirstTime):
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedCodeBlock::setThisRegister):
      (JSC::UnlinkedCodeBlock::setActivationRegister):
      (JSC::UnlinkedCodeBlock::setArgumentsRegister):
      (JSC::UnlinkedCodeBlock::usesArguments):
      (JSC::UnlinkedCodeBlock::argumentsRegister):
      (JSC::UnlinkedCodeBlock::usesGlobalObject):
      (JSC::UnlinkedCodeBlock::setGlobalObjectRegister):
      (JSC::UnlinkedCodeBlock::globalObjectRegister):
      (JSC::UnlinkedCodeBlock::thisRegister):
      (JSC::UnlinkedCodeBlock::activationRegister):
      * bytecode/ValueRecovery.h:
      (JSC::ValueRecovery::displacedInJSStack):
      (JSC::ValueRecovery::virtualRegister):
      (JSC::ValueRecovery::dumpInContext):
      * bytecode/VirtualRegister.h:
      (WTF::printInternal):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::generate):
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::createLazyRegisterIfNecessary):
      (JSC::BytecodeGenerator::newRegister):
      (JSC::BytecodeGenerator::emitLoadGlobalObject):
      (JSC::BytecodeGenerator::emitGetArgumentsLength):
      (JSC::BytecodeGenerator::emitGetArgumentByVal):
      (JSC::BytecodeGenerator::createArgumentsIfNecessary):
      (JSC::BytecodeGenerator::emitReturn):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::registerFor):
      * bytecompiler/RegisterID.h:
      (JSC::RegisterID::RegisterID):
      (JSC::RegisterID::setIndex):
      (JSC::RegisterID::index):
      * debugger/DebuggerCallFrame.cpp:
      (JSC::DebuggerCallFrame::thisObject):
      * dfg/DFGAbstractHeap.h:
      (JSC::DFG::AbstractHeap::Payload::Payload):
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      (JSC::DFG::::clobberCapturedVars):
      * dfg/DFGArgumentPosition.h:
      (JSC::DFG::ArgumentPosition::dump):
      * dfg/DFGArgumentsSimplificationPhase.cpp:
      (JSC::DFG::ArgumentsSimplificationPhase::run):
      (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
      (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::newVariableAccessData):
      (JSC::DFG::ByteCodeParser::getDirect):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::setDirect):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::getLocal):
      (JSC::DFG::ByteCodeParser::setLocal):
      (JSC::DFG::ByteCodeParser::getArgument):
      (JSC::DFG::ByteCodeParser::setArgument):
      (JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
      (JSC::DFG::ByteCodeParser::findArgumentPosition):
      (JSC::DFG::ByteCodeParser::flush):
      (JSC::DFG::ByteCodeParser::flushDirect):
      (JSC::DFG::ByteCodeParser::getToInt32):
      (JSC::DFG::ByteCodeParser::getThis):
      (JSC::DFG::ByteCodeParser::addCall):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
      (JSC::DFG::ByteCodeParser::handleCall):
      (JSC::DFG::ByteCodeParser::emitFunctionChecks):
      (JSC::DFG::ByteCodeParser::emitArgumentPhantoms):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::handleMinMax):
      (JSC::DFG::ByteCodeParser::handleIntrinsic):
      (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
      (JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
      (JSC::DFG::ByteCodeParser::handleGetByOffset):
      (JSC::DFG::ByteCodeParser::handleGetById):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGCFGSimplificationPhase.cpp:
      * dfg/DFGCPSRethreadingPhase.cpp:
      (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocal):
      (JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocal):
      (JSC::DFG::CPSRethreadingPhase::canonicalizeSetArgument):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::capabilityLevel):
      * dfg/DFGConstantFoldingPhase.cpp:
      (JSC::DFG::ConstantFoldingPhase::isCapturedAtOrAfter):
      * dfg/DFGFlushLivenessAnalysisPhase.cpp:
      (JSC::DFG::FlushLivenessAnalysisPhase::setForNode):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::argumentsRegisterFor):
      (JSC::DFG::Graph::uncheckedArgumentsRegisterFor):
      (JSC::DFG::Graph::uncheckedActivationRegisterFor):
      (JSC::DFG::Graph::valueProfileFor):
      * dfg/DFGJITCode.cpp:
      (JSC::DFG::JITCode::reconstruct):
      * dfg/DFGNode.h:
      (JSC::DFG::Node::Node):
      (JSC::DFG::Node::convertToGetLocalUnlinked):
      (JSC::DFG::Node::hasVirtualRegister):
      (JSC::DFG::Node::virtualRegister):
      (JSC::DFG::Node::setVirtualRegister):
      * dfg/DFGOSREntry.cpp:
      (JSC::DFG::prepareOSREntry):
      * dfg/DFGOSREntrypointCreationPhase.cpp:
      (JSC::DFG::OSREntrypointCreationPhase::run):
      * dfg/DFGOSRExit.h:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGRegisterBank.h:
      (JSC::DFG::RegisterBank::tryAllocate):
      (JSC::DFG::RegisterBank::allocateSpecific):
      (JSC::DFG::RegisterBank::retain):
      (JSC::DFG::RegisterBank::isInUse):
      (JSC::DFG::RegisterBank::dump):
      (JSC::DFG::RegisterBank::releaseAtIndex):
      (JSC::DFG::RegisterBank::allocateInternal):
      (JSC::DFG::RegisterBank::MapEntry::MapEntry):
      * dfg/DFGScoreBoard.h:
      (JSC::DFG::ScoreBoard::allocate):
      (JSC::DFG::ScoreBoard::use):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::checkConsistency):
      (JSC::DFG::SpeculativeJIT::compileMovHint):
      (JSC::DFG::SpeculativeJIT::compileInlineStart):
      (JSC::DFG::SpeculativeJIT::compileCurrentBlock):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::allocate):
      (JSC::DFG::SpeculativeJIT::fprAllocate):
      (JSC::DFG::SpeculativeJIT::silentSpillAllRegistersImpl):
      (JSC::DFG::SpeculativeJIT::flushRegisters):
      (JSC::DFG::SpeculativeJIT::isFlushed):
      (JSC::DFG::SpeculativeJIT::argumentSlot):
      (JSC::DFG::SpeculativeJIT::argumentTagSlot):
      (JSC::DFG::SpeculativeJIT::argumentPayloadSlot):
      (JSC::DFG::SpeculativeJIT::valueSourceForOperand):
      (JSC::DFG::SpeculativeJIT::setNodeForOperand):
      (JSC::DFG::SpeculativeJIT::valueSourceReferenceForOperand):
      (JSC::DFG::SpeculativeJIT::recordSetLocal):
      (JSC::DFG::SpeculativeJIT::generationInfoFromVirtualRegister):
      (JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGValidate.cpp:
      (JSC::DFG::Validate::validate):
      (JSC::DFG::Validate::validateCPS):
      (JSC::DFG::Validate::checkOperand):
      (JSC::DFG::Validate::reportValidationContext):
      * dfg/DFGValueRecoveryOverride.h:
      (JSC::DFG::ValueRecoveryOverride::ValueRecoveryOverride):
      * dfg/DFGVariableAccessData.h:
      (JSC::DFG::VariableAccessData::operand):
      (JSC::DFG::VariableAccessData::shouldUseDoubleFormatAccordingToVote):
      (JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat):
      (JSC::DFG::VariableAccessData::flushFormat):
      * dfg/DFGVariableEvent.h:
      (JSC::DFG::VariableEvent::spill):
      (JSC::DFG::VariableEvent::setLocal):
      * dfg/DFGVariableEventStream.cpp:
      (JSC::DFG::VariableEventStream::reconstruct):
      * dfg/DFGVirtualRegisterAllocationPhase.cpp:
      (JSC::DFG::VirtualRegisterAllocationPhase::run):
      * ftl/FTLExitArgumentForOperand.h:
      (JSC::FTL::ExitArgumentForOperand::ExitArgumentForOperand):
      (JSC::FTL::ExitArgumentForOperand::operand):
      * ftl/FTLLink.cpp:
      (JSC::FTL::link):
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
      (JSC::FTL::LowerDFGToLLVM::compileGetArgument):
      (JSC::FTL::LowerDFGToLLVM::compileExtractOSREntryLocal):
      (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
      (JSC::FTL::LowerDFGToLLVM::appendOSRExit):
      (JSC::FTL::LowerDFGToLLVM::observeMovHint):
      (JSC::FTL::LowerDFGToLLVM::addressFor):
      (JSC::FTL::LowerDFGToLLVM::payloadFor):
      (JSC::FTL::LowerDFGToLLVM::tagFor):
      * ftl/FTLOSREntry.cpp:
      (JSC::FTL::prepareOSREntry):
      * ftl/FTLOSRExit.cpp:
      (JSC::FTL::OSRExit::convertToForward):
      * ftl/FTLOSRExit.h:
      * ftl/FTLOSRExitCompiler.cpp:
      (JSC::FTL::compileStub):
      * interpreter/CallFrame.h:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::dumpRegisters):
      (JSC::unwindCallFrame):
      (JSC::Interpreter::unwind):
      * jit/AssemblyHelpers.h:
      (JSC::AssemblyHelpers::addressFor):
      (JSC::AssemblyHelpers::tagFor):
      (JSC::AssemblyHelpers::payloadFor):
      (JSC::AssemblyHelpers::argumentsRegisterFor):
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::compileLoadVarargs):
      * jit/JITInlines.h:
      (JSC::JIT::emitGetVirtualRegister):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_tear_off_arguments):
      (JSC::JIT::emit_op_get_pnames):
      (JSC::JIT::emit_op_enter):
      (JSC::JIT::emit_op_create_arguments):
      (JSC::JIT::emitSlow_op_get_argument_by_val):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_enter):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * profiler/ProfilerBytecodeSequence.cpp:
      (JSC::Profiler::BytecodeSequence::BytecodeSequence):
      * runtime/CommonSlowPaths.cpp:
      (JSC::SLOW_PATH_DECL):
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::argumentsGetter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf43ed96
    • graouts@apple.com's avatar
      Web Inspector: Keep DOM tree expanded on page reload · 5a75fb3a
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121665
      
      Reviewed by Darin Adler.
      
      Allow the node that was selected before reloading the page to be selected
      at the page is reloaded. Credit goes to Joseph Pecoraro for the fix.
      
      * UserInterface/DOMTreeContentView.js:
      (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a75fb3a
    • oliver@apple.com's avatar
      Attempt to fix MSVC build · bfab3436
      oliver@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfab3436
    • jer.noble@apple.com's avatar
      [WK2] Crash at at com.apple.WebKit2: WebKit::VoidCallback::invalidate + 46 · 9396e793
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121910
      
      Reviewed by Darin Adler.
      
      Store a copy of the VoidCallback passed to WKPage, and invalidate the callback
      during dealloc. The VoidCallback class assumes that it will only ever be
      invalidated or invoked once, so change the ASSERTs into an early return.
      
      * UIProcess/GenericCallback.h:
      (WebKit::VoidCallback::performCallback): Exit early if previously invalidated.
      (WebKit::VoidCallback::invalidate): Ditto.
      * UIProcess/mac/WKFullScreenWindowController.h:
      * UIProcess/mac/WKFullScreenWindowController.mm:
      (-[WKFullScreenWindowController dealloc]): Invalidate the repaint callback if present.
      (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto & create a new callback.
      (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Clear the callback.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9396e793
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r156451. · ddd97be3
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/156451
      https://bugs.webkit.org/show_bug.cgi?id=121965
      
      Broke two fast/multicol tests. (Requested by kling on
      #webkit).
      
      Source/WebCore:
      
      * rendering/FlowThreadController.cpp:
      (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
      * rendering/RenderElement.cpp:
      (WebCore::RenderElement::propagateStyleToAnonymousChildren):
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::layout):
      (WebCore::RenderFlowThread::regionForCompositedLayer):
      (WebCore::RenderFlowThread::updateRegionForRenderLayer):
      (WebCore::RenderFlowThread::updateLayerToRegionMappings):
      * rendering/RenderFlowThread.h:
      * rendering/RenderGeometryMap.cpp:
      * rendering/RenderGeometryMap.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::calculateLayerBounds):
      * rendering/RenderLayer.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      * rendering/RenderLayerBacking.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
      (WebCore::RenderLayerCompositor::canBeComposited):
      (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderMultiColumnSet.cpp:
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::setRequiresLayerForCompositing):
      * rendering/RenderRegion.h:
      * rendering/RenderRegionSet.h:
      * rendering/RenderTreeAsText.cpp:
      (WebCore::writeLayers):
      
      LayoutTests:
      
      * fast/regions/layers/accelerated-compositing/crash-transform-inside-region-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/crash-transform-inside-region.html: Removed.
      * fast/regions/layers/accelerated-compositing/floated-region-with-transformed-child-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/floated-region-with-transformed-child.html: Removed.
      * fast/regions/layers/accelerated-compositing/move-layer-from-one-region-to-another-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/move-layer-from-one-region-to-another.html: Removed.
      * fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding-for-video-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding-for-video.html: Removed.
      * fast/regions/layers/accelerated-compositing/propagate-region-box-shadow-border-padding.html: Removed.
      * fast/regions/layers/accelerated-compositing/region-as-layer-in-another-flowthread-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/region-as-layer-in-another-flowthread.html: Removed.
      * fast/regions/layers/accelerated-compositing/transform-transparent-positioned-video-inside-region-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/transform-transparent-positioned-video-inside-region.html: Removed.
      * fast/regions/layers/accelerated-compositing/transformed-layer-inside-transformed-layer-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/transformed-layer-inside-transformed-layer.html: Removed.
      * fast/regions/layers/accelerated-compositing/z-index-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/z-index-update-expected.html: Removed.
      * fast/regions/layers/accelerated-compositing/z-index-update.html: Removed.
      * fast/regions/layers/accelerated-compositing/z-index.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddd97be3
    • commit-queue@webkit.org's avatar
      [sh4] JSValue* exception is unused since r70703 in JITStackFrame. · 3ce68347
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121962
      
      This is a cosmetic change, but it could avoid people reading sh4 part to
      waste time to understand why there is a JSValue* here.
      
      Patch by Julien Brianceau <jbriance@cisco.com> on 2013-09-26
      Reviewed by Darin Adler.
      
      * jit/JITStubs.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ce68347
    • andersca@apple.com's avatar
      WeakGCMap should not inherit from HashMap · e4b2dd9c
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121964
      
      Reviewed by Geoffrey Garen.
      
      Add the HashMap as a member variable instead and implement the missing member functions.
      
      * runtime/WeakGCMap.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4b2dd9c
    • zandobersek@gmail.com's avatar
      XvfbDriver should set up Xvfb instances providing screens of 8-bit depth · 104c4460
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121951
      
      Reviewed by Carlos Garcia Campos.
      
      Screens with 24-bit depth are causing problems as it doesn't seem to be possible to fall back to
      software rendering successfully on the GTK 64-bit release builder, resulting in crashes in almost
      500 layout tests that trigger accelerated compositing to be used.
      
      * Scripts/webkitpy/port/xvfbdriver.py:
      (XvfbDriver._start):
      * Scripts/webkitpy/port/xvfbdriver_unittest.py: Update unit test baselines.
      (XvfbDriverTest.test_start_no_pixel_tests):
      (XvfbDriverTest.test_start_pixel_tests):
      (XvfbDriverTest.test_start_arbitrary_worker_number):
      (XvfbDriverTest.test_next_free_display):
      (XvfbDriverTest.test_start_next_worker):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      104c4460
    • msaboff@apple.com's avatar
      VirtualRegister should be a class · 1796ad0f
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121732
      
      Reviewed by Geoffrey Garen.
      
      This is a refactoring change.  Changed VirtualRegister from an enum to a class.
      Moved Operands::operandIsArgument(), operandToArgument(), argumentToOperand()
      and the similar functions for locals to VirtualRegister class.
      
      This is in preparation for changing the offset for the first local register from
      0 to -1.  This is needed since most native calling conventions have the architected
      frame pointer (e.g. %rbp for X86) point at the slot that stores the previous frame
      pointer.  Local values start below that address.
      
      * bytecode/CodeBlock.cpp:
      * bytecode/CodeBlock.h:
      * bytecode/Instruction.h:
      * bytecode/LazyOperandValueProfile.h:
      * bytecode/MethodOfGettingAValueProfile.cpp:
      * bytecode/Operands.h:
      * bytecode/UnlinkedCodeBlock.cpp:
      * bytecode/UnlinkedCodeBlock.h:
      * bytecode/ValueRecovery.h:
      * bytecode/VirtualRegister.h:
      * bytecompiler/BytecodeGenerator.cpp:
      * bytecompiler/BytecodeGenerator.h:
      * bytecompiler/RegisterID.h:
      * debugger/DebuggerCallFrame.cpp:
      * dfg/DFGAbstractHeap.h:
      * dfg/DFGAbstractInterpreterInlines.h:
      * dfg/DFGArgumentPosition.h:
      * dfg/DFGArgumentsSimplificationPhase.cpp:
      * dfg/DFGByteCodeParser.cpp:
      * dfg/DFGCFGSimplificationPhase.cpp:
      * dfg/DFGCPSRethreadingPhase.cpp:
      * dfg/DFGCapabilities.cpp:
      * dfg/DFGConstantFoldingPhase.cpp:
      * dfg/DFGFlushLivenessAnalysisPhase.cpp:
      * dfg/DFGGraph.cpp:
      * dfg/DFGGraph.h:
      * dfg/DFGJITCode.cpp:
      * dfg/DFGNode.h:
      * dfg/DFGOSREntry.cpp:
      * dfg/DFGOSREntrypointCreationPhase.cpp:
      * dfg/DFGOSRExit.h:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      * dfg/DFGOSRExitCompiler64.cpp:
      * dfg/DFGRegisterBank.h:
      * dfg/DFGScoreBoard.h:
      * dfg/DFGSpeculativeJIT.cpp:
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT64.cpp:
      * dfg/DFGValidate.cpp:
      * dfg/DFGValueRecoveryOverride.h:
      * dfg/DFGVariableAccessData.h:
      * dfg/DFGVariableEvent.h:
      * dfg/DFGVariableEventStream.cpp:
      * dfg/DFGVirtualRegisterAllocationPhase.cpp:
      * ftl/FTLExitArgumentForOperand.h:
      * ftl/FTLLink.cpp:
      * ftl/FTLLowerDFGToLLVM.cpp:
      * ftl/FTLOSREntry.cpp:
      * ftl/FTLOSRExit.cpp:
      * ftl/FTLOSRExit.h:
      * ftl/FTLOSRExitCompiler.cpp:
      * interpreter/CallFrame.h:
      * interpreter/Interpreter.cpp:
      * jit/AssemblyHelpers.h:
      * jit/JIT.h:
      * jit/JITCall.cpp:
      * jit/JITInlines.h:
      * jit/JITOpcodes.cpp:
      * jit/JITOpcodes32_64.cpp:
      * jit/JITStubs.cpp:
      * llint/LLIntSlowPaths.cpp:
      * profiler/ProfilerBytecodeSequence.cpp:
      * runtime/CommonSlowPaths.cpp:
      * runtime/JSActivation.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1796ad0f
    • eric.carlson@apple.com's avatar
      [MediaStream] Cleanup platform interface · 44da78ad
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121935
      
      Reviewed by Jer Noble.
      
      No new tests, tests will be updated in the next patch.
      
      * CMakeLists.txt: Remove MediaStreamComponent.cpp.
      * GNUmakefile.list.am: Remove MediaStreamComponent.h|cpp and MediaStreamSourcesQueryClient.h. 
          Add MediaStreamConstraintsValidationClient.h and MediaStreamCreationClient.h.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::processTrack): Duplicate MediaStreamSource when necessary to work around bug 121954.
      (WebCore::createFromSourceVectors): MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
      (WebCore::MediaStream::MediaStream): *Components -> *Streams.
      (WebCore::MediaStream::setEnded): New.
      (WebCore::MediaStream::stop):  MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
      (WebCore::MediaStream::addTrack): Append the track parameter rather than duplicating it, as per spec.
      (WebCore::MediaStream::removeTrack): *Components -> *Streams.
      (WebCore::MediaStream::trackDidEnd): Renamed from trackEnded.
      (WebCore::MediaStream::streamDidEnd): Renamed from streamEnded.
      (WebCore::MediaStream::addRemoteSource): Renamed from addRemoteTrack. *Components -> *Streams.
      (WebCore::MediaStream::removeRemoteSource): Renamed from removeRemoteTrack. *Components -> *Streams.
      * Modules/mediastream/MediaStream.h:
      
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::create): *Component -> *Stream.
      (WebCore::MediaStreamTrack::MediaStreamTrack): Don't assume source is valid.
      (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
      (WebCore::MediaStreamTrack::kind): Ditto. AtomicString -> const AtomicString&.
      (WebCore::MediaStreamTrack::setSource): Moved from .h file.
      (WebCore::MediaStreamTrack::id): Don't assume source is valid. Create ID when the source doesn't have one.
      (WebCore::MediaStreamTrack::label): Don't assume source is valid.
      (WebCore::MediaStreamTrack::enabled): 
      (WebCore::MediaStreamTrack::setEnabled): *Component -> *Stream. MediaStreamCenter::instance -> MediaStreamCenter::shared.
      (WebCore::MediaStreamTrack::readyState): "muted" is not a readyState, but "new" is.
      (WebCore::MediaStreamTrack::getSources): MediaStreamCenter::instance -> MediaStreamCenter::shared.
      (WebCore::MediaStreamTrack::ended): *Component -> *Stream.
      (WebCore::MediaStreamTrack::sourceChangedState): Dispatch "started" and "unmuted" events.
      (WebCore::MediaStreamTrack::trackDidEnd): Renamed from didEndTrack. m_component -> m_source.
      * Modules/mediastream/MediaStreamTrack.h:
      
      * Modules/mediastream/RTCDTMFSender.cpp:
      (WebCore::RTCDTMFSender::create): track->component() -> track->source();
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::didRemoveRemoteStream): Ditto.
      
      * Modules/mediastream/RTCStatsRequestImpl.cpp:
      (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): Ditto.
      (WebCore::RTCStatsRequestImpl::component): Removed, it was unused.
      * Modules/mediastream/RTCStatsRequestImpl.h:
      
      * Modules/mediastream/UserMediaClient.h:
      * Modules/mediastream/UserMediaController.h:
      (WebCore::UserMediaController::requestPermission): Renamed from requestUserMedia, get rid of source
          vector parameters.
      (WebCore::UserMediaController::cancelRequest): Renamed from cancelUserMediaRequest.
      
      * Modules/mediastream/UserMediaRequest.cpp:
      (WebCore::parseOptions): MediaConstraintsImpl -> MediaConstraints.
      (WebCore::UserMediaRequest::create): Ditto.
      (WebCore::UserMediaRequest::UserMediaRequest): Ditto.
      (WebCore::UserMediaRequest::securityOrigin): New.
      (WebCore::UserMediaRequest::start): Request constraint validation.
      (WebCore::UserMediaRequest::constraintsValidated): New. Callback from media engine when constraints
          can be supported.
      (WebCore::UserMediaRequest::requestPermission): New. Ask user media client for permission to access media.
      (WebCore::UserMediaRequest::userMediaAccessGranted): New. Access has been granted.
      (WebCore::UserMediaRequest::createMediaStream): New. Allowed to access media, ask media engine
          to create stream sources.
      (WebCore::UserMediaRequest::userMediaAccessDenied): New. User media client has denied access request.
      (WebCore::UserMediaRequest::constraintsInvalid): New. Media engine can not support constraints.
      (WebCore::UserMediaRequest::didCreateStream): New. Media engine has created stream sources.
      (WebCore::UserMediaRequest::callSuccessHandler): New. Create stream from sources and call success handler.
      (WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError): Renamed from constraintFailure.
      (WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError): Renamed from permissionFailure.
      (WebCore::UserMediaRequest::callErrorHandler): 
      (WebCore::UserMediaRequest::contextDestroyed): cancelUserMediaRequest -> cancelRequest.
      * Modules/mediastream/UserMediaRequest.h:
      
      * Modules/webaudio/AudioContext.cpp:
      (WebCore::AudioContext::createMediaStreamSource): localAudio->component()->source() -> localAudio->source().
      
      * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
      (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): MediaStreamSource::TypeAudio ->
          MediaStreamSource::Audio, MediaStreamSource::ReadyStateLive -> MediaStreamSource::Live.
          MediaStreamCenter::instance -> MediaStreamCenter::shared.
      
      * WebCore.exp.in: Export new symbols.
      
      * WebCore.xcodeproj/project.pbxproj: Add new files and remove deleted files.
      
      * dom/EventNames.h: Define "started" event.
      
      * platform/mediastream/MediaStreamCenter.cpp:
      (WebCore::mediaStreamCenterOverride): Make it possible to override the shared stream center. Will
          be used for testing in a later patch.
      (WebCore::MediaStreamCenter::shared): Renamed from instance. Return current stream center.
      (WebCore::MediaStreamCenter::setSharedStreamCenter): Override current stream center.
      (WebCore::MediaStreamCenter::endLocalMediaStream): Never call the descriptor client, always call
          the descriptor and let it deal with the client.
      * platform/mediastream/MediaStreamCenter.h:
      
      * platform/mediastream/MediaStreamComponent.cpp: Removed.
      * platform/mediastream/MediaStreamComponent.h: Removed.
      
      * platform/mediastream/MediaStreamConstraintsValidationClient.h: Added.
      * platform/mediastream/MediaStreamCreationClient.h: Added.
      
      * platform/mediastream/MediaStreamDescriptor.cpp:
      (WebCore::MediaStreamDescriptor::addSource): *Component -> *Source.
      (WebCore::MediaStreamDescriptor::removeSource): Ditto.
      (WebCore::MediaStreamDescriptor::addRemoteSource): Ditto.
      (WebCore::MediaStreamDescriptor::removeRemoteSource): Ditto.
      (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
      (WebCore::MediaStreamDescriptor::setEnded): Ditto. Set source readyStates to Ended.
      * platform/mediastream/MediaStreamDescriptor.h:
      
      * platform/mediastream/MediaStreamSource.cpp:
      (WebCore::MediaStreamSource::MediaStreamSource): Initialize new member variables.
      (WebCore::MediaStreamSource::setReadyState): Early return when the state hasn't changed.
      (WebCore::MediaStreamSource::setStream): New.
      (WebCore::MediaStreamSource::setMuted): New.
      * platform/mediastream/MediaStreamSource.h:
      
      * platform/mediastream/MediaStreamSourcesQueryClient.h: Removed.
      
      * platform/mediastream/RTCPeerConnectionHandler.h:
      * platform/mediastream/RTCStatsRequest.h:
      
      * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: Update for new MediaStreamCenter API.
      * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
      
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Ditto.
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
      
      * platform/mediastream/mac/MediaStreamCenterMac.cpp: Ditto.
      * platform/mediastream/mac/MediaStreamCenterMac.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44da78ad
    • timothy_horton@apple.com's avatar
      Tiled drawing should not imply threaded scrolling · 017ef58c
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121874
      <rdar://problem/15071494>
      
      Reviewed by Sam Weinig.
      
      * Shared/DrawingAreaInfo.h:
      We can have DrawingAreaTypeTiledCoreAnimation without threaded scrolling.
      
      * Shared/WebPreferencesStore.h:
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesSetThreadedScrollingEnabled):
      (WKPreferencesGetThreadedScrollingEnabled):
      * UIProcess/API/C/WKPreferencesPrivate.h:
      Add a preference for threaded scrolling.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView WebKit::]):
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
      * WebProcess/WebPage/DrawingArea.cpp:
      (WebKit::DrawingArea::create):
      * WebProcess/WebPage/DrawingArea.h:
      Make it so we can use TiledCoreAnimationDrawingArea without ENABLE(THREADED_SCROLLING).
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::shouldUseTiledBackingForFrame):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      Override shouldUseTiledBackingForFrame; ask the drawing area if we want a tiled backing for the given frame.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      (WebKit::WebPage::~WebPage):
      * WebProcess/WebPage/WebPage.h:
      Move attaching and detaching the scrolling tree into WebPage.
      Store whether or not this page is going to use threaded scrolling once, as this
      cannot change through the life of a page.
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
      Move attaching and detaching the scrolling tree into WebPage.
      
      (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
      (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
      (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
      (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
      Only do scrolling coordinator work if we have a scrolling coordinator.
      
      (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrame):
      TiledCoreAnimationDrawingArea always wants a tiled backing for the main frame.
      
      No new tests; a near-future patch is going to put the majority of layout
      tests into the tiled-drawing-without-threaded-scrolling mode.
      
      * page/ChromeClient.h:
      (WebCore::ChromeClient::shouldUseTiledBackingForFrame):
      Add a ChromeClient callback to determine whether a given frame wants a TiledBacking for its contents.
      
      * page/FrameView.h:
      * WebCore.exp.in:
      Make isMainFrameView public and export it for use in WebKit2.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      Make use of shouldUseTiledBackingForFrame instead of predicating the
      main frame using a tile cache on whether we have a scrolling coordinator.
      
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::mainFrameBackingIsTiled): Added.
      
      (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
      (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
      (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
      All of these checks for existence of a scrollingCoordinator should actually
      key off whether we're using tiled drawing at the root; they have nothing
      to do with threaded scrolling.
      
      * rendering/RenderLayerCompositor.h:
      
      * WebKitTestRunner/mac/PlatformWebViewMac.mm:
      (WTR::PlatformWebView::PlatformWebView):
      The existing tiled-drawing layout tests require threaded scrolling to be enabled.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      017ef58c
    • beidson@apple.com's avatar
      Mark IDBDatabase "FINAL" now that http://webkit.org/b/121747 is fixed. · c4c6b82c
      beidson@apple.com authored
      Rubberstamped by Andreas Kling
      
      * Modules/indexeddb/IDBDatabase.h: Mark this class FINAL.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4c6b82c
    • akling@apple.com's avatar
      One more IndexedDB rebaseline. · 97036e89
      akling@apple.com authored
      * js/dom/global-constructors-attributes-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97036e89
    • andersca@apple.com's avatar
      Weak should have a move constructor and move assignment operator · b366a0c2
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121963
      
      Reviewed by Oliver Hunt.
      
      This is the first step towards getting rid of PassWeak.
      
      * API/JSClassRef.cpp:
      (OpaqueJSClass::prototype):
      * heap/Weak.h:
      * heap/WeakInlines.h:
      (JSC::::Weak):
      (JSC::::leakImpl):
      * runtime/SimpleTypedArrayController.cpp:
      (JSC::SimpleTypedArrayController::toJS):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b366a0c2
    • mhahnenberg@apple.com's avatar
      op_to_this shouldn't use value profiling · c5684714
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121920
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Currently it's the only opcode that uses m_singletonValue, which is unnecessary. Our current plan is
      to remove m_singletonValue so that GenGC can have a simpler story for handling CodeBlocks/FunctionExecutables
      during nursery collections.
      
      This patch adds an inline cache for the Structure of to_this so it no longer depends on the ValueProfile's
      m_singletonValue. Since nobody uses m_singletonValue now, this patch also removes m_singletonValue from
      ValueProfile.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::finalizeUnconditionally):
      (JSC::CodeBlock::stronglyVisitStrongReferences):
      (JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
      (JSC::CodeBlock::updateAllValueProfilePredictions):
      (JSC::CodeBlock::updateAllPredictions):
      (JSC::CodeBlock::shouldOptimizeNow):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::updateAllValueProfilePredictions):
      (JSC::CodeBlock::updateAllPredictions):
      * bytecode/LazyOperandValueProfile.cpp:
      (JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
      * bytecode/LazyOperandValueProfile.h:
      * bytecode/ValueProfile.h:
      (JSC::ValueProfileBase::ValueProfileBase):
      (JSC::ValueProfileBase::briefDescription):
      (JSC::ValueProfileBase::dump):
      (JSC::ValueProfileBase::computeUpdatedPrediction):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_to_this):
      (JSC::JIT::emitSlow_op_to_this):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_to_this):
      (JSC::JIT::emitSlow_op_to_this):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/CommonSlowPaths.cpp:
      (JSC::SLOW_PATH_DECL):
      
      LayoutTests:
      
      Updated a couple tests that waited for two DFG compiles, but with this patch we
      don't do two compiles any more, so we don't want to wait forever.
      
      * js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js:
      * js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5684714
    • akling@apple.com's avatar
      Rebaseline some tests after IndexedDB was enabled. · 0169d5fc
      akling@apple.com authored
      * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
      * js/dom/global-constructors-attributes-shared-worker-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0169d5fc
    • commit-queue@webkit.org's avatar
      Inset box-shadows fail to round around corners when border-radius is set in vh/vw units. · 87a8fabf
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119187
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-26
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Border-radius properties were not applied incase its values
      were given in vh, vw, vmax, vmin units.
      
      Tests: fast/css/border-radius-inset-box-shadow-viewportlength.html
             fast/css/border-radius-viewport-height.html
             fast/css/border-radius-viewport-vmax.html
             fast/css/border-radius-viewport-vmin.html
      
      * css/DeprecatedStyleBuilder.cpp:
      (WebCore::ApplyPropertyBorderRadius::applyValue):
      (WebCore::ApplyPropertyComputeLength::applyValue):
      * css/StyleResolver.h:
      Calculating the border-radius values which has been specified
      in viewport units.The vh/vw units are calcultated as percent of
      viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
      whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.
      
      LayoutTests:
      
      * fast/css/border-radius-inset-box-shadow-viewportlength-expected-mismatch.html: Added.
      * fast/css/border-radius-inset-box-shadow-viewportlength.html: Added.
      * fast/css/border-radius-viewport-height-expected-mismatch.html: Added.
      * fast/css/border-radius-viewport-height.html: Added.
      * fast/css/border-radius-viewport-vmax-expected-mismatch.html: Added.
      * fast/css/border-radius-viewport-vmax.html: Added.
      * fast/css/border-radius-viewport-vmin-expected-mismatch.html: Added.
      * fast/css/border-radius-viewport-vmin.html: Added.
      Added new tests for verifying that box-shadow and border-radius properties
      are applied when its values are viewport units.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87a8fabf
    • seokju@webkit.org's avatar
      Fix ordered comparison warnings in BitmapImage::drawPattern · 45b5ad99
      seokju@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121945
      
      Reviewed by Darin Adler.
      
      No new tests, no behavior change.
      
      * platform/graphics/BitmapImage.cpp:
      (WebCore::BitmapImage::drawPattern):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45b5ad99
    • oliver@apple.com's avatar
      Implement prefixed-destructuring assignment · aeca5dcd
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121930
      
      Reviewed by Mark Hahnenberg.
      
      Source/JavaScriptCore:
      
      This is mostly simple - the semantics of deconstruction are already
      present in the language, so most of the complexity (if you call it
      that) is addition of new AST nodes, and parsing the syntax.
      
      In order to get correct semantics for the parameter lists, FunctionParameters
      now needs to store refcounted references to the parameter patterns.
      There's also a little work to ensure that variable creation and assignment
      occurs in the correct order while the BytecodeGenerator is being constructed.
      
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedFunctionExecutable::paramString):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::emitExpressionInfo):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::ForInNode::emitBytecode):
      (JSC::DeconstructingAssignmentNode::emitBytecode):
      (JSC::DeconstructionPatternNode::~DeconstructionPatternNode):
      (JSC::ArrayPatternNode::emitBytecode):
      (JSC::ArrayPatternNode::emitDirectBinding):
      (JSC::ArrayPatternNode::toString):
      (JSC::ArrayPatternNode::collectBoundIdentifiers):
      (JSC::ObjectPatternNode::toString):
      (JSC::ObjectPatternNode::emitBytecode):
      (JSC::ObjectPatternNode::collectBoundIdentifiers):
      (JSC::BindingNode::emitBytecode):
      (JSC::BindingNode::toString):
      (JSC::BindingNode::collectBoundIdentifiers):
      * parser/ASTBuilder.h:
      (JSC::ASTBuilder::createFormalParameterList):
      (JSC::ASTBuilder::createForInLoop):
      (JSC::ASTBuilder::addVar):
      (JSC::ASTBuilder::createDeconstructingAssignment):
      (JSC::ASTBuilder::createArrayPattern):
      (JSC::ASTBuilder::appendArrayPatternSkipEntry):
      (JSC::ASTBuilder::appendArrayPatternEntry):
      (JSC::ASTBuilder::createObjectPattern):
      (JSC::ASTBuilder::appendObjectPatternEntry):
      (JSC::ASTBuilder::createBindingLocation):
      * parser/NodeConstructors.h:
      (JSC::CommaNode::CommaNode):
      (JSC::ParameterNode::ParameterNode):
      (JSC::ForInNode::ForInNode):
      (JSC::DeconstructionPatternNode::DeconstructionPatternNode):
      (JSC::ArrayPatternNode::ArrayPatternNode):
      (JSC::ArrayPatternNode::create):
      (JSC::ObjectPatternNode::ObjectPatternNode):
      (JSC::ObjectPatternNode::create):
      (JSC::BindingNode::create):
      (JSC::BindingNode::BindingNode):
      (JSC::DeconstructingAssignmentNode::DeconstructingAssignmentNode):
      * parser/Nodes.cpp:
      (JSC::FunctionParameters::create):
      (JSC::FunctionParameters::FunctionParameters):
      (JSC::FunctionParameters::~FunctionParameters):
      * parser/Nodes.h:
      (JSC::ExpressionNode::isDeconstructionNode):
      (JSC::ArrayNode::elements):
      (JSC::CommaNode::append):
      (JSC::ParameterNode::pattern):
      (JSC::FunctionParameters::at):
      (JSC::FunctionParameters::patterns):
      (JSC::DeconstructionPatternNode::isBindingNode):
      (JSC::DeconstructionPatternNode::emitDirectBinding):
      (JSC::ArrayPatternNode::appendIndex):
      (JSC::ObjectPatternNode::appendEntry):
      (JSC::ObjectPatternNode::Entry::Entry):
      (JSC::BindingNode::boundProperty):
      (JSC::BindingNode::isBindingNode):
      (JSC::DeconstructingAssignmentNode::bindings):
      (JSC::DeconstructingAssignmentNode::isLocation):
      (JSC::DeconstructingAssignmentNode::isDeconstructionNode):
      * parser/Parser.cpp:
      (JSC::::Parser):
      (JSC::::parseVarDeclaration):
      (JSC::::parseVarDeclarationList):
      (JSC::::createBindingPattern):
      (JSC::::parseDeconstructionPattern):
      (JSC::::parseForStatement):
      (JSC::::parseFormalParameters):
      (JSC::::parseAssignmentExpression):
      * parser/Parser.h:
      (JSC::Scope::declareBoundParameter):
      (JSC::Parser::declareBoundParameter):
      * parser/SyntaxChecker.h:
      (JSC::SyntaxChecker::createFormalParameterList):
      (JSC::SyntaxChecker::addVar):
      (JSC::SyntaxChecker::operatorStackPop):
      * runtime/JSONObject.cpp:
      (JSC::escapeStringToBuilder):
      * runtime/JSONObject.h:
      
      LayoutTests:
      
      Add enw tests, and update old ones.
      
      * js/destructuring-assignment-expected.txt: Added.
      * js/destructuring-assignment.html: Added.
      * js/mozilla/strict/13.1-expected.txt:
      * js/mozilla/strict/regress-532254-expected.txt:
      * js/mozilla/strict/script-tests/13.1.js:
      * js/regress/destructuring-arguments-expected.txt: Added.
      * js/regress/destructuring-arguments-length-expected.txt: Added.
      * js/regress/destructuring-arguments-length.html: Added.
      * js/regress/destructuring-arguments.html: Added.
      * js/regress/destructuring-swap-expected.txt: Added.
      * js/regress/destructuring-swap.html: Added.
      * js/regress/script-tests/destructuring-arguments-length.js: Added.
      (foo):
      * js/regress/script-tests/destructuring-arguments.js: Added.
      (foo):
      * js/regress/script-tests/destructuring-swap.js: Added.
      (foo):
      * js/script-tests/destructuring-assignment.js: Added.
      (testDestructuring):
      (testDeconstructArgs):
      (testDeconstructArgLength):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeca5dcd
    • berto@igalia.com's avatar
      Unreviewed GTK gardening. · 64ab338c
      berto@igalia.com authored
      Unskip media/context-menu-actions.html which is passing now.
      
      * platform/gtk-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64ab338c
    • kov@webkit.org's avatar
      [GTK] Tons of warnings caused by using FORTIFY_SOURCE in an unoptimized build · 07e17265
      kov@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121836
      
      Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-09-26
      Reviewed by Martin Robinson.
      
      * Source/autotools/SetupCompilerFlags.m4: only consider enabling FORTIFY_SOURCE if optimizations have
      been enabled, since they are required for FORTIFY_SOURCE to work, and enabling FORTIFY_SOURCE unconditionally
      generates warnings in newer glibc.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07e17265
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r156457. · ace2fd28
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/156457
      https://bugs.webkit.org/show_bug.cgi?id=121960
      
      Broke webkitpy tests. (Requested by kling on #webkit).
      
      * Scripts/webkitpy/port/xvfbdriver.py:
      (XvfbDriver._start):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ace2fd28
    • mario@webkit.org's avatar
      [GTK][WK2] Logging of accessibility events is not disabled between tests · ee242d91
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121957
      
      Unreviewed gardening again. Now moving the expected flakiness to
      the WebKit2GTK+ port, where it actually belongs to.
      
      * platform/gtk-wk2/TestExpectations: Added expectations.
      * platform/gtk/TestExpectations: Removed expectations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee242d91
    • mario@webkit.org's avatar
      [GTK] Logging of accessibility events is not disabled between tests · 70a54ced
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121957
      
      Unreviewed gardening. Marking accessibility tests as flaky while
      an issue with the logging of accessibility events is investigated.
      
      * platform/gtk/TestExpectations: Added flaky expectations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70a54ced
    • akling@apple.com's avatar
      Remove empty JSFooCustom.cpp files. · ef24047f
      akling@apple.com authored
      <https://webkit.org/b/121955>
      
      Reviewed by Anders Carlsson.
      
      There's no sense in slowing down build times with empty files that
      still include a bunch of headers.
      
      * bindings/js/JSAudioBufferCustom.cpp: Removed.
      * bindings/js/JSCSSFontFaceRuleCustom.cpp: Removed.
      * bindings/js/JSCSSImportRuleCustom.cpp: Removed.
      * bindings/js/JSCSSMediaRuleCustom.cpp: Removed.
      * bindings/js/JSCSSPageRuleCustom.cpp: Removed.
      * bindings/js/JSCSSStyleRuleCustom.cpp: Removed.
      * bindings/js/JSDOMImplementationCustom.cpp: Removed.
      * bindings/js/JSDOMTokenListCustom.cpp: Removed.
      * bindings/js/JSHTMLStyleElementCustom.cpp: Removed.
      * bindings/js/JSMediaListCustom.cpp: Removed.
      * bindings/js/JSProcessingInstructionCustom.cpp: Removed.
      * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Removed.
      * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Removed.
      * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef24047f
    • zandobersek@gmail.com's avatar
      XvfbDriver should set up Xvfb instances providing screens of 8-bit depth · 4b2bd98a
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121951
      
      Reviewed by Carlos Garcia Campos.
      
      Screens with 24-bit depth are causing problems as it doesn't seem to be possible to fall back to
      software rendering successfully on the GTK 64-bit release builder, resulting in crashes in almost
      500 layout tests that trigger accelerated compositing to be used.
      
      * Scripts/webkitpy/port/xvfbdriver.py:
      (XvfbDriver._start):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b2bd98a