1. 26 Sep, 2013 40 commits
    • msaboff@apple.com's avatar
      VirtualRegister should be a class · 62aa8b77
      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/DFGSpeculativeJIT32_64.cpp:
      * 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/JITCall32_64.cpp:
      * jit/JITInlines.h:
      * jit/JITOpcodes.cpp:
      * jit/JITOpcodes32_64.cpp:
      * jit/JITPropertyAccess32_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@156511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62aa8b77
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix after r156487. · 9895ebde
      bfulgham@apple.com authored
      Add explicit casting needed by MSVC to compile this code. Much
      of this could probably be removed when we move to VS2012 or newer.
      
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::JSEventListener):
      * bindings/js/JSEventListener.h:
      (WebCore::JSEventListener::jsFunction):
      * bridge/jsc/BridgeJSC.cpp:
      (JSC::Bindings::Instance::createRuntimeObject):
      * platform/graphics/filters/FEGaussianBlur.cpp:
      (WebCore::FEGaussianBlur::platformApplyGeneric):
      (WebCore::FEGaussianBlur::platformApply):
      * platform/graphics/win/DIBPixelData.cpp:
      (WebCore::DIBPixelData::DIBPixelData):
      (WebCore::DIBPixelData::writeToFile):
      * platform/graphics/win/DIBPixelData.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9895ebde
    • ap@apple.com's avatar
      Flaky Test: transitions/cancel-transition.html · 121cef55
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114193
      
      * platform/mac/TestExpectations: Marking as flaky. Dean says that such tests are
      currently broken by design.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      121cef55
    • andersca@apple.com's avatar
      Remove Windows code · b2a78dd6
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121988
      
      Reviewed by Antti Koivisto.
      
      * Platform/CoreIPC/Connection.h:
      * Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
      * Platform/SharedMemory.h:
      * Platform/WorkQueue.h:
      * Platform/win/SharedMemoryWin.cpp: Removed.
      * Platform/win/WorkQueueWin.cpp: Removed.
      * Shared/ChildProcess.cpp:
      * Shared/ChildProcessProxy.cpp:
      (WebKit::ChildProcessProxy::didFinishLaunching):
      * UIProcess/Plugins/PluginInfoStore.cpp:
      (WebKit::PluginInfoStore::loadPluginsIfNecessary):
      * WebProcess/WebProcess.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2a78dd6
    • andersca@apple.com's avatar
      Remove needsDestruction from vector and hash traits · 4f9f0e0e
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121983
      
      Reviewed by Sam Weinig.
      
      For Vector, use std::is_trivially_destructible to determine whether to call the destructor.
      For HashTable, always call the destructor; if it is trivial then no code will be generated for it and the loops will be folded away.
      
      Removing this does break the ability to store objects with non-trivial destructors in vectors and hash maps
      and have their destructors not be called when removed, but we've never used this feature in WebKit so the extra
      code complexity is not worth it.
      
      * wtf/HashTable.h:
      (WTF::::deallocateTable):
      * wtf/HashTraits.h:
      * wtf/Vector.h:
      (WTF::VectorTypeOperations::destruct):
      * wtf/VectorTraits.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f9f0e0e
    • dino@apple.com's avatar
      Expose a setting to disable hardware accelerated animations · 62700e46
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121978
      <rdar://problem/15091284>
      
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      Expose acceleratedCompositedAnimationsEnabled
      to disable CoreAnimation animations.
      
      Test: LayoutTests/animations/transform-non-accelerated.html
      
      * WebCore.exp.in: Export new method.
      * page/Settings.in: Add new setting.
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::startAnimation): Don't go
      to GraphicsLayer if the setting is false.
      
      LayoutTests:
      
      * animations/resources/animation-test-helpers.js: Add a callback
      for when the tests finish. Minor cleanup.
      (endTest):
      (.else):
      (runAnimationTest):
      * animations/transform-non-accelerated.html: New test.
      * animations/transform-non-accelerated-expected.txt: Result.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62700e46
    • andersca@apple.com's avatar
      Source/JavaScriptCore: Work around another MSVC bug. · fe416bb9
      andersca@apple.com authored
      * runtime/PrototypeMap.cpp:
      (JSC::PrototypeMap::emptyObjectStructureForPrototype):
      
      Source/WTF: Build fixes.
      
      Fix a paste-o.
      
      * wtf/StdLibExtras.h:
      (std::make_unique):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe416bb9
    • andersca@apple.com's avatar
      Attempt to fix the FTL build. · 631300c8
      andersca@apple.com authored
      * ftl/FTLAbstractHeap.cpp:
      (JSC::FTL::IndexedAbstractHeap::atSlow):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      631300c8
    • commit-queue@webkit.org's avatar
      [Qt] Fix build after r156487. · 66bced34
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121984
      
      Patch by Julien Brianceau <jbriance@cisco.com> on 2013-09-26
      Reviewed by Anders Carlsson.
      
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66bced34
    • antti@apple.com's avatar
      Don't mutate style in RenderCombineText · 3b713d93
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121979
      
      Reviewed by Andreas Kling.
      
      Text renderers should always have the same style as the parent.
      
      * rendering/InlineTextBox.cpp:
      (WebCore::fontToUse):
      (WebCore::InlineTextBox::localSelectionRect):
      (WebCore::InlineTextBox::paint):
      (WebCore::InlineTextBox::offsetForPosition):
      (WebCore::InlineTextBox::positionForOffset):
              
          Select the modified font for text-combine.
      
      * rendering/RenderCombineText.cpp:
      (WebCore::RenderCombineText::styleDidChange):
      (WebCore::RenderCombineText::combineText):
      * rendering/RenderCombineText.h:
              
          Move the text-combine specific font style to a member of its own.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b713d93
    • timothy@apple.com's avatar
      Update expected binding test results after r156498. · 97f14368
      timothy@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97f14368
    • 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