1. 29 Jan, 2013 10 commits
    • fpizlo@apple.com's avatar
      DFG should not use a graph that is a vector, Nodes shouldn't move after... · 8ff092fc
      fpizlo@apple.com authored
      DFG should not use a graph that is a vector, Nodes shouldn't move after allocation, and we should always refer to nodes by Node*
      https://bugs.webkit.org/show_bug.cgi?id=106868
      
      Reviewed by Oliver Hunt.
              
      This adds a pool allocator for Nodes, and uses that instead of a Vector. Changes all
      uses of Node& and NodeIndex to be simply Node*. Nodes no longer have an index except
      for debugging (Node::index(), which is not guaranteed to be O(1)).
              
      1% speed-up on SunSpider, presumably because this improves compile times.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/DataFormat.h:
      (JSC::dataFormatToString):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::initialize):
      (JSC::DFG::AbstractState::booleanResult):
      (JSC::DFG::AbstractState::execute):
      (JSC::DFG::AbstractState::mergeStateAtTail):
      (JSC::DFG::AbstractState::mergeToSuccessors):
      (JSC::DFG::AbstractState::mergeVariableBetweenBlocks):
      (JSC::DFG::AbstractState::dump):
      * dfg/DFGAbstractState.h:
      (DFG):
      (JSC::DFG::AbstractState::forNode):
      (AbstractState):
      (JSC::DFG::AbstractState::speculateInt32Unary):
      (JSC::DFG::AbstractState::speculateNumberUnary):
      (JSC::DFG::AbstractState::speculateBooleanUnary):
      (JSC::DFG::AbstractState::speculateInt32Binary):
      (JSC::DFG::AbstractState::speculateNumberBinary):
      (JSC::DFG::AbstractState::trySetConstant):
      * dfg/DFGAbstractValue.h:
      (AbstractValue):
      * dfg/DFGAdjacencyList.h:
      (JSC::DFG::AdjacencyList::AdjacencyList):
      (JSC::DFG::AdjacencyList::initialize):
      * dfg/DFGAllocator.h: Added.
      (DFG):
      (Allocator):
      (JSC::DFG::Allocator::Region::size):
      (JSC::DFG::Allocator::Region::headerSize):
      (JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
      (JSC::DFG::Allocator::Region::data):
      (JSC::DFG::Allocator::Region::isInThisRegion):
      (JSC::DFG::Allocator::Region::regionFor):
      (Region):
      (JSC::DFG::::Allocator):
      (JSC::DFG::::~Allocator):
      (JSC::DFG::::allocate):
      (JSC::DFG::::free):
      (JSC::DFG::::freeAll):
      (JSC::DFG::::reset):
      (JSC::DFG::::indexOf):
      (JSC::DFG::::allocatorOf):
      (JSC::DFG::::bumpAllocate):
      (JSC::DFG::::freeListAllocate):
      (JSC::DFG::::allocateSlow):
      (JSC::DFG::::freeRegionsStartingAt):
      (JSC::DFG::::startBumpingIn):
      * dfg/DFGArgumentsSimplificationPhase.cpp:
      (JSC::DFG::ArgumentsSimplificationPhase::run):
      (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
      (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
      (JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
      (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
      (JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::ArrayMode::originalArrayStructure):
      (JSC::DFG::ArrayMode::alreadyChecked):
      * dfg/DFGArrayMode.h:
      (ArrayMode):
      * dfg/DFGArrayifySlowPathGenerator.h:
      (JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):
      * dfg/DFGBasicBlock.h:
      (JSC::DFG::BasicBlock::node):
      (JSC::DFG::BasicBlock::isInPhis):
      (JSC::DFG::BasicBlock::isInBlock):
      (BasicBlock):
      * dfg/DFGBasicBlockInlines.h:
      (DFG):
      * dfg/DFGByteCodeParser.cpp:
      (ByteCodeParser):
      (JSC::DFG::ByteCodeParser::getDirect):
      (JSC::DFG::ByteCodeParser::get):
      (JSC::DFG::ByteCodeParser::setDirect):
      (JSC::DFG::ByteCodeParser::set):
      (JSC::DFG::ByteCodeParser::setPair):
      (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
      (JSC::DFG::ByteCodeParser::getLocal):
      (JSC::DFG::ByteCodeParser::setLocal):
      (JSC::DFG::ByteCodeParser::getArgument):
      (JSC::DFG::ByteCodeParser::setArgument):
      (JSC::DFG::ByteCodeParser::flushDirect):
      (JSC::DFG::ByteCodeParser::getToInt32):
      (JSC::DFG::ByteCodeParser::toInt32):
      (JSC::DFG::ByteCodeParser::getJSConstantForValue):
      (JSC::DFG::ByteCodeParser::getJSConstant):
      (JSC::DFG::ByteCodeParser::getCallee):
      (JSC::DFG::ByteCodeParser::getThis):
      (JSC::DFG::ByteCodeParser::setThis):
      (JSC::DFG::ByteCodeParser::isJSConstant):
      (JSC::DFG::ByteCodeParser::isInt32Constant):
      (JSC::DFG::ByteCodeParser::valueOfJSConstant):
      (JSC::DFG::ByteCodeParser::valueOfInt32Constant):
      (JSC::DFG::ByteCodeParser::constantUndefined):
      (JSC::DFG::ByteCodeParser::constantNull):
      (JSC::DFG::ByteCodeParser::one):
      (JSC::DFG::ByteCodeParser::constantNaN):
      (JSC::DFG::ByteCodeParser::cellConstant):
      (JSC::DFG::ByteCodeParser::addToGraph):
      (JSC::DFG::ByteCodeParser::insertPhiNode):
      (JSC::DFG::ByteCodeParser::addVarArgChild):
      (JSC::DFG::ByteCodeParser::addCall):
      (JSC::DFG::ByteCodeParser::addStructureTransitionCheck):
      (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
      (JSC::DFG::ByteCodeParser::getPrediction):
      (JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
      (JSC::DFG::ByteCodeParser::makeSafe):
      (JSC::DFG::ByteCodeParser::makeDivSafe):
      (JSC::DFG::ByteCodeParser::ConstantRecord::ConstantRecord):
      (ConstantRecord):
      (JSC::DFG::ByteCodeParser::PhiStackEntry::PhiStackEntry):
      (PhiStackEntry):
      (JSC::DFG::ByteCodeParser::handleCall):
      (JSC::DFG::ByteCodeParser::emitFunctionChecks):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::setIntrinsicResult):
      (JSC::DFG::ByteCodeParser::handleMinMax):
      (JSC::DFG::ByteCodeParser::handleIntrinsic):
      (JSC::DFG::ByteCodeParser::handleGetByOffset):
      (JSC::DFG::ByteCodeParser::handleGetById):
      (JSC::DFG::ByteCodeParser::getScope):
      (JSC::DFG::ByteCodeParser::parseResolveOperations):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::processPhiStack):
      (JSC::DFG::ByteCodeParser::linkBlock):
      (JSC::DFG::ByteCodeParser::parseCodeBlock):
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGCFAPhase.cpp:
      (JSC::DFG::CFAPhase::performBlockCFA):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      (JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
      (JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
      (JSC::DFG::CFGSimplificationPhase::fixPhis):
      (JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
      (JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
      (JSC::DFG::CFGSimplificationPhase::OperandSubstitution::dump):
      (OperandSubstitution):
      (JSC::DFG::CFGSimplificationPhase::skipGetLocal):
      (JSC::DFG::CFGSimplificationPhase::recordNewTarget):
      (JSC::DFG::CFGSimplificationPhase::fixTailOperand):
      (JSC::DFG::CFGSimplificationPhase::mergeBlocks):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::canonicalize):
      (JSC::DFG::CSEPhase::endIndexForPureCSE):
      (JSC::DFG::CSEPhase::pureCSE):
      (JSC::DFG::CSEPhase::constantCSE):
      (JSC::DFG::CSEPhase::weakConstantCSE):
      (JSC::DFG::CSEPhase::getCalleeLoadElimination):
      (JSC::DFG::CSEPhase::getArrayLengthElimination):
      (JSC::DFG::CSEPhase::globalVarLoadElimination):
      (JSC::DFG::CSEPhase::scopedVarLoadElimination):
      (JSC::DFG::CSEPhase::globalVarWatchpointElimination):
      (JSC::DFG::CSEPhase::globalVarStoreElimination):
      (JSC::DFG::CSEPhase::scopedVarStoreElimination):
      (JSC::DFG::CSEPhase::getByValLoadElimination):
      (JSC::DFG::CSEPhase::checkFunctionElimination):
      (JSC::DFG::CSEPhase::checkExecutableElimination):
      (JSC::DFG::CSEPhase::checkStructureElimination):
      (JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
      (JSC::DFG::CSEPhase::putStructureStoreElimination):
      (JSC::DFG::CSEPhase::getByOffsetLoadElimination):
      (JSC::DFG::CSEPhase::putByOffsetStoreElimination):
      (JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
      (JSC::DFG::CSEPhase::checkArrayElimination):
      (JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
      (JSC::DFG::CSEPhase::getMyScopeLoadElimination):
      (JSC::DFG::CSEPhase::getLocalLoadElimination):
      (JSC::DFG::CSEPhase::setLocalStoreElimination):
      (JSC::DFG::CSEPhase::performSubstitution):
      (JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
      (JSC::DFG::CSEPhase::setReplacement):
      (JSC::DFG::CSEPhase::eliminate):
      (JSC::DFG::CSEPhase::performNodeCSE):
      (JSC::DFG::CSEPhase::performBlockCSE):
      (CSEPhase):
      * dfg/DFGCommon.cpp: Added.
      (DFG):
      (JSC::DFG::NodePointerTraits::dump):
      * dfg/DFGCommon.h:
      (DFG):
      (JSC::DFG::NodePointerTraits::defaultValue):
      (NodePointerTraits):
      (JSC::DFG::verboseCompilationEnabled):
      (JSC::DFG::shouldDumpGraphAtEachPhase):
      (JSC::DFG::validationEnabled):
      * dfg/DFGConstantFoldingPhase.cpp:
      (JSC::DFG::ConstantFoldingPhase::foldConstants):
      (JSC::DFG::ConstantFoldingPhase::isCapturedAtOrAfter):
      (JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
      (JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
      * dfg/DFGDisassembler.cpp:
      (JSC::DFG::Disassembler::Disassembler):
      (JSC::DFG::Disassembler::createDumpList):
      (JSC::DFG::Disassembler::dumpDisassembly):
      * dfg/DFGDisassembler.h:
      (JSC::DFG::Disassembler::setForNode):
      (Disassembler):
      * dfg/DFGDriver.cpp:
      (JSC::DFG::compile):
      * dfg/DFGEdge.cpp: Added.
      (DFG):
      (JSC::DFG::Edge::dump):
      * dfg/DFGEdge.h:
      (JSC::DFG::Edge::Edge):
      (JSC::DFG::Edge::node):
      (JSC::DFG::Edge::operator*):
      (JSC::DFG::Edge::operator->):
      (Edge):
      (JSC::DFG::Edge::setNode):
      (JSC::DFG::Edge::useKind):
      (JSC::DFG::Edge::setUseKind):
      (JSC::DFG::Edge::isSet):
      (JSC::DFG::Edge::shift):
      (JSC::DFG::Edge::makeWord):
      (JSC::DFG::operator==):
      (JSC::DFG::operator!=):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupBlock):
      (JSC::DFG::FixupPhase::fixupNode):
      (JSC::DFG::FixupPhase::checkArray):
      (JSC::DFG::FixupPhase::blessArrayOperation):
      (JSC::DFG::FixupPhase::fixIntEdge):
      (JSC::DFG::FixupPhase::fixDoubleEdge):
      (JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
      (FixupPhase):
      * dfg/DFGGenerationInfo.h:
      (JSC::DFG::GenerationInfo::GenerationInfo):
      (JSC::DFG::GenerationInfo::initConstant):
      (JSC::DFG::GenerationInfo::initInteger):
      (JSC::DFG::GenerationInfo::initJSValue):
      (JSC::DFG::GenerationInfo::initCell):
      (JSC::DFG::GenerationInfo::initBoolean):
      (JSC::DFG::GenerationInfo::initDouble):
      (JSC::DFG::GenerationInfo::initStorage):
      (GenerationInfo):
      (JSC::DFG::GenerationInfo::node):
      (JSC::DFG::GenerationInfo::noticeOSRBirth):
      (JSC::DFG::GenerationInfo::use):
      (JSC::DFG::GenerationInfo::appendFill):
      (JSC::DFG::GenerationInfo::appendSpill):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::Graph):
      (JSC::DFG::Graph::~Graph):
      (DFG):
      (JSC::DFG::Graph::dumpCodeOrigin):
      (JSC::DFG::Graph::amountOfNodeWhiteSpace):
      (JSC::DFG::Graph::printNodeWhiteSpace):
      (JSC::DFG::Graph::dump):
      (JSC::DFG::Graph::dumpBlockHeader):
      (JSC::DFG::Graph::refChildren):
      (JSC::DFG::Graph::derefChildren):
      (JSC::DFG::Graph::predictArgumentTypes):
      (JSC::DFG::Graph::collectGarbage):
      (JSC::DFG::Graph::determineReachability):
      (JSC::DFG::Graph::resetExitStates):
      * dfg/DFGGraph.h:
      (Graph):
      (JSC::DFG::Graph::ref):
      (JSC::DFG::Graph::deref):
      (JSC::DFG::Graph::changeChild):
      (JSC::DFG::Graph::compareAndSwap):
      (JSC::DFG::Graph::clearAndDerefChild):
      (JSC::DFG::Graph::clearAndDerefChild1):
      (JSC::DFG::Graph::clearAndDerefChild2):
      (JSC::DFG::Graph::clearAndDerefChild3):
      (JSC::DFG::Graph::convertToConstant):
      (JSC::DFG::Graph::getJSConstantSpeculation):
      (JSC::DFG::Graph::addSpeculationMode):
      (JSC::DFG::Graph::valueAddSpeculationMode):
      (JSC::DFG::Graph::arithAddSpeculationMode):
      (JSC::DFG::Graph::addShouldSpeculateInteger):
      (JSC::DFG::Graph::mulShouldSpeculateInteger):
      (JSC::DFG::Graph::negateShouldSpeculateInteger):
      (JSC::DFG::Graph::isConstant):
      (JSC::DFG::Graph::isJSConstant):
      (JSC::DFG::Graph::isInt32Constant):
      (JSC::DFG::Graph::isDoubleConstant):
      (JSC::DFG::Graph::isNumberConstant):
      (JSC::DFG::Graph::isBooleanConstant):
      (JSC::DFG::Graph::isCellConstant):
      (JSC::DFG::Graph::isFunctionConstant):
      (JSC::DFG::Graph::isInternalFunctionConstant):
      (JSC::DFG::Graph::valueOfJSConstant):
      (JSC::DFG::Graph::valueOfInt32Constant):
      (JSC::DFG::Graph::valueOfNumberConstant):
      (JSC::DFG::Graph::valueOfBooleanConstant):
      (JSC::DFG::Graph::valueOfFunctionConstant):
      (JSC::DFG::Graph::valueProfileFor):
      (JSC::DFG::Graph::methodOfGettingAValueProfileFor):
      (JSC::DFG::Graph::numSuccessors):
      (JSC::DFG::Graph::successor):
      (JSC::DFG::Graph::successorForCondition):
      (JSC::DFG::Graph::isPredictedNumerical):
      (JSC::DFG::Graph::byValIsPure):
      (JSC::DFG::Graph::clobbersWorld):
      (JSC::DFG::Graph::varArgNumChildren):
      (JSC::DFG::Graph::numChildren):
      (JSC::DFG::Graph::varArgChild):
      (JSC::DFG::Graph::child):
      (JSC::DFG::Graph::voteNode):
      (JSC::DFG::Graph::voteChildren):
      (JSC::DFG::Graph::substitute):
      (JSC::DFG::Graph::substituteGetLocal):
      (JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
      (JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):
      * dfg/DFGInsertionSet.h:
      (JSC::DFG::Insertion::Insertion):
      (JSC::DFG::Insertion::element):
      (Insertion):
      (JSC::DFG::InsertionSet::insert):
      (InsertionSet):
      * dfg/DFGJITCompiler.cpp:
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::setForNode):
      (JSC::DFG::JITCompiler::addressOfDoubleConstant):
      (JSC::DFG::JITCompiler::noticeOSREntry):
      * dfg/DFGLongLivedState.cpp: Added.
      (DFG):
      (JSC::DFG::LongLivedState::LongLivedState):
      (JSC::DFG::LongLivedState::~LongLivedState):
      (JSC::DFG::LongLivedState::shrinkToFit):
      * dfg/DFGLongLivedState.h: Added.
      (DFG):
      (LongLivedState):
      * dfg/DFGMinifiedID.h:
      (JSC::DFG::MinifiedID::MinifiedID):
      (JSC::DFG::MinifiedID::node):
      * dfg/DFGMinifiedNode.cpp:
      (JSC::DFG::MinifiedNode::fromNode):
      * dfg/DFGMinifiedNode.h:
      (MinifiedNode):
      * dfg/DFGNode.cpp: Added.
      (DFG):
      (JSC::DFG::Node::index):
      (WTF):
      (WTF::printInternal):
      * dfg/DFGNode.h:
      (DFG):
      (JSC::DFG::Node::Node):
      (Node):
      (JSC::DFG::Node::convertToGetByOffset):
      (JSC::DFG::Node::convertToPutByOffset):
      (JSC::DFG::Node::ref):
      (JSC::DFG::Node::shouldSpeculateInteger):
      (JSC::DFG::Node::shouldSpeculateIntegerForArithmetic):
      (JSC::DFG::Node::shouldSpeculateIntegerExpectingDefined):
      (JSC::DFG::Node::shouldSpeculateDoubleForArithmetic):
      (JSC::DFG::Node::shouldSpeculateNumber):
      (JSC::DFG::Node::shouldSpeculateNumberExpectingDefined):
      (JSC::DFG::Node::shouldSpeculateFinalObject):
      (JSC::DFG::Node::shouldSpeculateArray):
      (JSC::DFG::Node::dumpChildren):
      (WTF):
      * dfg/DFGNodeAllocator.h: Added.
      (DFG):
      (operator new ):
      * dfg/DFGOSRExit.cpp:
      (JSC::DFG::OSRExit::OSRExit):
      * dfg/DFGOSRExit.h:
      (OSRExit):
      (SpeculationFailureDebugInfo):
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOperations.cpp:
      * dfg/DFGPhase.cpp:
      (DFG):
      (JSC::DFG::Phase::beginPhase):
      (JSC::DFG::Phase::endPhase):
      * dfg/DFGPhase.h:
      (Phase):
      (JSC::DFG::runAndLog):
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::setPrediction):
      (JSC::DFG::PredictionPropagationPhase::mergePrediction):
      (JSC::DFG::PredictionPropagationPhase::isNotNegZero):
      (JSC::DFG::PredictionPropagationPhase::isNotZero):
      (JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoForConstant):
      (JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoNonRecursive):
      (JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwo):
      (JSC::DFG::PredictionPropagationPhase::propagate):
      (JSC::DFG::PredictionPropagationPhase::mergeDefaultFlags):
      (JSC::DFG::PredictionPropagationPhase::propagateForward):
      (JSC::DFG::PredictionPropagationPhase::propagateBackward):
      (JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
      (PredictionPropagationPhase):
      (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
      * dfg/DFGScoreBoard.h:
      (JSC::DFG::ScoreBoard::ScoreBoard):
      (JSC::DFG::ScoreBoard::use):
      (JSC::DFG::ScoreBoard::useIfHasResult):
      (ScoreBoard):
      * dfg/DFGSilentRegisterSavePlan.h:
      (JSC::DFG::SilentRegisterSavePlan::SilentRegisterSavePlan):
      (JSC::DFG::SilentRegisterSavePlan::node):
      (SilentRegisterSavePlan):
      * dfg/DFGSlowPathGenerator.h:
      (JSC::DFG::SlowPathGenerator::SlowPathGenerator):
      (JSC::DFG::SlowPathGenerator::generate):
      (SlowPathGenerator):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::speculationCheck):
      (JSC::DFG::SpeculativeJIT::speculationWatchpoint):
      (JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
      (JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
      (JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
      (JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
      (JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
      (JSC::DFG::SpeculativeJIT::silentSpill):
      (JSC::DFG::SpeculativeJIT::silentFill):
      (JSC::DFG::SpeculativeJIT::checkArray):
      (JSC::DFG::SpeculativeJIT::arrayify):
      (JSC::DFG::SpeculativeJIT::fillStorage):
      (JSC::DFG::SpeculativeJIT::useChildren):
      (JSC::DFG::SpeculativeJIT::isStrictInt32):
      (JSC::DFG::SpeculativeJIT::isKnownInteger):
      (JSC::DFG::SpeculativeJIT::isKnownNumeric):
      (JSC::DFG::SpeculativeJIT::isKnownCell):
      (JSC::DFG::SpeculativeJIT::isKnownNotCell):
      (JSC::DFG::SpeculativeJIT::isKnownNotInteger):
      (JSC::DFG::SpeculativeJIT::isKnownNotNumber):
      (JSC::DFG::SpeculativeJIT::writeBarrier):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeStrictEq):
      (JSC::DFG::GPRTemporary::GPRTemporary):
      (JSC::DFG::FPRTemporary::FPRTemporary):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
      (JSC::DFG::SpeculativeJIT::noticeOSRBirth):
      (JSC::DFG::SpeculativeJIT::compileMovHint):
      (JSC::DFG::SpeculativeJIT::compile):
      (JSC::DFG::SpeculativeJIT::checkArgumentTypes):
      (JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
      (JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
      (JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnString):
      (JSC::DFG::SpeculativeJIT::checkGeneratedTypeForToInt32):
      (JSC::DFG::SpeculativeJIT::compileValueToInt32):
      (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
      (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
      (JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
      (JSC::DFG::SpeculativeJIT::compileInstanceOf):
      (JSC::DFG::SpeculativeJIT::compileSoftModulo):
      (JSC::DFG::SpeculativeJIT::compileAdd):
      (JSC::DFG::SpeculativeJIT::compileArithSub):
      (JSC::DFG::SpeculativeJIT::compileArithNegate):
      (JSC::DFG::SpeculativeJIT::compileArithMul):
      (JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):
      (JSC::DFG::SpeculativeJIT::compileArithMod):
      (JSC::DFG::SpeculativeJIT::compare):
      (JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
      (JSC::DFG::SpeculativeJIT::compileStrictEq):
      (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
      (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
      (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
      (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
      (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
      (JSC::DFG::SpeculativeJIT::compileRegExpExec):
      (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
      (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
      * dfg/DFGSpeculativeJIT.h:
      (SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::canReuse):
      (JSC::DFG::SpeculativeJIT::isFilled):
      (JSC::DFG::SpeculativeJIT::isFilledDouble):
      (JSC::DFG::SpeculativeJIT::use):
      (JSC::DFG::SpeculativeJIT::isConstant):
      (JSC::DFG::SpeculativeJIT::isJSConstant):
      (JSC::DFG::SpeculativeJIT::isInt32Constant):
      (JSC::DFG::SpeculativeJIT::isDoubleConstant):
      (JSC::DFG::SpeculativeJIT::isNumberConstant):
      (JSC::DFG::SpeculativeJIT::isBooleanConstant):
      (JSC::DFG::SpeculativeJIT::isFunctionConstant):
      (JSC::DFG::SpeculativeJIT::valueOfInt32Constant):
      (JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
      (JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
      (JSC::DFG::SpeculativeJIT::addressOfDoubleConstant):
      (JSC::DFG::SpeculativeJIT::valueOfJSConstant):
      (JSC::DFG::SpeculativeJIT::valueOfBooleanConstant):
      (JSC::DFG::SpeculativeJIT::valueOfFunctionConstant):
      (JSC::DFG::SpeculativeJIT::isNullConstant):
      (JSC::DFG::SpeculativeJIT::valueOfJSConstantAsImm64):
      (JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
      (JSC::DFG::SpeculativeJIT::integerResult):
      (JSC::DFG::SpeculativeJIT::noResult):
      (JSC::DFG::SpeculativeJIT::cellResult):
      (JSC::DFG::SpeculativeJIT::booleanResult):
      (JSC::DFG::SpeculativeJIT::jsValueResult):
      (JSC::DFG::SpeculativeJIT::storageResult):
      (JSC::DFG::SpeculativeJIT::doubleResult):
      (JSC::DFG::SpeculativeJIT::initConstantInfo):
      (JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
      (JSC::DFG::SpeculativeJIT::isInteger):
      (JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
      (JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
      (JSC::DFG::SpeculativeJIT::setNodeForOperand):
      (JSC::DFG::IntegerOperand::IntegerOperand):
      (JSC::DFG::IntegerOperand::node):
      (JSC::DFG::IntegerOperand::gpr):
      (JSC::DFG::IntegerOperand::use):
      (IntegerOperand):
      (JSC::DFG::DoubleOperand::DoubleOperand):
      (JSC::DFG::DoubleOperand::node):
      (JSC::DFG::DoubleOperand::fpr):
      (JSC::DFG::DoubleOperand::use):
      (DoubleOperand):
      (JSC::DFG::JSValueOperand::JSValueOperand):
      (JSC::DFG::JSValueOperand::node):
      (JSC::DFG::JSValueOperand::gpr):
      (JSC::DFG::JSValueOperand::fill):
      (JSC::DFG::JSValueOperand::use):
      (JSValueOperand):
      (JSC::DFG::StorageOperand::StorageOperand):
      (JSC::DFG::StorageOperand::node):
      (JSC::DFG::StorageOperand::gpr):
      (JSC::DFG::StorageOperand::use):
      (StorageOperand):
      (JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
      (JSC::DFG::SpeculateIntegerOperand::node):
      (JSC::DFG::SpeculateIntegerOperand::gpr):
      (JSC::DFG::SpeculateIntegerOperand::use):
      (SpeculateIntegerOperand):
      (JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
      (JSC::DFG::SpeculateStrictInt32Operand::node):
      (JSC::DFG::SpeculateStrictInt32Operand::gpr):
      (JSC::DFG::SpeculateStrictInt32Operand::use):
      (SpeculateStrictInt32Operand):
      (JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
      (JSC::DFG::SpeculateDoubleOperand::node):
      (JSC::DFG::SpeculateDoubleOperand::fpr):
      (JSC::DFG::SpeculateDoubleOperand::use):
      (SpeculateDoubleOperand):
      (JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
      (JSC::DFG::SpeculateCellOperand::node):
      (JSC::DFG::SpeculateCellOperand::gpr):
      (JSC::DFG::SpeculateCellOperand::use):
      (SpeculateCellOperand):
      (JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
      (JSC::DFG::SpeculateBooleanOperand::node):
      (JSC::DFG::SpeculateBooleanOperand::gpr):
      (JSC::DFG::SpeculateBooleanOperand::use):
      (SpeculateBooleanOperand):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::fillInteger):
      (JSC::DFG::SpeculativeJIT::fillDouble):
      (JSC::DFG::SpeculativeJIT::fillJSValue):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
      (JSC::DFG::SpeculativeJIT::cachedPutById):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
      (JSC::DFG::SpeculativeJIT::emitCall):
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
      (JSC::DFG::SpeculativeJIT::fillSpeculateInt):
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
      (JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
      (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
      (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
      (JSC::DFG::SpeculativeJIT::compileObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compileIntegerCompare):
      (JSC::DFG::SpeculativeJIT::compileDoubleCompare):
      (JSC::DFG::SpeculativeJIT::compileValueAdd):
      (JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
      (JSC::DFG::SpeculativeJIT::compileLogicalNot):
      (JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
      (JSC::DFG::SpeculativeJIT::emitBranch):
      (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::fillInteger):
      (JSC::DFG::SpeculativeJIT::fillDouble):
      (JSC::DFG::SpeculativeJIT::fillJSValue):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
      (JSC::DFG::SpeculativeJIT::cachedPutById):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
      (JSC::DFG::SpeculativeJIT::emitCall):
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
      (JSC::DFG::SpeculativeJIT::fillSpeculateInt):
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
      (JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
      (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
      (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
      (JSC::DFG::SpeculativeJIT::compileObjectEquality):
      (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
      (JSC::DFG::SpeculativeJIT::compileIntegerCompare):
      (JSC::DFG::SpeculativeJIT::compileDoubleCompare):
      (JSC::DFG::SpeculativeJIT::compileValueAdd):
      (JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
      (JSC::DFG::SpeculativeJIT::compileLogicalNot):
      (JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
      (JSC::DFG::SpeculativeJIT::emitBranch):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGStructureAbstractValue.h:
      (StructureAbstractValue):
      * dfg/DFGStructureCheckHoistingPhase.cpp:
      (JSC::DFG::StructureCheckHoistingPhase::run):
      * dfg/DFGValidate.cpp:
      (DFG):
      (Validate):
      (JSC::DFG::Validate::validate):
      (JSC::DFG::Validate::reportValidationContext):
      * dfg/DFGValidate.h:
      * dfg/DFGValueSource.cpp:
      (JSC::DFG::ValueSource::dump):
      * dfg/DFGValueSource.h:
      (JSC::DFG::ValueSource::ValueSource):
      * dfg/DFGVirtualRegisterAllocationPhase.cpp:
      (JSC::DFG::VirtualRegisterAllocationPhase::run):
      * runtime/FunctionExecutableDump.cpp: Added.
      (JSC):
      (JSC::FunctionExecutableDump::dump):
      * runtime/FunctionExecutableDump.h: Added.
      (JSC):
      (FunctionExecutableDump):
      (JSC::FunctionExecutableDump::FunctionExecutableDump):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      * runtime/JSGlobalData.h:
      (JSC):
      (DFG):
      (JSGlobalData):
      * runtime/Options.h:
      (JSC):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ff092fc
    • commit-queue@webkit.org's avatar
      [Qt] Build fix · f23d28a9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108142
      
      Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-28
      Reviewed by Gyuyoung Kim.
      
      Build fix. Though StorageManager was added to WK2 in r141024,
      it is not added to Target.pri for qt port.
      
      * Target.pri:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f23d28a9
    • commit-queue@webkit.org's avatar
      [Texmap] Refactor code related to debug border and repaint count. · 3505d42a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105787
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
      Reviewed by Noam Rosenthal.
      
      It is a follow-up patch not to change layout test results.
      
      The previous patch sets GraphicsLayer::m_usingTiledLayer to true when using a
      backing store. When the variable is true, dumpLayer() adds (usingTiledLayer 1),
      but most of ports don't set m_usingTiledLayer to true. So we don't use
      m_usingTiledLayer to match the test results of other ports.
      
      After this patch, Texture Mapper draws debug visuals for a tiled backing
      with different color from safari.
      
      No new tests. Debug feature, not covered in tests.
      
      * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
      (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCountIfNeeded):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3505d42a
    • esprehn@chromium.org's avatar
      Handle createShadowSubtree inside of ensureUserAgentShadowRoot · 933723d8
      esprehn@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108116
      
      Reviewed by Dimitri Glazkov.
      
      Instead of making everyone create the UserAgentShadowRoot manually all
      over, centralize it in ensureUserAgentShadowRoot() and add a notification
      Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
      This lets us get rid of lots of code duplication.
      
      No new tests, just refactoring.
      
      * dom/Element.cpp:
      (WebCore::Element::ensureUserAgentShadowRoot):
      * dom/Element.h:
      (WebCore::Element::didAddUserAgentShadowRoot):
      (Element):
      * html/HTMLDetailsElement.cpp:
      (WebCore::DetailsSummaryElement::create):
      (WebCore::HTMLDetailsElement::create):
      (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
      * html/HTMLDetailsElement.h:
      (HTMLDetailsElement):
      * html/HTMLInputElement.cpp:
      (WebCore::HTMLInputElement::create):
      (WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
      * html/HTMLInputElement.h:
      (HTMLInputElement):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
      (WebCore::HTMLMediaElement::createMediaControls):
      * html/HTMLMediaElement.h:
      * html/HTMLMeterElement.cpp:
      (WebCore::HTMLMeterElement::create):
      (WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
      * html/HTMLMeterElement.h:
      (HTMLMeterElement):
      * html/HTMLProgressElement.cpp:
      (WebCore::HTMLProgressElement::create):
      (WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
      * html/HTMLProgressElement.h:
      * html/HTMLSummaryElement.cpp:
      (WebCore::HTMLSummaryElement::create):
      (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
      * html/HTMLSummaryElement.h:
      (HTMLSummaryElement):
      * html/HTMLTextAreaElement.cpp:
      (WebCore::HTMLTextAreaElement::create):
      (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
      * html/HTMLTextAreaElement.h:
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlPanelMuteButtonElement::create):
      (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
      (WebCore::MediaControlPlayButtonElement::create):
      (WebCore::MediaControlOverlayPlayButtonElement::create):
      (WebCore::MediaControlSeekForwardButtonElement::create):
      (WebCore::MediaControlSeekBackButtonElement::create):
      (WebCore::MediaControlRewindButtonElement::create):
      (WebCore::MediaControlReturnToRealtimeButtonElement::create):
      (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
      (WebCore::MediaControlTimelineElement::create):
      (WebCore::MediaControlPanelVolumeSliderElement::create):
      (WebCore::MediaControlFullscreenVolumeSliderElement::create):
      (WebCore::MediaControlFullscreenButtonElement::create):
      (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
      (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
      * html/shadow/MediaControlsBlackBerry.cpp:
      (WebCore::MediaControlFullscreenPlayButtonElement::create):
      (WebCore::MediaControlFullscreenFullscreenButtonElement::create):
      (WebCore::MediaControlFullscreenTimelineElement::create):
      (WebCore::MediaControlAudioMuteButtonElement::create):
      * svg/SVGTRefElement.cpp:
      (WebCore::SVGTRefElement::create):
      * svg/SVGTRefElement.h:
      (SVGTRefElement):
      * svg/SVGUseElement.cpp:
      (WebCore::SVGUseElement::create):
      * svg/SVGUseElement.h:
      (SVGUseElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      933723d8
    • commit-queue@webkit.org's avatar
      Coordinated Graphics: Refactor code related to debug border and repaint count. · 329f5adb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107910
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
      Reviewed by Noam Rosenthal.
      
      There are two big changes:
      1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
      2. When updating a backing store, increment a repaint count.
      
      In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
      environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
      after http://webkit.org/b/107198.
      
      * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
      (WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
      (CoordinatedLayerInfo):
      * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
      (WebKit::CoordinatedBackingStore::removeAllTiles):
      (WebKit::CoordinatedBackingStore::updateTile):
      (WebKit::CoordinatedBackingStore::texture):
      (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
      (WebKit::CoordinatedBackingStore::adjustedTransformForRect):
      (WebKit::CoordinatedBackingStore::paintToTextureMapper):
      (WebKit):
      (WebKit::CoordinatedBackingStore::drawBorder):
          Override TextureMapperPlatformLayer::drawBorder() to draw the border
          for each tile.
      (WebKit::CoordinatedBackingStore::drawRepaintCounter):
      (WebKit::CoordinatedBackingStore::commitTileOperations):
      * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
      (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
      (CoordinatedBackingStoreTile):
      (CoordinatedBackingStore):
      (WebKit::CoordinatedBackingStore::rect):
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
      (WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
      (WebKit):
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
      (CoordinatedLayerTreeHostProxy):
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
      (WebKit::LayerTreeRenderer::setLayerRepaintCount):
      (WebKit):
      (WebKit::LayerTreeRenderer::setLayerState):
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
      (LayerTreeRenderer):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
      (WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
      (WebCore):
      (WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
      (WebCore::CoordinatedGraphicsLayer::syncLayerState):
      (WebCore::CoordinatedGraphicsLayer::setDebugBorder):
      (WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
      (CoordinatedGraphicsLayerClient):
      (CoordinatedGraphicsLayer):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
      (WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
      (WebKit):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      329f5adb
    • wangxianzhu@chromium.org's avatar
      Re-enable WebFrameTest.DivScrollIntoEditableTest · b83e97ac
      wangxianzhu@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98558
      
      Reviewed by Adam Barth.
      
      * tests/WebFrameTest.cpp: Fixed several issues (onload script, the maximum scale factor, etc.) of WebFrameTest.DivScrollIntoEditableTest and enable it.
      * tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b83e97ac
    • rgf748@motorola.com's avatar
      HTMLOutputElement::htmlFor should be readonly · 482e7714
      rgf748@motorola.com authored
      https://bugs.webkit.org/show_bug.cgi?id=101898
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
      Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
      
      No new tests. Modified existing test fast/dom/HTMLOutputElement/dom-settable-token-list.html
      to work as expected.
      
      * GNUmakefile.list.am: Removed JSHTMLOutputElementCustom.cpp
      * Target.pri: Ditto
      * UseJSC.cmake: Ditto
      * UseV8.cmake: Removed V8HTMLOutputElementCustom.cpp
      * WebCore.gypi: Removed V8HTMLOutputElementCustom.cpp
      * WebCore.vcproj/WebCore.vcproj: Removed JSHTMLOutputElementCustom.cpp
      * WebCore.vcxproj/WebCore.vcxproj: Ditto
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
      * WebCore.xcodeproj/project.pbxproj: Ditto
      * bindings/js/JSBindingsAllInOne.cpp: Ditto
      * bindings/js/JSHTMLOutputElementCustom.cpp: Removed.
      * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Removed.
      * html/HTMLOutputElement.idl: Made htmlFor attribute readonly.
      
      LayoutTests:
      
      The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
      Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
      Modified tests according to new behavior.
      
      * fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
      * fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js: Test for attribute htmlFor is readonly.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      482e7714
    • commit-queue@webkit.org's avatar
      Fix disambiguation popup for new-style page scale · 44395bbe
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107391
      
      Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      This patch corrects various coordinate conversion for disambiguation
      popup for the new-style page scale mode.
      
      Source/WebCore:
      
      New unit test: WebFrameTest.DisambiguationPopupPageScale
      
      * page/TouchDisambiguation.cpp:
      (WebCore::findGoodTouchTargets):
      * page/TouchDisambiguation.h:
      (WebCore):
      
      Source/WebKit/chromium:
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::handleGestureEvent):
      (WebKit::WebViewImpl::handleInputEvent):
      * tests/WebFrameTest.cpp:
      * tests/data/disambiguation_popup_page_scale.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44395bbe
    • weinig@apple.com's avatar
      Remove support from ArgumentEncoder for deprecated encode functions · 57795499
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108155
      
      Reviewed by Dan Bernstein.
      
      * Platform/CoreIPC/ArgumentEncoder.h:
      (CoreIPC::ArgumentEncoder::encode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57795499
    • keishi@webkit.org's avatar
      [Chromium] Reverting change to chromium/TestExpectation in r141056. · 313ed0b4
      keishi@webkit.org authored
      Unreviewed. Gardening.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      313ed0b4
  2. 28 Jan, 2013 30 commits
    • commit-queue@webkit.org's avatar
      Collapse testing for a list of PLATFORM() into OS() and USE() tests · f1a60b7c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108018
      
      Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-28
      Reviewed by Eric Seidel.
      
      No functional change as "OS(DARWIN) && USE(CF)" equals to the
      following platforms: MAC, WX, QT and CHROMIUM. CHROMIUM
      is not using JavaScriptCore.
      
      * runtime/DatePrototype.cpp:
      (JSC):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1a60b7c
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r141049. · 3adc597c
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/141049
      https://bugs.webkit.org/show_bug.cgi?id=108151
      
      Caused some indexed tests to crash. (Requested by keishi on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-28
      
      Source/WebCore:
      
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onUpgradeNeeded):
      (WebCore::IDBCallbacks::onSuccess):
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
      (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
      (WebCore::IDBDatabaseBackendImpl::openConnection):
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
      (WebCore::IDBOpenDBRequest::onSuccess):
      * Modules/indexeddb/IDBOpenDBRequest.h:
      (IDBOpenDBRequest):
      
      Source/WebKit/chromium:
      
      * public/WebIDBCallbacks.h:
      (WebKit):
      * src/IDBCallbacksProxy.cpp:
      (WebKit::IDBCallbacksProxy::onUpgradeNeeded):
      * src/IDBCallbacksProxy.h:
      (IDBCallbacksProxy):
      * src/WebIDBCallbacksImpl.cpp:
      (WebKit::WebIDBCallbacksImpl::onSuccess):
      (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded):
      * src/WebIDBCallbacksImpl.h:
      (WebIDBCallbacksImpl):
      * tests/IDBAbortOnCorruptTest.cpp:
      (WebCore::MockIDBCallbacks::onSuccess):
      * tests/IDBDatabaseBackendTest.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3adc597c
    • abarth@webkit.org's avatar
      Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky · da9b1fde
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=79013
      
      Reviewed by David Levin.
      
      Source/WebCore:
      
      We need to use an isolated copy because we're going to use it on a
      different thread.
      
      * Modules/webdatabase/AbstractDatabase.cpp:
      (WebCore::AbstractDatabase::AbstractDatabase):
      
      LayoutTests:
      
      This test shouldn't be flaky anymore.
      
      * platform/chromium/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da9b1fde
    • keishi@webkit.org's avatar
      [Chromium] Rebaselining after 141039. · 5a821190
      keishi@webkit.org authored
      Unreviewed. Gardening.
      
      * platform/chromium/TestExpectations:
      * platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
      * platform/chromium/compositing/layer-creation/fixed-position-in-view-dynamic-expected.txt: Added.
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Added.
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
      * platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
      * platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt:
      * platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt:
      * platform/chromium/compositing/overflow/resize-painting-expected.txt:
      * platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/content-gains-scrollbars-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt.
      * platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-scrollbar-layers-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt.
      * platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/resize-painting-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/resize-painting-expected.txt.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-in-view-dynamic-expected.txt: Added.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt: Added.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/content-gains-scrollbars-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/overflow-scrollbar-layers-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt.
      * platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/resize-painting-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/resize-painting-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a821190
    • commit-queue@webkit.org's avatar
      Expose isRadioButton and isCheckbox API in chromium-webkit glue layer. · b549b9d9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108031
      
      Patch by Raman Kumar <ramankk@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      In chromium, to know if an InputElement is radiobutton or a checkbox,
      we are checking for formControlType (a string comparision), which is
      very slow. Exposing these API to chromium will make them faster.
      
      * public/WebInputElement.h:
      (WebInputElement):
      * src/WebInputElement.cpp:
      (WebKit::WebInputElement::isRadioButton):
      (WebKit):
      (WebKit::WebInputElement::isCheckbox):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b549b9d9
    • shinyak@chromium.org's avatar
      [Shadow] Gesture event is not fired in ShadowDOM · 3758cdd3
      shinyak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107797
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Gesture event (e.g. touchstart) is not fired in ShadowDOM.
      
      We have to run event retargetting algorithm to retarget touchTarget, however it is not implemented yet (Bug 107800).
      Until it's implemented, we use the shadow ancestor node of touchTarget in Document treescope as touchTarget
      for backward compatibility. If a touch event is fired in nested ShadowDOM, touchTarget will be always element in
      document tree, so an event listener in ShadowDOM will get a wrong touchTarget. However we prioritized
      the correctness of document tree.
      
      Test: fast/dom/shadow/touch-event.html
      
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleTouchEvent): Allows us to take elements in ShadowDOM.
      
      LayoutTests:
      
      * fast/dom/shadow/touch-event-expected.txt: Added.
      * fast/dom/shadow/touch-event.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3758cdd3
    • aelias@chromium.org's avatar
      Make page scale shrink FrameView in applyPageScaleInCompositor mode · d230b355
      aelias@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107424
      
      Reviewed by Levi Weintraub.
      
      If applyPageScaleFactorInCompositor is enabled (Chromium-only setting),
      instead of the entire document expanding as the user pinch zooms, the
      viewport shrinks instead. This patch applies the pageScaleFactor to
      visibleContentRect to get this behavior, and simplifies Chromium's
      resize logic to stop hiding the true viewport size from WebCore.
      
      I verified that the scaling makes sense for all the callers of
      visibleContentRect. The exceptions are clip-layer size,
      layout size in non-fixed-layout mode, and text autosizing, which need
      the original unscaled size. Therefore I added a new method
      unscaledVisibleContentSize() to ScrollView/FrameView.
      
      This patch also modifies Page::setPageScaleFactor to perform no
      invalidates or layout when applyPageScaleFactorInCompositor is true,
      and also writes pageScaleFactor into HistoryItems instead of using
      frameScaleFactor.
      
      Since all behavior changes are tied to applyPageScaleFactorInCompositor,
      this patch should be a no-op for non-Chromium ports.
      
      Source/Platform:
      
      * chromium/public/WebLayerTreeView.h:
      (WebLayerTreeView):
      (WebKit::WebLayerTreeView::adjustEventPointForPinchZoom):
      
      Source/WebCore:
      
      New unit tests in WebFrameTest.cpp.
      
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
      Use pageScaleFactor here because frameScaleFactor always returns 1
      with our setting.
      * page/FrameView.cpp:
      (WebCore::FrameView::visibleContentScaleFactor):
      (WebCore):
      * page/FrameView.h:
      (FrameView):
      * page/Page.cpp:
      (WebCore::Page::setPageScaleFactor): Make setPageScaleFactor stop
      invalidating/layouting as this is handled by our compositor.
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::unscaledVisibleContentSize): This new method
      just returns the original visible rect without pageScaleFactor being
      applied.
      (WebCore):
      (WebCore::ScrollView::visibleContentRect): This now is divided by
      pageScaleFactor if our setting is active.
      (WebCore::ScrollView::layoutSize):
      * platform/ScrollView.h:
      (WebCore::ScrollView::visibleContentScaleFactor): Returns
      pageScaleFactor if the visible rect is scaled, 1 normally.
      (ScrollView):
      (WebCore::ScrollView::layoutWidth):
      (WebCore::ScrollView::layoutHeight):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
      (WebCore::RenderLayerCompositor::updateRootLayerPosition): Clip layer
      should use unscaled size, because it's above the root scroll layer
      on the layer tree (i.e. page scale isn't applied on it).
      * rendering/TextAutosizer.cpp:
      (WebCore::TextAutosizer::processSubtree): Text autosizer should use
      unscaled size, because it cares about physical screen size.
      
      Source/WebKit/chromium:
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::scaledSize): Returns the post page-scale size
      similar to what visibleContentRect() now returns, except that it may
      be at a different scale than the current one.
      (WebKit::WebViewImpl::size): Back to returning density-independent
      size without any tricks, not the "layoutSize()" fake viewport.
      (WebKit::WebViewImpl::resize):
      (WebKit::WebViewImpl::handleInputEvent): No need to apply
      implTransform anymore as WebKit knows the true scroll offset; just
      divide event coords by pageScaleFactor.
      (WebKit::WebViewImpl::clampOffsetAtScale): Make this method support
      applyPageScaleFactorInCompositor.  This is used to pre-clamp scroll
      offsets at a given viewport size.
      (WebKit::WebViewImpl::setPageScaleFactorPreservingScrollOffset): Make
      this method support applyPageScaleFactorInCompositor (don't scale
      scroll offsets as they are now scale-independent).
      (WebKit::WebViewImpl::setPageScaleFactor): Make this method always use
      clampOffsetAtScale instead of bypassing it, since it's now supported.
      Also notify the compositor to update its state.
      (WebKit::WebViewImpl::contentsSize): Convenience method, removed
      difference between scaled and unscaled.
      (WebKit::WebViewImpl::layoutSize): This method returned the "fake"
      size we used to give FrameView.  Now no longer used for much.
      (WebKit::WebViewImpl::computePageScaleFactorLimits):
      (WebKit::WebViewImpl::didChangeContentsSize): Remove unnecessary
      resize() now that we can give the true size to FrameView.
      (WebKit::WebViewImpl::updateLayerTreeViewport): Use layoutSize()
      directly now that FrameView no longer uses it.
      * src/WebViewImpl.h:
      (WebViewImpl):
      * tests/WebFrameTest.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d230b355
    • weinig@apple.com's avatar
      Disable default use of the Plug-in XPCService until we can · 6f02c0c2
      weinig@apple.com authored
      figure out how to deal with the 32-bit one.
      
      * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
      (WebKit::shouldUseXPC):
      (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f02c0c2
    • weinig@apple.com's avatar
      Plug-ins should initialize their sandbox at creation time · bac3a213
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108098
      
      Reviewed by Anders Carlsson.
      
      Add the ability to add string key/value pairs to process creation parameters
      to allow the plugin process to get passed the plugin path which in turn allows
      the plugin to initialize its sandbox at the correct time.
      
      * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
      * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
      * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
      (NetworkServiceInitializer):
      * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
      (WebKit::PluginProcessMainDelegate::getExtraData):
      (PluginProcessMainDelegate):
      * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
      * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
      * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
      * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
      (WebKit):
      (PluginServiceInitializerDelegate):
      (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
      (WebKit::PluginServiceInitializerDelegate::getExtraData):
      (PluginServiceInitializer):
      * PluginProcess/PluginProcess.cpp:
      (WebKit::PluginProcess::initializeProcess):
      (WebKit::PluginProcess::initializePluginProcess):
      (WebKit::PluginProcess::initializeProcessName):
      (WebKit::PluginProcess::initializeSandbox):
      * PluginProcess/PluginProcess.h:
      * PluginProcess/mac/PluginProcessMac.mm:
      (WebKit::PluginProcess::platformInitializePluginProcess):
      (WebKit::PluginProcess::platformInitializeProcess):
      (WebKit::PluginProcess::initializeProcessName):
      (WebKit::PluginProcess::initializeSandbox):
      * Shared/ChildProcess.h:
      (ChildProcessInitializationParameters):
      * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
      (ChildProcessMainDelegate):
      (WebKit::ChildProcessMain):
      * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
      (WebKit::ChildProcessMainDelegate::getExtraData):
      * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
      (WebKit::XPCServiceEventHandler):
      * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
      (WebKit::XPCServiceEventHandler):
      * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Added.
      (XPCServiceInitializerDelegate):
      (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
      (WebKit::XPCServiceInitializer):
      * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Added.
      (WebKit::XPCServiceInitializerDelegate::~XPCServiceInitializerDelegate):
      (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
      (WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
      (WebKit::XPCServiceInitializerDelegate::getClientProcessName):
      (WebKit::XPCServiceInitializerDelegate::getExtraData):
      * Shared/Plugins/PluginProcessCreationParameters.cpp:
      (WebKit::PluginProcessCreationParameters::encode):
      (WebKit::PluginProcessCreationParameters::decode):
      * Shared/Plugins/PluginProcessCreationParameters.h:
      (PluginProcessCreationParameters):
      * UIProcess/Launcher/ProcessLauncher.h:
      (LaunchOptions):
      * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
      (WebKit::connectToService):
      (WebKit::connectToReExecService):
      (WebKit::createService):
      (WebKit::createProcess):
      (WebKit::ProcessLauncher::launchProcess):
      * UIProcess/Plugins/PluginProcessProxy.cpp:
      (WebKit::PluginProcessProxy::didFinishLaunching):
      * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
      (WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
      (WebKit::PluginProcessProxy::platformInitializePluginProcess):
      * WebKit2.xcodeproj/project.pbxproj:
      * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
      * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
      * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
      (WebContentServiceInitializer):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bac3a213
    • ggaren@apple.com's avatar
      Static size inference for JavaScript objects · c862eacf
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108093
      
      Reviewed by Phil Pizlo.
      
      ../JavaScriptCore: 
      
      * API/JSObjectRef.cpp:
      * JavaScriptCore.order:
      * JavaScriptCore.xcodeproj/project.pbxproj: Pay the tax man.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode): op_new_object and op_create_this now
      have an extra inferredInlineCapacity argument. This is the statically
      inferred inline capacity, just from analyzing source text. op_new_object
      also gets a pointer to an allocation profile. (For op_create_this, the
      profile is in the construtor function.)
      
      (JSC::CodeBlock::CodeBlock): Link op_new_object.
      
      (JSC::CodeBlock::stronglyVisitStrongReferences): Mark our profiles.
      
      * bytecode/CodeBlock.h:
      (CodeBlock): Removed some dead code. Added object allocation profiles.
      
      * bytecode/Instruction.h:
      (JSC): New union type, since an instruction operand may point to an
      object allocation profile now.
      
      * bytecode/ObjectAllocationProfile.h: Added.
      (JSC):
      (ObjectAllocationProfile):
      (JSC::ObjectAllocationProfile::offsetOfAllocator):
      (JSC::ObjectAllocationProfile::offsetOfStructure):
      (JSC::ObjectAllocationProfile::ObjectAllocationProfile):
      (JSC::ObjectAllocationProfile::isNull):
      (JSC::ObjectAllocationProfile::initialize):
      (JSC::ObjectAllocationProfile::structure):
      (JSC::ObjectAllocationProfile::inlineCapacity):
      (JSC::ObjectAllocationProfile::clear):
      (JSC::ObjectAllocationProfile::visitAggregate):
      (JSC::ObjectAllocationProfile::possibleDefaultPropertyCount): New class
      for tracking a prediction about object allocation: structure, inline
      capacity, allocator to use.
      
      * bytecode/Opcode.h:
      (JSC):
      (JSC::padOpcodeName): Updated instruction sizes.
      
      * bytecode/UnlinkedCodeBlock.cpp:
      (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC):
      (JSC::UnlinkedCodeBlock::addObjectAllocationProfile):
      (JSC::UnlinkedCodeBlock::numberOfObjectAllocationProfiles):
      (UnlinkedCodeBlock): Unlinked support for allocation profiles.
      
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::generate): Kill all remaining analyses at the
      end of codegen, since this is our last opportunity.
      
      (JSC::BytecodeGenerator::BytecodeGenerator): Added a static property
      analyzer to bytecode generation. It tracks initializing assignments and
      makes a guess about how many will happen.
      
      (JSC::BytecodeGenerator::newObjectAllocationProfile):
      (JSC):
      (JSC::BytecodeGenerator::emitProfiledOpcode):
      (JSC::BytecodeGenerator::emitMove):
      (JSC::BytecodeGenerator::emitResolve):
      (JSC::BytecodeGenerator::emitResolveBase):
      (JSC::BytecodeGenerator::emitResolveBaseForPut):
      (JSC::BytecodeGenerator::emitResolveWithBaseForPut):
      (JSC::BytecodeGenerator::emitResolveWithThis):
      (JSC::BytecodeGenerator::emitGetById):
      (JSC::BytecodeGenerator::emitPutById):
      (JSC::BytecodeGenerator::emitDirectPutById):
      (JSC::BytecodeGenerator::emitPutGetterSetter):
      (JSC::BytecodeGenerator::emitGetArgumentByVal):
      (JSC::BytecodeGenerator::emitGetByVal): Added hooks to the static property
      analyzer, so it can observe allocations and stores.
      
      (JSC::BytecodeGenerator::emitCreateThis): Factored this into a helper
      function because it was a significant amount of logic, and I wanted to
      add to it.
      
      (JSC::BytecodeGenerator::emitNewObject):
      (JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
      (JSC::BytecodeGenerator::emitCall):
      (JSC::BytecodeGenerator::emitCallVarargs):
      (JSC::BytecodeGenerator::emitConstruct): Added a hook to profiled opcodes
      to track their stores, in case a store kills a profiled allocation. Since
      profiled opcodes are basically the only interesting stores we do, this
      is a convenient place to notice any store that might kill an allocation.
      
      * bytecompiler/BytecodeGenerator.h:
      (BytecodeGenerator): As above.
      
      * bytecompiler/StaticPropertyAnalysis.h: Added.
      (JSC):
      (StaticPropertyAnalysis):
      (JSC::StaticPropertyAnalysis::create):
      (JSC::StaticPropertyAnalysis::addPropertyIndex):
      (JSC::StaticPropertyAnalysis::record):
      (JSC::StaticPropertyAnalysis::propertyIndexCount):
      (JSC::StaticPropertyAnalysis::StaticPropertyAnalysis): Simple helper
      class for tracking allocations and stores.
      
      * bytecompiler/StaticPropertyAnalyzer.h: Added.
      (StaticPropertyAnalyzer):
      (JSC::StaticPropertyAnalyzer::StaticPropertyAnalyzer):
      (JSC::StaticPropertyAnalyzer::createThis):
      (JSC::StaticPropertyAnalyzer::newObject):
      (JSC::StaticPropertyAnalyzer::putById):
      (JSC::StaticPropertyAnalyzer::mov):
      (JSC::StaticPropertyAnalyzer::kill): Helper class for observing allocations
      and stores and making an inline capacity guess. The heuristics here are
      intentionally minimal because we don't want this one class to try to
      re-create something like a DFG or a runtime analysis. If we discover that
      we need those kinds of analyses, we should just replace this class with
      something else.
      
      This class tracks multiple registers that alias the same object -- that
      happens a lot, when moving locals into temporary registers -- but it
      doesn't track control flow or multiple objects that alias the same register.
      
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute): Updated for rename.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock): Updated for inline capacity and
      allocation profile.
      
      * dfg/DFGNode.h:
      (JSC::DFG::Node::hasInlineCapacity):
      (Node):
      (JSC::DFG::Node::inlineCapacity):
      (JSC::DFG::Node::hasFunction): Give the graph a good way to represent
      inline capacity for an allocation.
      
      * dfg/DFGNodeType.h:
      (DFG): Updated for rename.
      
      * dfg/DFGOperations.cpp: Updated for interface change.
      
      * dfg/DFGOperations.h: We pass the inline capacity to the slow case as
      an argument. This is the simplest way, since it's stored as a bytecode operand.
      
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate): Updated for rename.
      
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::tryCacheGetByID): Fixed a horrible off-by-one-half bug that only
      appears when doing an inline cached load for property number 64 on a 32-bit
      system. In JSVALUE32_64 land, "offsetRelativeToPatchedStorage" is the
      offset of the 64bit JSValue -- but we'll actually issue two loads, one for
      the payload at that offset, and one for the tag at that offset + 4. We need
      to ensure that both loads have a compact representation, or we'll corrupt
      the instruction stream.
      
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
      * dfg/DFGSpeculativeJIT.h:
      (JSC::DFG::SpeculativeJIT::callOperation):
      (JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
      (SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile): Lots of refactoring to support
      passing an allocator to our allocation function, and/or passing a Structure
      as a register instead of an immediate.
      
      * heap/MarkedAllocator.h:
      (DFG):
      (MarkedAllocator):
      (JSC::MarkedAllocator::offsetOfFreeListHead): Added an accessor to simplify
      JIT code generation of allocation from an arbitrary allocator.
      
      * jit/JIT.h:
      (JSC):
      * jit/JITInlines.h:
      (JSC):
      (JSC::JIT::emitAllocateJSObject):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_new_object):
      (JSC::JIT::emitSlow_op_new_object):
      (JSC::JIT::emit_op_create_this):
      (JSC::JIT::emitSlow_op_create_this):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_new_object):
      (JSC::JIT::emitSlow_op_new_object):
      (JSC::JIT::emit_op_create_this):
      (JSC::JIT::emitSlow_op_create_this): Same refactoring as done for the DFG.
      
      * jit/JITStubs.cpp:
      (JSC::tryCacheGetByID): Fixed the same bug mentioned above.
      
      (JSC::DEFINE_STUB_FUNCTION): Updated for interface changes.
      
      * llint/LLIntData.cpp:
      (JSC::LLInt::Data::performAssertions): Updated for interface changes.
      
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm: Same refactoring as for the JITs.
      
      * profiler/ProfilerBytecode.cpp:
      * profiler/ProfilerBytecodes.cpp:
      * profiler/ProfilerCompilation.cpp:
      * profiler/ProfilerCompiledBytecode.cpp:
      * profiler/ProfilerDatabase.cpp:
      * profiler/ProfilerOSRExit.cpp:
      * profiler/ProfilerOrigin.cpp:
      * profiler/ProfilerProfiledBytecodes.cpp: Include ObjectConstructor.h
      because that's where createEmptyObject() lives now.
      
      * runtime/Executable.h:
      (JSC::JSFunction::JSFunction): Updated for rename.
      
      * runtime/JSCellInlines.h:
      (JSC::allocateCell): Updated to match the allocator selection code in
      the JIT, so it's clearer that both are correct.
      
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::createAllocationProfile):
      (JSC::JSFunction::visitChildren):
      (JSC::JSFunction::getOwnPropertySlot):
      (JSC::JSFunction::put):
      (JSC::JSFunction::defineOwnProperty):
      (JSC::JSFunction::getConstructData):
      * runtime/JSFunction.h:
      (JSC::JSFunction::offsetOfScopeChain):
      (JSC::JSFunction::offsetOfExecutable):
      (JSC::JSFunction::offsetOfAllocationProfile):
      (JSC::JSFunction::allocationProfile):
      (JSFunction):
      (JSC::JSFunction::tryGetAllocationProfile):
      (JSC::JSFunction::addAllocationProfileWatchpoint): Changed inheritorID
      data member to be an ObjectAllocationProfile, which includes a pointer
      to the desired allocator. This simplifies JIT code, since we don't have
      to compute the allocator on the fly. I verified by code inspection that
      JSFunction is still only 64 bytes.
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::dateStructure): No direct pointer to the empty
      object structure anymore, because now clients need to specify how much
      inline capacity they want.
      
      * runtime/JSONObject.cpp:
      * runtime/JSObject.h:
      (JSC):
      (JSFinalObject):
      (JSC::JSFinalObject::defaultInlineCapacity):
      (JSC::JSFinalObject::maxInlineCapacity):
      (JSC::JSFinalObject::createStructure): A little refactoring to try to 
      clarify where some of these constants derive from.
      
      (JSC::maxOffsetRelativeToPatchedStorage): Used for bug fix, above.
      
      * runtime/JSProxy.cpp:
      (JSC::JSProxy::setTarget): Ugly, but effective.
      
      * runtime/LiteralParser.cpp:
      * runtime/ObjectConstructor.cpp:
      (JSC::constructObject):
      (JSC::constructWithObjectConstructor):
      (JSC::callObjectConstructor):
      (JSC::objectConstructorCreate): Updated for interface changes.
      
      * runtime/ObjectConstructor.h:
      (JSC::constructEmptyObject): Clarified your options for how to allocate
      an empty object, to emphasize what things can actually vary.
      
      * runtime/PropertyOffset.h: These constants have moved because they're
      really higher level concepts to do with the layout of objects and the
      collector. PropertyOffset is just an abstract number line, independent
      of those things.
      
      * runtime/PrototypeMap.cpp:
      (JSC::PrototypeMap::emptyObjectStructureForPrototype):
      (JSC::PrototypeMap::clearEmptyObjectStructureForPrototype):
      * runtime/PrototypeMap.h:
      (PrototypeMap): The map key is now a pair of prototype and inline capacity,
      since Structure encodes inline capacity.
      
      * runtime/Structure.cpp:
      (JSC::Structure::Structure):
      (JSC::Structure::materializePropertyMap):
      (JSC::Structure::addPropertyTransition):
      (JSC::Structure::nonPropertyTransition):
      (JSC::Structure::copyPropertyTableForPinning):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::totalStorageSize):
      (JSC::Structure::transitionCount):
      (JSC::Structure::create): Fixed a nasty refactoring bug that only shows
      up after enabling variable-sized inline capacities: we were passing our
      type info where our inline capacity was expected. The compiler didn't
      notice because both have type int :(.
      
      ../WebCore: 
      
      * ForwardingHeaders/runtime/ObjectConstructor.h: Added.
      
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      * bindings/js/JSSQLResultSetRowListCustom.cpp: Include ObjectConstructor.h because
      that's where createEmptyObject() is located now.
      
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneDeserializer::deserialize): Updated for interface change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c862eacf
    • alecflett@chromium.org's avatar
      IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess · a5b12aca
      alecflett@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=103920
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
      pass through a metadata parameter. While there, remove the unused
      IDBTransactionBackendInterface parameter to onUpgradeNeeded.
      
      As this is another step in the IDB refactor, I've simplified future cleanup
      work by making the WebKit API code still use the old API. This
      will make it possible to outright remove code on the chromium side rather
      than another three-step checkin.
      
      No new tests, as this is more refactoring.
      
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
      (WebCore::IDBCallbacks::onSuccess): new method signature.
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
      (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
      (WebCore::IDBDatabaseBackendImpl::openConnection):
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
      (WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
      * Modules/indexeddb/IDBOpenDBRequest.h:
      (IDBOpenDBRequest):
      
      Source/WebKit/chromium:
      
      Support the new IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded
      while maintaining chromium compatibility by shimming in the old API
      in the WebKit side. Future code will clean this up so that it is just a
      pass-through as it was before.
      
      * public/WebIDBCallbacks.h:
      (WebKit):
      (WebKit::WebIDBCallbacks::onSuccess): new method signature.
      (WebKit::WebIDBCallbacks::onUpgradeNeeded): new method signature.
      * src/IDBCallbacksProxy.cpp:
      (WebKit::IDBCallbacksProxy::onSuccess): call on new method signature proxies through old API.
      (WebKit):
      (WebKit::IDBCallbacksProxy::onUpgradeNeeded): call on new method signature proxies through old API.
      * src/IDBCallbacksProxy.h:
      (IDBCallbacksProxy):
      * src/WebIDBCallbacksImpl.cpp:
      (WebKit::WebIDBCallbacksImpl::onSuccess): call on old WebKit proxy signature calls new API.
      (WebKit):
      (WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): call on old WebKit proxy signature calls new API.
      * src/WebIDBCallbacksImpl.h:
      (WebIDBCallbacksImpl):
      * tests/IDBAbortOnCorruptTest.cpp: new method signature.
      (WebCore::MockIDBCallbacks::onSuccess):
      * tests/IDBDatabaseBackendTest.cpp: new method signature.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5b12aca
    • commit-queue@webkit.org's avatar
      Add window occlusion criteria to determine page visibility on Mac · 85d0140e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107494
      
      Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-28
      Reviewed by Simon Fraser.
      
      Source/WebKit2:
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::isViewVisible): Add window occlusion check.
      * UIProcess/API/mac/WKView.mm:
      (-[WKView dealloc]): Remove self from the all views vector.
      (-[WKView addWindowObserversForWindow:]): Register observer for
      NSWindowWillOrderOffScreenNotification.
      (-[WKView removeWindowObservers]): Unregister observer for
      NSWindowWillOrderOffScreenNotification.
      (-[WKView viewWillMoveToWindow:]): Disable occlusion notifications.
      (-[WKView viewDidMoveToWindow]): Enable occlusion notifications.
      (-[WKView _windowWillOrderOffScreen:]): Disable occlusion notifications.
      (-[WKView _windowDidOrderOnScreen:]): Enable occlusion notifications.
      This notification ensures that occlusion notifications are registered
      correctly even if the NSWindow object is assigned a window number after
      the viewDidMoveToWindow notification has been received.  This occurs
      for instance during application launch.
      (-[WKView _setIsWindowOccluded:]):
      (-[WKView _enableWindowOcclusionNotifications]):
      (-[WKView _disableWindowOcclusionNotifications]):
      (windowBecameVisible):
      (windowBecameOccluded):
      (+[WKView _registerWindowOcclusionNotificationHandlers]):
      (+[WKView _unregisterWindowOcclusionNotificationHandlers]):
      (+[WKView _allViews]):
      (-[WKView _isWindowOccluded]):
      (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add
      self to the all views vector.
      * UIProcess/API/mac/WKViewInternal.h:
      
      WebKitLibraries:
      
      Add enum constants to specify window occlusion notification type to
      notification registration/unregistration methods.  Add typedef for
      window ID data passed to the window occlusion notification handler.
      Add method to enable occlusion notifications for a particular window.
      
      * WebKitSystemInterface.h: Add
      WKOcclusionNotificationTypeWindowBecameVisible,
      WKOcclusionNotificationTypeWindowBecameOccluded,
      WKWindowID,
      WKEnableWindowOcclusionNotifications().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85d0140e
    • keishi@webkit.org's avatar
      [Chromium] Rebaselining integer-modulo after r141031. · 2b13e24d
      keishi@webkit.org authored
      Unreviewed. Gardening.
      
      * platform/chromium/fast/js/regress/integer-modulo-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b13e24d
    • commit-queue@webkit.org's avatar
      [BlackBerry] Small animated zoom level adjustments are unnecessary · b588c0d6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108104
      
      Patch by Andrew Lo <anlo@rim.com> on 2013-01-28
      Reviewed by Rob Buis.
      Internally reviewed by Mike Fenton.
      
      Internal PR 285861.
      If the difference between the target scale and current scale is
      less than a given threshold, don't perform a zoom animation.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b588c0d6
    • commit-queue@webkit.org's avatar
      fix multi-touch-inside-iframes Layout test · 5460c824
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108113
      
      Patch by Min Qin <qinmin@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      The ordering of OnLoad() of the 2 child iframes is racy.
      Fixed by assigning title from the parent frame.
      
      * fast/events/touch/multi-touch-inside-iframes.html:
      * fast/events/touch/resources/multi-touch-inside-iframes2.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5460c824
    • nghanavatian@rim.com's avatar
      [BlackBerry] Reduce the region that is spellchecked on keystroke · 8c5c6dde
      nghanavatian@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108115
      
      Reviewed by Rob Buis.
      
      PR288217
      Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
      the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
      on focus, this dramatically reduces the region that is rechecked when a key is hit.
      
      Internally reviewed by Mike Fenton.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
      * WebKitSupport/SpellingHandler.cpp:
      (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
      (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
      * WebKitSupport/SpellingHandler.h:
      (SpellingHandler):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c5c6dde
    • commit-queue@webkit.org's avatar
      [TexMap] Enable debug borders and repaint counter via Settings. · 9b55c5b8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107198
      
      Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
      Reviewed by Benjamin Poulain.
      
      Source/WebKit/efl:
      
      If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
      showDebugBorders and showRepaintCounter in Settings to true.
      
      * ewk/ewk_view.cpp:
      (_ewk_view_priv_new):
      
      Source/WebKit/gtk:
      
      If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
      showDebugBorders and showRepaintCounter in Settings to true.
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_update_settings):
      
      Source/WebKit/qt:
      
      If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
      showDebugBorders and showRepaintCounter in Settings to true.
      
      * Api/qwebsettings.cpp:
      (QWebSettingsPrivate::apply):
      
      Source/WebKit2:
      
      Currently, if the environment variable WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
      is set to 1, only CoordinatedBacking shows debug borders and repaint counter.
      
      This patch makes the environment variable change Settings.
      
      In addition, Qt uses WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS instead of
      QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS from now.
      
      After Bug 105787, all backing stores and platform layers in TextureMapper can
      show debug borders and repaint counter.
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::EwkView):
      * UIProcess/API/gtk/WebKitSettings.cpp:
      (webKitSettingsSetProperty):
      * UIProcess/API/qt/qquickwebview.cpp:
      (QQuickWebViewPrivate::initialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b55c5b8
    • simon.fraser@apple.com's avatar
      position:fixed that doesn't render any content should not force compositing · 90b35d85
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108112
      
      Source/WebCore:
      
      Reviewed by Beth Dakin.
      
      It's not uncommon for pages to have position:fixed elements with no content.
      When these are behind other elements, they can cause those other elements
      to become composited, using lots of backing store memory.
      
      Optimize for the case where the position:fixed element has no rendered
      content and no children by not making it composited in that case.
      
      Test: compositing/layer-creation/fixed-position-no-content.html
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::hasNonEmptyChildRenderers): Moved from RenderLayerBacking.cpp.
      (WebCore::hasBoxDecorations): Ditto.
      (WebCore::RenderLayer::hasBoxDecorationsOrBackground): Ditto.
      (WebCore::RenderLayer::hasVisibleBoxDecorations): Check for visibility:visible, box decorations and
      overflow controls.
      (WebCore::RenderLayer::isVisuallyNonEmpty): Returns true if this layer has some visible
      representation.
      * rendering/RenderLayer.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Need to call updateDescendantDependentFlags()
      to ensure that the visibility flags are up to date.
      (WebCore::RenderLayerBacking::updateDrawsContent): Call RenderLayer::hasBoxDecorationsOrBackground() now.
      (WebCore::RenderLayerBacking::paintsBoxDecorations): Call RenderLayer::hasVisibleBoxDecorations() now.
      (WebCore::RenderLayerBacking::paintsChildren): Call RenderLayer::hasNonEmptyChildRenderers().
      (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Whitespace.
      (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground().
      (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Ditto.
      * rendering/RenderLayerBacking.h:
      (RenderLayerBacking):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::requiresCompositingForPosition): If the layer has no content to paint,
      or visible descendant layers, then don't make it composited.
      
      LayoutTests:
      
      Reviewed by Beth Dakin.
      
      Change tests to put a background color on position:fixed elements that need to be composited.
      New test with an empty fixed position element.
      
      * compositing/layer-creation/fixed-position-change-out-of-view-in-view.html:
      * compositing/layer-creation/fixed-position-no-content-expected.txt: Added.
      * compositing/layer-creation/fixed-position-no-content.html: Copied from LayoutTests/compositing/layer-creation/fixed-position-out-of-view.html.
      * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
      * compositing/layer-creation/fixed-position-out-of-view-scaled.html:
      * compositing/layer-creation/fixed-position-out-of-view.html:
      * platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html:
      * platform/mac/tiled-drawing/fixed/fixed-position-out-of-view.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90b35d85
    • keishi@webkit.org's avatar
      [Chromium] Skipping mathml tests because MATHML was disasbled. · 2ef2e0af
      keishi@webkit.org authored
      Unreviewed. Gardening.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ef2e0af
    • andersca@apple.com's avatar
      Move Mach port handling from WorkQueue to Connection · 367b7c76
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108140
      
      Reviewed by Sam Weinig.
      
      Instead of having WorkQueue know about Mach port sources, just fold that
      functionality directly into Connection. This lets us get rid of the generic source
      handling from WorkQueue.
      
      * Platform/CoreIPC/Connection.h:
      (Connection):
      * Platform/CoreIPC/mac/ConnectionMac.cpp:
      (CoreIPC::Connection::platformInvalidate):
      (CoreIPC::createDataAvailableSource):
      (CoreIPC):
      (CoreIPC::Connection::open):
      (CoreIPC::Connection::initializeDeadNameSource):
      * Platform/WorkQueue.h:
      (WorkQueue::dispatchQueue):
      (WorkQueue):
      * Platform/mac/WorkQueueMac.cpp:
      (WorkQueue::platformInvalidate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      367b7c76
    • simon.fraser@apple.com's avatar
      Avoid doing work at 60fps for tiled layers when not necessary · 55250145
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108135
      
      Reviewed by Dean Jackson.
      
      When there were any tiled layers on the page, we would run a CVDisplayLink
      to cause GraphicsLayerCA to flush, in order to update tiled layer visible rects.
      This is overkill; we should only do this if the tiled layer is affected by
      an accelerated animation.
      
      Fix by tracking whether an ancestor has a running animation when committing
      GraphicsLayerCAs.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::flushCompositingState): Start with an empty CommitState.
      (WebCore::GraphicsLayerCA::recursiveCommitChanges): Push CommitState for
      each layer, which tracks whether an ancestor has a running transform animation.
      (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): updateLayerAnimations() renamed.
      (WebCore::GraphicsLayerCA::updateAnimations): Renamed from updateLayerAnimations().
      (WebCore::GraphicsLayerCA::isRunningTransformAnimation): Look in the map of running
      animations for one affecting transform. This list is normally small (one item).
      * platform/graphics/ca/GraphicsLayerCA.h:
      (WebCore::GraphicsLayerCA::CommitState::CommitState):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55250145
    • simon.fraser@apple.com's avatar
      compositing/reflections/become-simple-composited-reflection.html pixel result shows bug · 8ddd381c
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107174
      
      Reviewed by Dean Jackson.
      
      When we have a content layer for solid color, we need to update reflection
      clones when that color changes.
      
      Tested by the pixel test for compositing/reflections/become-simple-composited-reflection.html.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::updateContentsColorLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ddd381c
    • abarth@webkit.org's avatar
      [v8] Security feature: JavaScript Bindings hardening · 7929995e
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106608
      
      Source/WebCore: 
      
      The patch adds a check at wrapper creation time to enuse that the
      object being wrapped is not already free, to the extent that we know
      the information about the type of the object as provided in the IDL.
      
      Patch by Tom Sepez <tsepez@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      Patch is correct if existing tests pass without new crashes.
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateImplementation):
      (GenerateToV8Converters):
      (GetNativeTypeForConversions):
      (GetGnuVTableRefForInterface):
      (GetGnuVTableNameForInterface):
      (GetGnuMangledNameForInterface):
      (GetGnuVTableOffsetForType):
      (GetWinVTableRefForInterface):
      (GetWinVTableNameForInterface):
      (GetWinMangledNameForInterface):
      (GetNamespaceForInterface):
      (GetImplementationLacksVTableForInterface):
      (GetV8SkipVTableValidationForInterface):
      Update code generation to add object validity tests under the control
      of the ENABLE_BINDING_INTEGRITY option.
              
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/DirectoryReaderSync.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/Metadata.idl:
      * Modules/gamepad/Gamepad.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Geoposition.idl:
      * Modules/geolocation/PositionError.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/mediastream/RTCStatsElement.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/speech/SpeechGrammar.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognitionAlternative.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioSourceNode.idl:
      * Modules/webaudio/WaveTable.idl:
      * Modules/webdatabase/SQLError.idl:
      * Modules/webdatabase/SQLException.idl:
      * Modules/webdatabase/SQLResultSet.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * bindings/scripts/IDLAttributes.txt:
      * css/CSSPrimitiveValue.idl:
      * css/CSSRule.idl:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * css/CSSValue.idl:
      * css/CSSValueList.idl:
      * css/Counter.idl:
      * css/MediaList.idl:
      * css/MediaQueryList.idl:
      * css/RGBColor.idl:
      * css/Rect.idl:
      * css/StyleSheetList.idl:
      * css/WebKitCSSFilterValue.idl:
      * css/WebKitCSSMixFunctionValue.idl:
      * css/WebKitCSSTransformValue.idl:
      * dom/ClientRect.idl:
      * dom/ClientRectList.idl:
      * dom/Clipboard.idl:
      * dom/DOMCoreException.idl:
      * dom/DOMError.idl:
      * dom/DOMImplementation.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DOMStringList.idl:
      * dom/DOMStringMap.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/DocumentFragment.idl:
      * dom/Element.idl:
      * dom/Entity.idl:
      * dom/Event.idl:
      * dom/EventException.idl:
      * dom/MessageChannel.idl:
      * dom/MouseEvent.idl:
      * dom/MutationObserver.idl:
      * dom/MutationRecord.idl:
      * dom/NamedNodeMap.idl:
      * dom/NodeFilter.idl:
      * dom/NodeIterator.idl:
      * dom/NodeList.idl:
      * dom/Range.idl:
      * dom/RangeException.idl:
      * dom/Touch.idl:
      * dom/TouchList.idl:
      * dom/TreeWalker.idl:
      * fileapi/FileError.idl:
      * fileapi/FileException.idl:
      * fileapi/FileList.idl:
      * html/DOMFormData.idl:
      * html/DOMTokenList.idl:
      * html/DOMURL.idl:
      * html/HTMLAllCollection.idl:
      * html/HTMLCollection.idl:
      * html/HTMLDialogElement.idl:
      * html/HTMLDivElement.idl:
      * html/HTMLDocument.idl:
      * html/HTMLElement.idl:
      * html/HTMLImageElement.idl:
      * html/HTMLInputElement.idl:
      * html/HTMLSelectElement.idl:
      * html/HTMLSpanElement.idl:
      * html/HTMLUnknownElement.idl:
      * html/ImageData.idl:
      * html/MediaError.idl:
      * html/MediaKeyError.idl:
      * html/TimeRanges.idl:
      * html/ValidityState.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/ArrayBufferView.idl:
      * html/canvas/CanvasGradient.idl:
      * html/canvas/CanvasPattern.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * html/canvas/WebGLActiveInfo.idl:
      * html/canvas/WebGLShaderPrecisionFormat.idl:
      * html/track/TextTrack.idl:
      * html/track/TextTrackCue.idl:
      * html/track/TextTrackCueList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * page/Coordinates.idl:
      * page/Crypto.idl:
      * page/MemoryInfo.idl:
      * page/PagePopupController.idl:
      * page/PerformanceEntryList.idl:
      * page/SpeechInputResult.idl:
      * page/SpeechInputResultList.idl:
      * page/WebKitPoint.idl:
      * svg/SVGAnimatedAngle.idl:
      * svg/SVGAnimatedBoolean.idl:
      * svg/SVGAnimatedEnumeration.idl:
      * svg/SVGAnimatedInteger.idl:
      * svg/SVGAnimatedLength.idl:
      * svg/SVGAnimatedLengthList.idl:
      * svg/SVGAnimatedNumber.idl:
      * svg/SVGAnimatedNumberList.idl:
      * svg/SVGAnimatedPreserveAspectRatio.idl:
      * svg/SVGAnimatedRect.idl:
      * svg/SVGAnimatedString.idl:
      * svg/SVGAnimatedTransformList.idl:
      * svg/SVGColor.idl:
      * svg/SVGException.idl:
      * svg/SVGPaint.idl:
      * svg/SVGPathSeg.idl:
      * svg/SVGRenderingIntent.idl:
      * svg/SVGUnitTypes.idl:
      * svg/SVGZoomAndPan.idl:
      * testing/MallocStatistics.idl:
      * testing/TypeConversions.idl:
      * workers/WorkerLocation.idl:
      * xml/DOMParser.idl:
      * xml/XMLHttpRequestException.idl:
      * xml/XMLSerializer.idl:
      * xml/XPathEvaluator.idl:
      * xml/XPathException.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      * xml/XPathResult.idl:
      * xml/XSLTProcessor.idl:
      Add exceptions to binding integrity checks to IDL.
      
      Source/WebKit/chromium: 
      
      Patch by Tom Sepez <tsepez@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      * features.gypi:
      Added ENABLE_BINDING_INTEGRITY option.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7929995e
    • hclam@chromium.org's avatar
      [chromium] Build fix. · 49fdc9a5
      hclam@chromium.org authored
      Unreviewed build fix. Remove the use of SkMutex from DiscardablePixelRef.
      
      * platform/graphics/chromium/DiscardablePixelRef.cpp:
      (WebCore::DiscardablePixelRefAllocator::allocPixelRef):
      (WebCore::DiscardablePixelRef::DiscardablePixelRef):
      * platform/graphics/chromium/DiscardablePixelRef.h:
      (DiscardablePixelRef):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      49fdc9a5
    • gyuyoung.kim@samsung.com's avatar
      Add StorageManager class to cmake ports · b877f992
      gyuyoung.kim@samsung.com authored
      Unreviewed build fix. Though StorageManager was added to WK2 in r141024,
      it is not added to cmake ports(EFL).
      
      * CMakeLists.txt:
      * PlatformEfl.cmake:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b877f992
    • msaboff@apple.com's avatar
      Make integer-modulo.js a try JS-Regress test · 0468bdc3
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108130
      
      Reviewed by Filip Pizlo.
      
      Eliminated the LayoutTest calls.  Sum the values and throw an expection if it doesn't
      match up.
      
      * fast/js/regress/script-tests/integer-modulo.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0468bdc3
    • benjamin@webkit.org's avatar
      String constructed from Literals should be non-empty · 4a05de07
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108103
      
      Reviewed by Eric Carlson.
      
      Source/WebCore: 
      
      Strings from literal should not be constructed from empty strings. Use emptyString()
      instead.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::canPlayType):
      
      Source/WTF: 
      
      For efficiency, the construction from literal only works with valid non-empty strings.
      One of the constructor was changed to fix an error from HTMLMediaElement.
      
      This patch replaces the branch with an assertions.
      
      * wtf/text/StringImpl.cpp:
      (WTF::StringImpl::createFromLiteral):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4a05de07
    • oliver@apple.com's avatar
      Add more assertions to the property storage use in arrays · 5468c770
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107728
      
      Reviewed by Filip Pizlo.
      
      Add a bunch of assertions to array and object butterfly
      usage.  This should make debugging somewhat easier.
      
      I also converted a couple of assertions to release asserts
      as they were so low cost it seemed a sensible thing to do.
      
      * runtime/JSArray.cpp:
      (JSC::JSArray::sortVector):
      (JSC::JSArray::compactForSorting):
      * runtime/JSObject.h:
      (JSC::JSObject::getHolyIndexQuickly):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5468c770
    • haraken@chromium.org's avatar
      Implement CompositionEvent constructor · eab5fb4d
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107919
      
      Reviewed by Sam Weinig.
      
      This patch implements a CompositionEvent constructor under
      a DOM4_EVENTS_CONSTRUCTOR flag.
      
      Spec: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
      
      Source/WebCore:
      
      Test: fast/events/constructors/composition-event-constructor.html
      
      * dom/CompositionEvent.cpp:
      (WebCore::CompositionEventInit::CompositionEventInit):
      (WebCore):
      (WebCore::CompositionEvent::CompositionEvent):
      * dom/CompositionEvent.h:
      (CompositionEventInit):
      (WebCore):
      (CompositionEvent):
      (WebCore::CompositionEvent::create):
      (WebCore::CompositionEvent::data):
      * dom/CompositionEvent.idl:
      
      LayoutTests:
      
      * fast/dom/constructed-objects-prototypes-expected.txt:
      * fast/events/constructors/composition-event-constructor-expected.txt: Added.
      * fast/events/constructors/composition-event-constructor.html: Added.
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      * fast/dom/constructed-objects-prototypes-expected.txt:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eab5fb4d
    • weinig@apple.com's avatar
      <rdar://problem/13098777> · 125d746d
      weinig@apple.com authored
      Add (allow mach-lookup (global-name "com.apple.tccd.system"))
      
      Reviewed by Maciej Stachowiak.
      
      * WebProcess/com.apple.WebProcess.sb.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      125d746d