1. 18 Oct, 2013 1 commit
    • andersca@apple.com's avatar
      Remove spaces between template angle brackets · c3523f8d
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123040
      
      Reviewed by Andreas Kling.
      
      Source/JavaScriptCore:
      
      * API/JSCallbackObject.cpp:
      (JSC::::create):
      * API/JSObjectRef.cpp:
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::constants):
      (JSC::CodeBlock::setConstantRegisters):
      * bytecode/DFGExitProfile.h:
      * bytecode/EvalCodeCache.h:
      * bytecode/Operands.h:
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedCodeBlock::constantRegisters):
      * bytecode/Watchpoint.h:
      * bytecompiler/BytecodeGenerator.h:
      * bytecompiler/StaticPropertyAnalysis.h:
      * bytecompiler/StaticPropertyAnalyzer.h:
      * dfg/DFGArgumentsSimplificationPhase.cpp:
      * dfg/DFGBlockInsertionSet.h:
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::performCSE):
      (JSC::DFG::performStoreElimination):
      * dfg/DFGCommonData.h:
      * dfg/DFGDesiredStructureChains.h:
      * dfg/DFGDesiredWatchpoints.h:
      * dfg/DFGJITCompiler.h:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGOSRExitCompiler64.cpp:
      (JSC::DFG::OSRExitCompiler::compileExit):
      * dfg/DFGWorklist.h:
      * heap/BlockAllocator.h:
      (JSC::CopiedBlock):
      (JSC::MarkedBlock):
      (JSC::WeakBlock):
      (JSC::MarkStackSegment):
      (JSC::CopyWorkListSegment):
      (JSC::HandleBlock):
      * heap/Heap.h:
      * heap/Local.h:
      * heap/MarkedBlock.h:
      * heap/Strong.h:
      * jit/AssemblyHelpers.cpp:
      (JSC::AssemblyHelpers::decodedCodeMapFor):
      * jit/AssemblyHelpers.h:
      * jit/SpecializedThunkJIT.h:
      * parser/Nodes.h:
      * parser/Parser.cpp:
      (JSC::::parseIfStatement):
      * parser/Parser.h:
      (JSC::Scope::copyCapturedVariablesToVector):
      (JSC::parse):
      * parser/ParserArena.h:
      * parser/SourceProviderCacheItem.h:
      * profiler/LegacyProfiler.cpp:
      (JSC::dispatchFunctionToProfiles):
      * profiler/LegacyProfiler.h:
      (JSC::LegacyProfiler::currentProfiles):
      * profiler/ProfileNode.h:
      (JSC::ProfileNode::children):
      * profiler/ProfilerDatabase.h:
      * runtime/Butterfly.h:
      (JSC::Butterfly::contiguousInt32):
      (JSC::Butterfly::contiguous):
      * runtime/GenericTypedArrayViewInlines.h:
      (JSC::::create):
      * runtime/Identifier.h:
      (JSC::Identifier::add):
      * runtime/JSPromise.h:
      * runtime/PropertyMapHashTable.h:
      * runtime/PropertyNameArray.h:
      * runtime/RegExpCache.h:
      * runtime/SparseArrayValueMap.h:
      * runtime/SymbolTable.h:
      * runtime/VM.h:
      * tools/CodeProfile.cpp:
      (JSC::truncateTrace):
      * tools/CodeProfile.h:
      * yarr/YarrInterpreter.cpp:
      * yarr/YarrInterpreter.h:
      (JSC::Yarr::BytecodePattern::BytecodePattern):
      * yarr/YarrJIT.cpp:
      (JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
      (JSC::Yarr::YarrGenerator::opCompileParentheticalAssertion):
      (JSC::Yarr::YarrGenerator::opCompileBody):
      * yarr/YarrPattern.cpp:
      (JSC::Yarr::YarrPatternConstructor::checkForTerminalParentheses):
      (JSC::Yarr::YarrPatternConstructor::optimizeDotStarWrappedExpressions):
      * yarr/YarrPattern.h:
      
      Source/WebCore:
      
      * Modules/encryptedmedia/MediaKeySession.h:
      * Modules/encryptedmedia/MediaKeys.h:
      * Modules/geolocation/Geolocation.h:
      * Modules/geolocation/GeolocationController.cpp:
      (WebCore::GeolocationController::positionChanged):
      (WebCore::GeolocationController::errorOccurred):
      * Modules/geolocation/GeolocationController.h:
      * Modules/indexeddb/IDBCallbacks.h:
      * Modules/indexeddb/IDBDatabase.h:
      * Modules/indexeddb/IDBDatabaseBackendInterface.h:
      * Modules/indexeddb/IDBEventDispatcher.cpp:
      (WebCore::IDBEventDispatcher::dispatch):
      * Modules/indexeddb/IDBEventDispatcher.h:
      * Modules/indexeddb/IDBKey.h:
      * Modules/indexeddb/IDBObjectStore.h:
      * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
      * Modules/indexeddb/IDBRequest.cpp:
      (WebCore::IDBRequest::dispatchEvent):
      * Modules/indexeddb/IDBRequest.h:
      (WebCore::IDBRequest::onSuccessWithPrefetch):
      * Modules/indexeddb/IDBTransaction.cpp:
      (WebCore::IDBTransaction::dispatchEvent):
      * Modules/indexeddb/IDBTransaction.h:
      * Modules/mediacontrols/MediaControlsHost.cpp:
      (WebCore::MediaControlsHost::sortedTrackListForMenu):
      * Modules/mediacontrols/MediaControlsHost.h:
      * Modules/mediasource/MediaSource.cpp:
      (WebCore::MediaSource::activeRanges):
      * Modules/mediasource/MediaSource.h:
      * Modules/mediasource/MediaSourceBase.cpp:
      (WebCore::MediaSourceBase::buffered):
      * Modules/mediasource/MediaSourceBase.h:
      * Modules/mediasource/MediaSourceRegistry.cpp:
      (WebCore::MediaSourceRegistry::unregisterURL):
      * Modules/mediasource/MediaSourceRegistry.h:
      * Modules/mediasource/SourceBufferList.h:
      * Modules/mediasource/WebKitMediaSource.cpp:
      (WebCore::WebKitMediaSource::activeRanges):
      * Modules/mediasource/WebKitMediaSource.h:
      * Modules/mediasource/WebKitSourceBufferList.h:
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::scheduledEventTimerFired):
      * Modules/mediastream/MediaStream.h:
      * Modules/mediastream/MediaStreamRegistry.h:
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/RTCDTMFSender.cpp:
      (WebCore::RTCDTMFSender::scheduledEventTimerFired):
      * Modules/mediastream/RTCDTMFSender.h:
      * Modules/mediastream/RTCDataChannel.cpp:
      (WebCore::RTCDataChannel::scheduledEventTimerFired):
      * Modules/mediastream/RTCDataChannel.h:
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::stop):
      (WebCore::RTCPeerConnection::scheduledEventTimerFired):
      * Modules/mediastream/RTCPeerConnection.h:
      * Modules/mediastream/RTCStatsResponse.h:
      (WebCore::RTCStatsResponse::result):
      * Modules/notifications/Notification.h:
      * Modules/notifications/NotificationCenter.h:
      * Modules/speech/SpeechSynthesis.cpp:
      (WebCore::SpeechSynthesis::getVoices):
      * Modules/speech/SpeechSynthesis.h:
      * Modules/webaudio/AudioBuffer.h:
      * Modules/webaudio/AudioNode.h:
      * Modules/webaudio/AudioNodeOutput.h:
      * Modules/webaudio/MediaStreamAudioSource.cpp:
      (WebCore::MediaStreamAudioSource::setAudioFormat):
      (WebCore::MediaStreamAudioSource::consumeAudio):
      * Modules/webaudio/PeriodicWave.h:
      * Modules/webaudio/ScriptProcessorNode.h:
      * Modules/webdatabase/AbstractDatabaseServer.h:
      * Modules/webdatabase/DatabaseBackend.h:
      * Modules/webdatabase/DatabaseManager.cpp:
      (WebCore::DatabaseManager::origins):
      * Modules/webdatabase/DatabaseManager.h:
      * Modules/webdatabase/DatabaseServer.cpp:
      (WebCore::DatabaseServer::origins):
      * Modules/webdatabase/DatabaseServer.h:
      * Modules/webdatabase/DatabaseThread.h:
      * Modules/webdatabase/DatabaseTracker.cpp:
      (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
      (WebCore::DatabaseTracker::origins):
      (WebCore::DatabaseTracker::getOpenDatabases):
      (WebCore::DatabaseTracker::deleteAllDatabases):
      (WebCore::DatabaseTracker::deleteDatabaseFile):
      * Modules/webdatabase/DatabaseTracker.h:
      * Modules/webdatabase/SQLStatementBackend.cpp:
      * Modules/webdatabase/SQLTransactionBackend.cpp:
      * Modules/webdatabase/SQLTransactionBackend.h:
      * Modules/webdatabase/SQLTransactionCoordinator.cpp:
      (WebCore::SQLTransactionCoordinator::shutdown):
      * Modules/webdatabase/SQLTransactionCoordinator.h:
      * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
      (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
      (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
      (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
      * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
      * Modules/websockets/WebSocket.cpp:
      (WebCore::WebSocket::didReceiveBinaryData):
      * Modules/websockets/WebSocket.h:
      * Modules/websockets/WebSocketChannel.cpp:
      (WebCore::WebSocketChannel::processFrame):
      * Modules/websockets/WebSocketChannel.h:
      * Modules/websockets/WebSocketChannelClient.h:
      (WebCore::WebSocketChannelClient::didReceiveBinaryData):
      * Modules/websockets/WebSocketExtensionDispatcher.h:
      * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
      (WebCore::workerGlobalScopeDidReceiveBinaryData):
      (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
      (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
      (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
      * Modules/websockets/WorkerThreadableWebSocketChannel.h:
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::~AXObjectCache):
      * accessibility/AXObjectCache.h:
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::ariaLabeledByText):
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityText::AccessibilityText):
      * bindings/js/DOMWrapperWorld.h:
      * bindings/js/JSDOMBinding.h:
      (WebCore::toRefPtrNativeArray):
      * bindings/js/JSDOMGlobalObject.h:
      * bindings/js/JSMutationCallback.cpp:
      (WebCore::JSMutationCallback::call):
      * bindings/js/JSMutationCallback.h:
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::JSWebGLRenderingContext::getAttachedShaders):
      * bindings/js/PageScriptDebugServer.h:
      * bindings/js/ScheduledAction.h:
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::collectIsolatedContexts):
      * bindings/js/ScriptController.h:
      * bindings/js/ScriptDebugServer.h:
      * bindings/js/ScriptProfile.cpp:
      (WebCore::buildInspectorObjectFor):
      * bindings/objc/ObjCNodeFilterCondition.h:
      * bridge/objc/objc_class.h:
      * bridge/runtime_root.cpp:
      (JSC::Bindings::RootObject::invalidate):
      * bridge/runtime_root.h:
      * css/BasicShapeFunctions.cpp:
      (WebCore::basicShapeForValue):
      * css/CSSBasicShapes.h:
      (WebCore::CSSBasicShapePolygon::values):
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::valueForFilter):
      * css/CSSFontFace.h:
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::addFontFaceRule):
      (WebCore::CSSFontSelector::getFontFace):
      (WebCore::CSSFontSelector::beginLoadTimerFired):
      * css/CSSFontSelector.h:
      * css/CSSGroupingRule.h:
      * css/CSSImageGeneratorValue.h:
      * css/CSSParserValues.cpp:
      (WebCore::CSSParserSelector::adoptSelectorVector):
      * css/CSSParserValues.h:
      * css/CSSPropertySourceData.h:
      * css/CSSRuleList.h:
      (WebCore::StaticCSSRuleList::rules):
      * css/CSSSegmentedFontFace.cpp:
      (WebCore::CSSSegmentedFontFace::fontLoaded):
      * css/CSSSegmentedFontFace.h:
      * css/CSSSelectorList.cpp:
      (WebCore::CSSSelectorList::adoptSelectorVector):
      * css/CSSSelectorList.h:
      * css/CSSStyleSheet.h:
      * css/CSSValue.h:
      (WebCore::compareCSSValueVector):
      * css/CSSValuePool.h:
      * css/DocumentRuleSets.cpp:
      (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
      (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
      * css/DocumentRuleSets.h:
      * css/ElementRuleCollector.cpp:
      (WebCore::ElementRuleCollector::matchedRuleList):
      * css/ElementRuleCollector.h:
      * css/FontLoader.h:
      * css/InspectorCSSOMWrappers.cpp:
      (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
      (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
      * css/InspectorCSSOMWrappers.h:
      * css/MediaList.cpp:
      (WebCore::MediaQuerySet::parse):
      (WebCore::MediaList::item):
      (WebCore::reportMediaQueryWarningIfNeeded):
      * css/MediaList.h:
      (WebCore::MediaQuerySet::queryVector):
      * css/MediaQueryEvaluator.cpp:
      (WebCore::MediaQueryEvaluator::eval):
      * css/MediaQueryMatcher.h:
      * css/PropertySetCSSStyleDeclaration.cpp:
      (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
      * css/PropertySetCSSStyleDeclaration.h:
      * css/RuleSet.cpp:
      (WebCore::RuleSet::addToRuleSet):
      (WebCore::RuleSet::addRegionRule):
      (WebCore::RuleSet::addChildRules):
      (WebCore::RuleSet::addRulesFromSheet):
      * css/RuleSet.h:
      * css/SelectorFilter.h:
      * css/StyleInvalidationAnalysis.cpp:
      (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
      * css/StylePropertySet.cpp:
      (WebCore::StylePropertySet::getLayeredShorthandValue):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::appendAuthorStyleSheets):
      (WebCore::StyleResolver::keyframeStylesForAnimation):
      (WebCore::StyleResolver::styleRulesForElement):
      (WebCore::StyleResolver::pseudoStyleRulesForElement):
      (WebCore::StyleResolver::resolveVariables):
      (WebCore::StyleResolver::applyProperty):
      (WebCore::StyleResolver::loadPendingSVGDocuments):
      (WebCore::StyleResolver::loadPendingShaders):
      * css/StyleResolver.h:
      * css/StyleRule.cpp:
      (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
      (WebCore::StyleRuleGroup::StyleRuleGroup):
      (WebCore::StyleRuleMedia::StyleRuleMedia):
      (WebCore::StyleRuleSupports::StyleRuleSupports):
      (WebCore::StyleRuleRegion::StyleRuleRegion):
      * css/StyleRule.h:
      (WebCore::StyleRule::parserAdoptSelectorVector):
      (WebCore::StyleRulePage::parserAdoptSelectorVector):
      (WebCore::StyleRuleGroup::childRules):
      (WebCore::StyleRuleMedia::create):
      (WebCore::StyleRuleSupports::create):
      (WebCore::StyleRuleRegion::create):
      (WebCore::StyleRuleHost::create):
      (WebCore::StyleRuleHost::StyleRuleHost):
      * css/StyleScopeResolver.h:
      * css/StyleSheetContents.cpp:
      (WebCore::StyleSheetContents::parserAppendRule):
      (WebCore::childRulesHaveFailedOrCanceledSubresources):
      * css/StyleSheetContents.h:
      (WebCore::StyleSheetContents::childRules):
      (WebCore::StyleSheetContents::importRules):
      * css/StyleSheetList.cpp:
      (WebCore::StyleSheetList::styleSheets):
      (WebCore::StyleSheetList::item):
      * css/StyleSheetList.h:
      * css/WebKitCSSKeyframesRule.h:
      (WebCore::StyleRuleKeyframes::keyframes):
      * dom/CheckedRadioButtons.h:
      * dom/ClientRectList.h:
      * dom/ContainerNode.h:
      (WebCore::ChildNodesLazySnapshot::nextNode):
      (WebCore::ChildNodesLazySnapshot::takeSnapshot):
      * dom/CrossThreadTask.h:
      * dom/Document.cpp:
      (WebCore::Document::webkitCancelFullScreen):
      (WebCore::Document::webkitExitFullscreen):
      (WebCore::Document::fullScreenChangeDelayTimerFired):
      (WebCore::Document::didAssociateFormControlsTimerFired):
      * dom/Document.h:
      * dom/DocumentMarkerController.cpp:
      (WebCore::DocumentMarkerController::removeMarkers):
      * dom/DocumentMarkerController.h:
      * dom/DocumentStyleSheetCollection.cpp:
      (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
      (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
      (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
      (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
      (WebCore::styleSheetsUseRemUnits):
      (WebCore::filterEnabledNonemptyCSSStyleSheets):
      (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
      (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
      * dom/DocumentStyleSheetCollection.h:
      * dom/Element.cpp:
      (WebCore::Element::attrNodeList):
      (WebCore::Element::webkitGetRegionFlowRanges):
      * dom/Element.h:
      * dom/EventListenerMap.h:
      * dom/EventSender.h:
      (WebCore::EventSender::timerFired):
      * dom/IdTargetObserverRegistry.h:
      * dom/MutationCallback.h:
      * dom/MutationObserver.cpp:
      (WebCore::MutationObserver::takeRecords):
      (WebCore::MutationObserver::deliver):
      (WebCore::MutationObserver::deliverAllMutations):
      * dom/MutationObserver.h:
      * dom/MutationObserverRegistration.h:
      * dom/NamedFlowCollection.cpp:
      (WebCore::NamedFlowCollection::namedFlows):
      * dom/NamedFlowCollection.h:
      * dom/Node.cpp:
      (WebCore::Node::didMoveToNewDocument):
      (WebCore::Node::mutationObserverRegistry):
      (WebCore::Node::registerMutationObserver):
      (WebCore::Node::unregisterMutationObserver):
      (WebCore::Node::notifyMutationObserversNodeWillDetach):
      * dom/Node.h:
      * dom/NodeRareData.h:
      * dom/Range.cpp:
      (WebCore::Range::processContents):
      (WebCore::Range::processNodes):
      (WebCore::Range::processAncestorsAndTheirSiblings):
      * dom/Range.h:
      * dom/ScopedEventQueue.h:
      * dom/ScriptExecutionContext.cpp:
      (WebCore::ScriptExecutionContext::reportException):
      * dom/ScriptExecutionContext.h:
      * dom/ScriptedAnimationController.h:
      * editing/ApplyStyleCommand.cpp:
      (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
      * editing/BreakBlockquoteCommand.cpp:
      (WebCore::BreakBlockquoteCommand::doApply):
      * editing/CompositeEditCommand.cpp:
      (WebCore::CompositeEditCommand::removeChildrenInRange):
      (WebCore::CompositeEditCommand::deleteInsignificantText):
      (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
      * editing/CompositeEditCommand.h:
      * editing/EditingStyle.cpp:
      (WebCore::htmlElementEquivalents):
      (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
      (WebCore::htmlAttributeEquivalents):
      (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
      (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
      (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
      (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
      (WebCore::styleFromMatchedRulesForElement):
      * editing/Editor.cpp:
      (WebCore::Editor::countMatchesForText):
      * editing/Editor.h:
      * editing/InsertParagraphSeparatorCommand.cpp:
      (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
      (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
      (WebCore::InsertParagraphSeparatorCommand::doApply):
      * editing/InsertParagraphSeparatorCommand.h:
      * editing/MergeIdenticalElementsCommand.cpp:
      (WebCore::MergeIdenticalElementsCommand::doApply):
      (WebCore::MergeIdenticalElementsCommand::doUnapply):
      * editing/RemoveNodePreservingChildrenCommand.cpp:
      (WebCore::RemoveNodePreservingChildrenCommand::doApply):
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplacementFragment::removeUnrenderedNodes):
      * editing/SimplifyMarkupCommand.cpp:
      (WebCore::SimplifyMarkupCommand::doApply):
      (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
      * editing/SimplifyMarkupCommand.h:
      * editing/SpellChecker.h:
      * editing/SplitElementCommand.cpp:
      (WebCore::SplitElementCommand::executeApply):
      (WebCore::SplitElementCommand::doUnapply):
      * editing/WrapContentsInDummySpanCommand.cpp:
      (WebCore::WrapContentsInDummySpanCommand::executeApply):
      (WebCore::WrapContentsInDummySpanCommand::doUnapply):
      * editing/mac/AlternativeTextUIController.h:
      * fileapi/FileList.h:
      * history/BackForwardList.h:
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::setRedirectURLs):
      * history/HistoryItem.h:
      * history/mac/HistoryItemMac.mm:
      (WebCore::HistoryItem::setTransientProperty):
      * html/FormController.h:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLCollection.cpp:
      (WebCore::HTMLCollection::append):
      * html/HTMLCollection.h:
      * html/HTMLFormControlElement.cpp:
      (WebCore::HTMLFormControlElement::checkValidity):
      * html/HTMLFormControlElement.h:
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::validateInteractively):
      (WebCore::HTMLFormElement::checkValidity):
      (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
      * html/HTMLFormElement.h:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
      (WebCore::HTMLMediaElement::platformTextTracks):
      (WebCore::HTMLMediaElement::configureTextTrackGroup):
      * html/HTMLMediaElement.h:
      * html/HTMLPlugInImageElement.cpp:
      * html/HTMLSelectElement.cpp:
      (WebCore::HTMLSelectElement::setLength):
      * html/MediaController.cpp:
      (MediaController::asyncEventTimerFired):
      * html/MediaController.h:
      * html/MediaFragmentURIParser.h:
      * html/ValidationMessage.h:
      * html/canvas/WebGLFramebuffer.h:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::getAttachedShaders):
      * html/canvas/WebGLRenderingContext.h:
      * html/canvas/WebGLTexture.h:
      * html/parser/BackgroundHTMLParser.cpp:
      (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
      * html/parser/BackgroundHTMLParser.h:
      (WebCore::BackgroundHTMLParser::create):
      * html/parser/HTMLDocumentParser.cpp:
      (WebCore::HTMLDocumentParser::startBackgroundParser):
      * html/parser/HTMLDocumentParser.h:
      * html/parser/HTMLMetaCharsetParser.h:
      * html/parser/HTMLPreloadScanner.cpp:
      (WebCore::TokenPreloadScanner::scan):
      (WebCore::TokenPreloadScanner::scanCommon):
      * html/parser/HTMLResourcePreloader.h:
      * html/parser/XSSAuditor.h:
      * html/shadow/ContentDistributor.cpp:
      (WebCore::ContentDistributor::ensureInsertionPointList):
      (WebCore::ContentDistributor::distribute):
      (WebCore::ContentDistributor::invalidate):
      * html/shadow/ContentDistributor.h:
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
      (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
      * html/shadow/MediaControlElements.h:
      * html/track/InbandGenericTextTrack.h:
      * html/track/InbandWebVTTTextTrack.cpp:
      (WebCore::InbandWebVTTTextTrack::newCuesParsed):
      * html/track/LoadableTextTrack.cpp:
      (WebCore::LoadableTextTrack::newCuesAvailable):
      (WebCore::LoadableTextTrack::newRegionsAvailable):
      * html/track/TextTrackCueList.h:
      * html/track/TextTrackList.cpp:
      (TextTrackList::invalidateTrackIndexesAfterTrack):
      (TextTrackList::remove):
      (TextTrackList::contains):
      * html/track/TextTrackList.h:
      * html/track/TrackListBase.cpp:
      (TrackListBase::asyncEventTimerFired):
      * html/track/TrackListBase.h:
      * html/track/WebVTTParser.cpp:
      (WebCore::WebVTTParser::getNewCues):
      (WebCore::WebVTTParser::getNewRegions):
      * html/track/WebVTTParser.h:
      * inspector/ConsoleMessage.cpp:
      (WebCore::ConsoleMessage::addToFrontend):
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
      (WebCore::ContentSearchUtils::lineEndings):
      (WebCore::ContentSearchUtils::searchInTextByLines):
      * inspector/ContentSearchUtils.h:
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::patchNode):
      (WebCore::DOMPatchSupport::diff):
      (WebCore::DOMPatchSupport::innerPatchChildren):
      * inspector/DOMPatchSupport.h:
      * inspector/InjectedScript.cpp:
      (WebCore::InjectedScript::getProperties):
      (WebCore::InjectedScript::getInternalProperties):
      (WebCore::InjectedScript::wrapCallFrames):
      * inspector/InjectedScript.h:
      * inspector/InjectedScriptHost.h:
      * inspector/InspectorAgent.cpp:
      (WebCore::InspectorAgent::enable):
      * inspector/InspectorApplicationCacheAgent.cpp:
      (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
      (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorBaseAgent.h:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::SelectorProfile::toInspectorObject):
      (WebCore::UpdateRegionLayoutTask::onTimer):
      (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
      (WebCore::InspectorCSSAgent::getComputedStyleForNode):
      (WebCore::InspectorCSSAgent::getAllStyleSheets):
      (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
      (WebCore::InspectorCSSAgent::getNamedFlowCollection):
      (WebCore::InspectorCSSAgent::buildArrayForRuleList):
      (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
      (WebCore::InspectorCSSAgent::buildArrayForRegions):
      (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
      * inspector/InspectorCSSAgent.h:
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::RevalidateStyleAttributeTask::onTimer):
      (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
      (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
      (WebCore::InspectorDOMAgent::getEventListenersForNode):
      (WebCore::InspectorDOMAgent::performSearch):
      (WebCore::InspectorDOMAgent::getSearchResults):
      (WebCore::InspectorDOMAgent::getAttributes):
      (WebCore::InspectorDOMAgent::buildObjectForNode):
      (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
      (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
      (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
      * inspector/InspectorDOMAgent.h:
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
      * inspector/InspectorDOMStorageAgent.h:
      * inspector/InspectorDatabaseAgent.cpp:
      (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
      * inspector/InspectorDatabaseAgent.h:
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
      (WebCore::InspectorDebuggerAgent::searchInContent):
      (WebCore::InspectorDebuggerAgent::setScriptSource):
      (WebCore::InspectorDebuggerAgent::currentCallFrames):
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorHeapProfilerAgent.cpp:
      (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorHistory.h:
      * inspector/InspectorIndexedDBAgent.cpp:
      * inspector/InspectorLayerTreeAgent.cpp:
      (WebCore::InspectorLayerTreeAgent::layersForNode):
      (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
      (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
      * inspector/InspectorLayerTreeAgent.h:
      * inspector/InspectorMemoryAgent.h:
      * inspector/InspectorPageAgent.cpp:
      (WebCore::buildArrayForCookies):
      (WebCore::InspectorPageAgent::getCookies):
      (WebCore::InspectorPageAgent::searchInResource):
      (WebCore::InspectorPageAgent::searchInResources):
      (WebCore::InspectorPageAgent::buildObjectForFrameTree):
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::InspectorProfilerAgent::getProfileHeaders):
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.h:
      * inspector/InspectorRuntimeAgent.cpp:
      (WebCore::InspectorRuntimeAgent::getProperties):
      * inspector/InspectorRuntimeAgent.h:
      * inspector/InspectorState.h:
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::asCSSRuleList):
      (WebCore::InspectorStyle::buildArrayForComputedStyle):
      (WebCore::InspectorStyle::styleWithProperties):
      (WebCore::selectorsFromSource):
      (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
      (WebCore::InspectorStyleSheet::buildObjectForRule):
      (WebCore::InspectorStyleSheet::lineEndings):
      (WebCore::InspectorStyleSheet::buildArrayForRuleList):
      (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
      * inspector/InspectorStyleSheet.h:
      * inspector/InspectorValues.cpp:
      (WebCore::InspectorArrayBase::writeJSON):
      * inspector/InspectorValues.h:
      * inspector/PageRuntimeAgent.cpp:
      (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
      * inspector/ScriptCallStack.cpp:
      (WebCore::ScriptCallStack::buildInspectorArray):
      * inspector/ScriptCallStack.h:
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentLoader.cpp:
      (WebCore::cancelAll):
      (WebCore::setAllDefersLoading):
      (WebCore::DocumentLoader::getSubresources):
      * loader/DocumentLoader.h:
      * loader/FormState.h:
      * loader/FormSubmission.cpp:
      (WebCore::FormSubmission::create):
      * loader/ProgressTracker.h:
      * loader/ResourceLoadScheduler.h:
      * loader/TextTrackLoader.cpp:
      (WebCore::TextTrackLoader::getNewCues):
      (WebCore::TextTrackLoader::getNewRegions):
      * loader/TextTrackLoader.h:
      * loader/WorkerThreadableLoader.cpp:
      (WebCore::workerGlobalScopeDidReceiveData):
      (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
      * loader/appcache/ApplicationCache.cpp:
      (WebCore::ApplicationCache::removeResource):
      (WebCore::ApplicationCache::dump):
      * loader/appcache/ApplicationCache.h:
      * loader/appcache/ApplicationCacheStorage.cpp:
      (WebCore::ApplicationCacheStorage::getOriginsWithCache):
      * loader/archive/Archive.cpp:
      (WebCore::Archive::clearAllSubframeArchives):
      (WebCore::Archive::clearAllSubframeArchivesImpl):
      * loader/archive/Archive.h:
      (WebCore::Archive::subresources):
      (WebCore::Archive::subframeArchives):
      * loader/archive/ArchiveResourceCollection.cpp:
      (WebCore::ArchiveResourceCollection::addAllResources):
      * loader/archive/ArchiveResourceCollection.h:
      * loader/archive/cf/LegacyWebArchive.cpp:
      (WebCore::LegacyWebArchive::createPropertyListRepresentation):
      (WebCore::LegacyWebArchive::create):
      (WebCore::LegacyWebArchive::createFromSelection):
      * loader/archive/cf/LegacyWebArchive.h:
      * loader/archive/mhtml/MHTMLParser.h:
      * loader/cache/CachedResource.h:
      * loader/cache/CachedResourceLoader.h:
      * loader/cache/MemoryCache.h:
      * loader/icon/IconDatabase.cpp:
      (WebCore::IconDatabase::notifyPendingLoadDecisions):
      * loader/icon/IconDatabase.h:
      * page/CaptionUserPreferencesMediaAF.cpp:
      (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
      * page/CaptionUserPreferencesMediaAF.h:
      * page/ChromeClient.h:
      (WebCore::ChromeClient::didAssociateFormControls):
      * page/Console.h:
      * page/ContentSecurityPolicy.h:
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::getMatchedCSSRules):
      * page/DeviceController.cpp:
      (WebCore::DeviceController::dispatchDeviceEvent):
      (WebCore::DeviceController::fireDeviceEvent):
      * page/DeviceController.h:
      * page/EditorClient.h:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleTouchEvent):
      * page/EventHandler.h:
      * page/FrameView.cpp:
      (WebCore::FrameView::serviceScriptedAnimations):
      * page/Page.cpp:
      (WebCore::Page::findStringMatchingRanges):
      * page/Page.h:
      * page/PageGroup.h:
      * page/Performance.cpp:
      (WebCore::Performance::webkitGetEntriesByType):
      (WebCore::Performance::webkitGetEntriesByName):
      * page/Performance.h:
      * page/PerformanceEntryList.cpp:
      (WebCore::PerformanceEntryList::appendAll):
      * page/PerformanceEntryList.h:
      * page/SecurityOriginHash.h:
      * page/SecurityPolicy.cpp:
      * page/SpeechInputResult.h:
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
      * page/animation/AnimationControllerPrivate.h:
      * page/animation/CSSPropertyAnimation.cpp:
      (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
      * page/animation/CompositeAnimation.h:
      * page/scrolling/ScrollingStateNode.cpp:
      (WebCore::ScrollingStateNode::appendChild):
      * page/scrolling/ScrollingStateNode.h:
      (WebCore::ScrollingStateNode::children):
      * page/scrolling/ScrollingThread.cpp:
      (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
      * page/scrolling/ScrollingThread.h:
      * page/scrolling/ScrollingTree.cpp:
      (WebCore::ScrollingTree::updateTreeFromStateNode):
      * page/scrolling/ScrollingTreeNode.cpp:
      (WebCore::ScrollingTreeNode::appendChild):
      * page/scrolling/ScrollingTreeNode.h:
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::syncChildPositions):
      * platform/CrossThreadCopier.cpp:
      * platform/CrossThreadCopier.h:
      * platform/DragData.h:
      * platform/MainThreadTask.h:
      * platform/PODFreeListArena.h:
      (WebCore::PODFreeListArena::freeObject):
      (WebCore::PODFreeListArena::allocate):
      * platform/PODIntervalTree.h:
      * platform/PODRedBlackTree.h:
      (WebCore::PODRedBlackTree::PODRedBlackTree):
      * platform/PlatformSpeechSynthesizer.cpp:
      (WebCore::PlatformSpeechSynthesizer::voiceList):
      * platform/PlatformSpeechSynthesizer.h:
      * platform/RunLoop.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::frameRectsChanged):
      (WebCore::ScrollView::clipRectChanged):
      (WebCore::ScrollView::setParentVisible):
      (WebCore::ScrollView::show):
      (WebCore::ScrollView::hide):
      * platform/ScrollView.h:
      * platform/SharedBuffer.h:
      * platform/Supplementable.h:
      (WebCore::Supplement::provideTo):
      (WebCore::Supplementable::provideSupplement):
      * platform/URL.cpp:
      (WebCore::findHostnamesInMailToURL):
      (WebCore::encodeHostnames):
      * platform/audio/AudioBus.h:
      * platform/audio/AudioDSPKernelProcessor.h:
      * platform/audio/AudioResampler.h:
      * platform/audio/DynamicsCompressor.h:
      * platform/audio/DynamicsCompressorKernel.h:
      * platform/audio/HRTFDatabase.h:
      * platform/audio/HRTFKernel.h:
      * platform/audio/MultiChannelResampler.h:
      * platform/audio/Reverb.h:
      * platform/audio/ReverbConvolver.h:
      * platform/cf/SharedBufferCF.cpp:
      (WebCore::SharedBuffer::copyBufferAndClear):
      (WebCore::SharedBuffer::copySomeDataFromDataArray):
      * platform/graphics/FloatPolygon.cpp:
      (WebCore::FloatPolygon::FloatPolygon):
      * platform/graphics/FloatPolygon.h:
      * platform/graphics/FontCache.cpp:
      (WebCore::FontCache::getCachedFontData):
      (WebCore::FontCache::purgeInactiveFontData):
      * platform/graphics/GlyphMetricsMap.h:
      (WebCore::::locatePageSlowCase):
      * platform/graphics/GlyphPageTreeNode.h:
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/GraphicsLayer.cpp:
      * platform/graphics/GraphicsLayer.h:
      * platform/graphics/PlatformTextTrackMenu.h:
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/WidthCache.h:
      * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
      (WebCore::GraphicsLayerCA::fetchCloneLayers):
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/PlatformCAAnimation.h:
      * platform/graphics/ca/PlatformCALayer.h:
      * platform/graphics/ca/mac/LayerPool.h:
      * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
      (PlatformCAAnimation::setValues):
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/cg/SubimageCacheWithTimer.h:
      * platform/graphics/filters/CustomFilterParameterList.h:
      * platform/graphics/filters/FilterEffect.h:
      * platform/graphics/filters/FilterOperations.h:
      (WebCore::FilterOperations::operations):
      * platform/graphics/gpu/Texture.cpp:
      (WebCore::Texture::Texture):
      (WebCore::Texture::create):
      * platform/graphics/gpu/Texture.h:
      * platform/graphics/mac/ComplexTextController.h:
      * platform/graphics/mac/SimpleFontDataCoreText.cpp:
      (WebCore::SimpleFontData::getCFStringAttributes):
      * platform/graphics/transforms/TransformOperations.h:
      (WebCore::TransformOperations::operations):
      * platform/ios/PasteboardIOS.mm:
      (WebCore::documentFragmentWithRTF):
      * platform/mac/PlatformSpeechSynthesizerMac.mm:
      (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
      * platform/mediastream/MediaStreamDescriptor.h:
      * platform/mediastream/MediaStreamSource.h:
      * platform/mediastream/RTCConfiguration.h:
      * platform/network/BlobRegistryImpl.h:
      * platform/network/HTTPHeaderMap.h:
      * platform/network/ResourceResponseBase.cpp:
      (WebCore::ResourceResponseBase::parseCacheControlDirectives):
      (WebCore::parseCacheHeader):
      * platform/network/cf/ResourceHandleCFNet.cpp:
      (WebCore::clientCerts):
      (WebCore::ResourceHandle::createCFURLConnection):
      * platform/text/cf/HyphenationCF.cpp:
      (WebCore::::createValueForNullKey):
      (WebCore::::createValueForKey):
      (WebCore::cfLocaleCache):
      * plugins/PluginMainThreadScheduler.h:
      * rendering/HitTestResult.h:
      * rendering/InlineFlowBox.h:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::paintContinuationOutlines):
      (WebCore::RenderBlock::removeFromTrackedRendererMaps):
      * rendering/RenderBlock.h:
      * rendering/RenderButton.h:
      * rendering/RenderCounter.cpp:
      * rendering/RenderGrid.cpp:
      (WebCore::RenderGrid::GridIterator::GridIterator):
      * rendering/RenderGrid.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
      (WebCore::RenderLayer::rebuildZOrderLists):
      (WebCore::RenderLayer::collectLayers):
      * rendering/RenderLayer.h:
      * rendering/RenderNamedFlowThread.cpp:
      (WebCore::RenderNamedFlowThread::getRanges):
      * rendering/RenderNamedFlowThread.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::getRanges):
      * rendering/RenderRegion.h:
      * rendering/RenderView.cpp:
      (WebCore::RenderView::selectionBounds):
      (WebCore::RenderView::setSelection):
      * rendering/RootInlineBox.h:
      * rendering/shapes/PolygonShape.cpp:
      (WebCore::computeShapePaddingBounds):
      (WebCore::computeShapeMarginBounds):
      * rendering/shapes/PolygonShape.h:
      (WebCore::PolygonShape::PolygonShape):
      * rendering/shapes/Shape.cpp:
      (WebCore::createPolygonShape):
      (WebCore::Shape::createShape):
      * rendering/shapes/ShapeInfo.h:
      * rendering/shapes/ShapeInterval.h:
      * rendering/style/QuotesData.cpp:
      (WebCore::QuotesData::create):
      (WebCore::QuotesData::QuotesData):
      * rendering/style/QuotesData.h:
      * rendering/style/RenderStyle.cpp:
      (WebCore::requireTransformOrigin):
      (WebCore::RenderStyle::applyTransform):
      * rendering/style/StyleGridData.h:
      * rendering/svg/RenderSVGResourceGradient.h:
      * rendering/svg/RenderSVGResourcePattern.h:
      * rendering/svg/SVGResourcesCache.h:
      * storage/StorageEventDispatcher.cpp:
      (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
      (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
      (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
      (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
      * storage/StorageEventDispatcher.h:
      * storage/StorageNamespaceImpl.h:
      * storage/StorageThread.h:
      * storage/StorageTracker.cpp:
      (WebCore::StorageTracker::origins):
      * storage/StorageTracker.h:
      * svg/SVGAnimatedPath.cpp:
      (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
      * svg/SVGAnimatedTypeAnimator.cpp:
      (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
      (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
      * svg/SVGAnimatedTypeAnimator.h:
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::startAnimations):
      (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
      (WebCore::SVGDocumentExtensions::addPendingResource):
      (WebCore::SVGDocumentExtensions::isElementPendingResources):
      (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
      (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
      (WebCore::SVGDocumentExtensions::addElementReferencingTarget):
      (WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
      * svg/SVGDocumentExtensions.h:
      * svg/SVGFontElement.h:
      * svg/SVGGlyphMap.h:
      * svg/SVGMarkerElement.cpp:
      (WebCore::SVGMarkerElement::orientTypeAnimated):
      * svg/SVGMarkerElement.h:
      * svg/SVGPathSegList.h:
      * svg/animation/SMILTimeContainer.h:
      * svg/graphics/SVGImageCache.h:
      * svg/graphics/filters/SVGFilterBuilder.h:
      (WebCore::SVGFilterBuilder::addBuiltinEffects):
      * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
      (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
      * svg/properties/SVGAnimatedListPropertyTearOff.h:
      (WebCore::SVGAnimatedListPropertyTearOff::create):
      * svg/properties/SVGAnimatedPropertyTearOff.h:
      (WebCore::SVGAnimatedPropertyTearOff::create):
      * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
      (WebCore::SVGAnimatedStaticPropertyTearOff::create):
      * svg/properties/SVGAttributeToPropertyMap.cpp:
      (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
      * svg/properties/SVGAttributeToPropertyMap.h:
      * svg/properties/SVGStaticListPropertyTearOff.h:
      (WebCore::SVGStaticListPropertyTearOff::create):
      * svg/properties/SVGTransformListPropertyTearOff.h:
      (WebCore::SVGTransformListPropertyTearOff::create):
      (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
      (WebCore::SVGTransformListPropertyTearOff::consolidate):
      * workers/DefaultSharedWorkerRepository.h:
      * workers/WorkerMessagingProxy.h:
      * xml/XMLHttpRequestProgressEventThrottle.cpp:
      (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
      * xml/XMLHttpRequestProgressEventThrottle.h:
      * xml/XPathNodeSet.cpp:
      (WebCore::XPath::NodeSet::sort):
      (WebCore::XPath::NodeSet::traversalSort):
      * xml/XSLStyleSheet.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit/mac:
      
      * History/WebHistory.mm:
      (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
      * History/WebHistoryItem.mm:
      (-[WebHistoryItem initFromDictionaryRepresentation:]):
      * Plugins/Hosted/NetscapePluginHostProxy.h:
      * Plugins/Hosted/NetscapePluginInstanceProxy.h:
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
      (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
      (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
      (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
      (WebKit::NetscapePluginInstanceProxy::stopAllStreams):
      * Plugins/WebNetscapePluginView.h:
      * Plugins/WebNetscapePluginView.mm:
      (-[WebNetscapePluginView destroyPlugin]):
      * Storage/WebDatabaseManager.mm:
      (-[WebDatabaseManager origins]):
      * Storage/WebStorageManager.mm:
      (-[WebStorageManager origins]):
      * WebCoreSupport/WebApplicationCache.mm:
      (+[WebApplicationCache originsWithCache]):
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebEditorClient.mm:
      (WebEditorClient::getClientPasteboardDataForRange):
      (WebEditorClient::documentFragmentFromAttributedString):
      * WebCoreSupport/WebFrameLoaderClient.h:
      * WebCoreSupport/WebNotificationClient.h:
      * WebCoreSupport/WebNotificationClient.mm:
      (WebNotificationClient::show):
      (WebNotificationClient::clearNotifications):
      * WebView/WebArchive.mm:
      (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
      (-[WebArchive subresources]):
      (-[WebArchive subframeArchives]):
      * WebView/WebDataSource.mm:
      (-[WebDataSource subresources]):
      * WebView/WebViewData.h:
      
      Source/WebKit2:
      
      * UIProcess/mac/WebColorPickerMac.h:
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::setProcessSuppressionEnabled):
      
      Source/WTF:
      
      * wtf/AVLTree.h:
      * wtf/CheckedArithmetic.h:
      * wtf/Compression.h:
      * wtf/Functional.h:
      (WTF::R):
      * wtf/HashFunctions.h:
      * wtf/HashIterators.h:
      * wtf/HashSet.h:
      (WTF::::contains):
      * wtf/ListHashSet.h:
      (WTF::::contains):
      * wtf/RefCountedLeakCounter.cpp:
      * wtf/RetainPtr.h:
      * wtf/SentinelLinkedList.h:
      (WTF::::remove):
      * wtf/SizeLimits.cpp:
      * wtf/StreamBuffer.h:
      * wtf/Vector.h:
      * wtf/VectorTraits.h:
      * wtf/WeakPtr.h:
      (WTF::WeakReference::create):
      (WTF::WeakReference::createUnbound):
      (WTF::WeakPtr::WeakPtr):
      (WTF::WeakPtrFactory::WeakPtrFactory):
      * wtf/text/AtomicString.cpp:
      (WTF::AtomicString::add):
      (WTF::findString):
      * wtf/text/StringConcatenate.h:
      * wtf/text/StringImpl.h:
      * wtf/text/StringOperators.h:
      (WTF::operator+):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3523f8d
  2. 15 Aug, 2013 1 commit
    • fpizlo@apple.com's avatar
      Typed arrays should be rewritten · 0e0d9312
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119064
      
      .: 
      
      Reviewed by Oliver Hunt.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * Source/autotools/symbols.filter:
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Typed arrays were previously deficient in several major ways:
              
      - They were defined separately in WebCore and in the jsc shell. The two
        implementations were different, and the jsc shell one was basically wrong.
        The WebCore one was quite awful, also.
              
      - Typed arrays were not visible to the JIT except through some weird hooks.
        For example, the JIT could not ask "what is the Structure that this typed
        array would have if I just allocated it from this global object". Also,
        it was difficult to wire any of the typed array intrinsics, because most
        of the functionality wasn't visible anywhere in JSC.
              
      - Typed array allocation was brain-dead. Allocating a typed array involved
        two JS objects, two GC weak handles, and three malloc allocations.
              
      - Neutering. It involved keeping tabs on all native views but not the view
        wrappers, even though the native views can autoneuter just by asking the
        buffer if it was neutered anytime you touch them; while the JS view
        wrappers are the ones that you really want to reach out to.
              
      - Common case-ing. Most typed arrays have one buffer and one view, and
        usually nobody touches the buffer. Yet we created all of that stuff
        anyway, using data structures optimized for the case where you had a lot
        of views.
              
      - Semantic goofs. Typed arrays should, in the future, behave like ES
        features rather than DOM features, for example when it comes to exceptions.
        Firefox already does this and I agree with them.
              
      This patch cleanses our codebase of these sins:
              
      - Typed arrays are almost entirely defined in JSC. Only the lifecycle
        management of native references to buffers is left to WebCore.
              
      - Allocating a typed array requires either two GC allocations (a cell and a
        copied storage vector) or one GC allocation, a malloc allocation, and a
        weak handle (a cell and a malloc'd storage vector, plus a finalizer for the
        latter). The latter is only used for oversize arrays. Remember that before
        it was 7 allocations no matter what.
              
      - Typed arrays require just 4 words of overhead: Structure*, Butterfly*,
        mode/length, void* vector. Before it was a lot more than that - remember,
        there were five additional objects that did absolutely nothing for anybody.
              
      - Native views aren't tracked by the buffer, or by the wrappers. They are
        transient. In the future we'll probably switch to not even having them be
        malloc'd.
              
      - Native array buffers have an efficient way of tracking all of their JS view
        wrappers, both for neutering, and for lifecycle management. The GC
        special-cases native array buffers. This saves a bunch of grief; for example
        it means that a JS view wrapper can refer to its buffer via the butterfly,
        which would be dead by the time we went to finalize.
              
      - Typed array semantics now match Firefox, which also happens to be where the
        standards are going. The discussion on webkit-dev seemed to confirm that
        Chrome is also heading in this direction. This includes making
        Uint8ClampedArray not a subtype of Uint8Array, and getting rid of
        ArrayBufferView as a JS-visible construct.
              
      This is up to a 10x speed-up on programs that allocate a lot of typed arrays.
      It's a 1% speed-up on Octane. It also opens up a bunch of possibilities for
      further typed array optimizations in the JSC JITs, including inlining typed
      array allocation, inlining more of the accessors, reducing the cost of type
      checks, etc.
              
      An additional property of this patch is that typed arrays are mostly
      implemented using templates. This deduplicates a bunch of code, but does mean
      that we need some hacks for exporting s_info's of template classes. See
      JSGenericTypedArrayView.h and JSTypedArrays.cpp. Those hacks are fairly
      low-impact compared to code duplication.
              
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * JSCTypedArrayStubs.h: Removed.
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * bytecode/ByValInfo.h:
      (JSC::hasOptimizableIndexingForClassInfo):
      (JSC::jitArrayModeForClassInfo):
      (JSC::typedArrayTypeForJITArrayMode):
      * bytecode/SpeculatedType.cpp:
      (JSC::speculationFromClassInfo):
      * dfg/DFGArrayMode.cpp:
      (JSC::DFG::toTypedArrayType):
      * dfg/DFGArrayMode.h:
      (JSC::DFG::ArrayMode::typedArrayType):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::checkArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
      (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
      (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
      * dfg/DFGSpeculativeJIT.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * heap/CopyToken.h:
      * heap/DeferGC.h:
      (JSC::DeferGCForAWhile::DeferGCForAWhile):
      (JSC::DeferGCForAWhile::~DeferGCForAWhile):
      * heap/GCIncomingRefCounted.h: Added.
      (JSC::GCIncomingRefCounted::GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::~GCIncomingRefCounted):
      (JSC::GCIncomingRefCounted::numberOfIncomingReferences):
      (JSC::GCIncomingRefCounted::incomingReferenceAt):
      (JSC::GCIncomingRefCounted::singletonFlag):
      (JSC::GCIncomingRefCounted::hasVectorOfCells):
      (JSC::GCIncomingRefCounted::hasAnyIncoming):
      (JSC::GCIncomingRefCounted::hasSingleton):
      (JSC::GCIncomingRefCounted::singleton):
      (JSC::GCIncomingRefCounted::vectorOfCells):
      * heap/GCIncomingRefCountedInlines.h: Added.
      (JSC::::addIncomingReference):
      (JSC::::filterIncomingReferences):
      * heap/GCIncomingRefCountedSet.h: Added.
      (JSC::GCIncomingRefCountedSet::size):
      * heap/GCIncomingRefCountedSetInlines.h: Added.
      (JSC::::GCIncomingRefCountedSet):
      (JSC::::~GCIncomingRefCountedSet):
      (JSC::::addReference):
      (JSC::::sweep):
      (JSC::::removeAll):
      (JSC::::removeDead):
      * heap/Heap.cpp:
      (JSC::Heap::addReference):
      (JSC::Heap::extraSize):
      (JSC::Heap::size):
      (JSC::Heap::capacity):
      (JSC::Heap::collect):
      (JSC::Heap::decrementDeferralDepth):
      (JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
      * heap/Heap.h:
      * interpreter/CallFrame.h:
      (JSC::ExecState::dataViewTable):
      * jit/JIT.h:
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::privateCompileGetByVal):
      (JSC::JIT::privateCompilePutByVal):
      (JSC::JIT::emitIntTypedArrayGetByVal):
      (JSC::JIT::emitFloatTypedArrayGetByVal):
      (JSC::JIT::emitIntTypedArrayPutByVal):
      (JSC::JIT::emitFloatTypedArrayPutByVal):
      * jsc.cpp:
      (GlobalObject::finishCreation):
      * runtime/ArrayBuffer.cpp:
      (JSC::ArrayBuffer::transfer):
      * runtime/ArrayBuffer.h:
      (JSC::ArrayBuffer::createAdopted):
      (JSC::ArrayBuffer::ArrayBuffer):
      (JSC::ArrayBuffer::gcSizeEstimateInBytes):
      (JSC::ArrayBuffer::pin):
      (JSC::ArrayBuffer::unpin):
      (JSC::ArrayBufferContents::tryAllocate):
      * runtime/ArrayBufferView.cpp:
      (JSC::ArrayBufferView::ArrayBufferView):
      (JSC::ArrayBufferView::~ArrayBufferView):
      (JSC::ArrayBufferView::setNeuterable):
      * runtime/ArrayBufferView.h:
      (JSC::ArrayBufferView::isNeutered):
      (JSC::ArrayBufferView::buffer):
      (JSC::ArrayBufferView::baseAddress):
      (JSC::ArrayBufferView::byteOffset):
      (JSC::ArrayBufferView::verifySubRange):
      (JSC::ArrayBufferView::clampOffsetAndNumElements):
      (JSC::ArrayBufferView::calculateOffsetAndLength):
      * runtime/ClassInfo.h:
      * runtime/CommonIdentifiers.h:
      * runtime/DataView.cpp: Added.
      (JSC::DataView::DataView):
      (JSC::DataView::create):
      (JSC::DataView::wrap):
      * runtime/DataView.h: Added.
      (JSC::DataView::byteLength):
      (JSC::DataView::getType):
      (JSC::DataView::get):
      (JSC::DataView::set):
      * runtime/Float32Array.h:
      * runtime/Float64Array.h:
      * runtime/GenericTypedArrayView.h: Added.
      (JSC::GenericTypedArrayView::data):
      (JSC::GenericTypedArrayView::set):
      (JSC::GenericTypedArrayView::setRange):
      (JSC::GenericTypedArrayView::zeroRange):
      (JSC::GenericTypedArrayView::zeroFill):
      (JSC::GenericTypedArrayView::length):
      (JSC::GenericTypedArrayView::byteLength):
      (JSC::GenericTypedArrayView::item):
      (JSC::GenericTypedArrayView::checkInboundData):
      (JSC::GenericTypedArrayView::getType):
      * runtime/GenericTypedArrayViewInlines.h: Added.
      (JSC::::GenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::subarray):
      (JSC::::wrap):
      * runtime/IndexingHeader.h:
      (JSC::IndexingHeader::arrayBuffer):
      (JSC::IndexingHeader::setArrayBuffer):
      * runtime/Int16Array.h:
      * runtime/Int32Array.h:
      * runtime/Int8Array.h:
      * runtime/JSArrayBuffer.cpp: Added.
      (JSC::JSArrayBuffer::JSArrayBuffer):
      (JSC::JSArrayBuffer::finishCreation):
      (JSC::JSArrayBuffer::create):
      (JSC::JSArrayBuffer::createStructure):
      (JSC::JSArrayBuffer::getOwnPropertySlot):
      (JSC::JSArrayBuffer::getOwnPropertyDescriptor):
      (JSC::JSArrayBuffer::put):
      (JSC::JSArrayBuffer::defineOwnProperty):
      (JSC::JSArrayBuffer::deleteProperty):
      (JSC::JSArrayBuffer::getOwnNonIndexPropertyNames):
      * runtime/JSArrayBuffer.h: Added.
      (JSC::JSArrayBuffer::impl):
      (JSC::toArrayBuffer):
      * runtime/JSArrayBufferConstructor.cpp: Added.
      (JSC::JSArrayBufferConstructor::JSArrayBufferConstructor):
      (JSC::JSArrayBufferConstructor::finishCreation):
      (JSC::JSArrayBufferConstructor::create):
      (JSC::JSArrayBufferConstructor::createStructure):
      (JSC::constructArrayBuffer):
      (JSC::JSArrayBufferConstructor::getConstructData):
      (JSC::JSArrayBufferConstructor::getCallData):
      * runtime/JSArrayBufferConstructor.h: Added.
      * runtime/JSArrayBufferPrototype.cpp: Added.
      (JSC::arrayBufferProtoFuncSlice):
      (JSC::JSArrayBufferPrototype::JSArrayBufferPrototype):
      (JSC::JSArrayBufferPrototype::finishCreation):
      (JSC::JSArrayBufferPrototype::create):
      (JSC::JSArrayBufferPrototype::createStructure):
      * runtime/JSArrayBufferPrototype.h: Added.
      * runtime/JSArrayBufferView.cpp: Added.
      (JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
      (JSC::JSArrayBufferView::JSArrayBufferView):
      (JSC::JSArrayBufferView::finishCreation):
      (JSC::JSArrayBufferView::getOwnPropertySlot):
      (JSC::JSArrayBufferView::getOwnPropertyDescriptor):
      (JSC::JSArrayBufferView::put):
      (JSC::JSArrayBufferView::defineOwnProperty):
      (JSC::JSArrayBufferView::deleteProperty):
      (JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
      (JSC::JSArrayBufferView::finalize):
      * runtime/JSArrayBufferView.h: Added.
      (JSC::JSArrayBufferView::sizeOf):
      (JSC::JSArrayBufferView::ConstructionContext::operator!):
      (JSC::JSArrayBufferView::ConstructionContext::structure):
      (JSC::JSArrayBufferView::ConstructionContext::vector):
      (JSC::JSArrayBufferView::ConstructionContext::length):
      (JSC::JSArrayBufferView::ConstructionContext::mode):
      (JSC::JSArrayBufferView::ConstructionContext::butterfly):
      (JSC::JSArrayBufferView::mode):
      (JSC::JSArrayBufferView::vector):
      (JSC::JSArrayBufferView::length):
      (JSC::JSArrayBufferView::offsetOfVector):
      (JSC::JSArrayBufferView::offsetOfLength):
      (JSC::JSArrayBufferView::offsetOfMode):
      * runtime/JSArrayBufferViewInlines.h: Added.
      (JSC::JSArrayBufferView::slowDownAndWasteMemoryIfNecessary):
      (JSC::JSArrayBufferView::buffer):
      (JSC::JSArrayBufferView::impl):
      (JSC::JSArrayBufferView::neuter):
      (JSC::JSArrayBufferView::byteOffset):
      * runtime/JSCell.cpp:
      (JSC::JSCell::slowDownAndWasteMemory):
      (JSC::JSCell::getTypedArrayImpl):
      * runtime/JSCell.h:
      * runtime/JSDataView.cpp: Added.
      (JSC::JSDataView::JSDataView):
      (JSC::JSDataView::create):
      (JSC::JSDataView::createUninitialized):
      (JSC::JSDataView::set):
      (JSC::JSDataView::typedImpl):
      (JSC::JSDataView::getOwnPropertySlot):
      (JSC::JSDataView::getOwnPropertyDescriptor):
      (JSC::JSDataView::slowDownAndWasteMemory):
      (JSC::JSDataView::getTypedArrayImpl):
      (JSC::JSDataView::createStructure):
      * runtime/JSDataView.h: Added.
      * runtime/JSDataViewPrototype.cpp: Added.
      (JSC::JSDataViewPrototype::JSDataViewPrototype):
      (JSC::JSDataViewPrototype::create):
      (JSC::JSDataViewPrototype::createStructure):
      (JSC::JSDataViewPrototype::getOwnPropertySlot):
      (JSC::JSDataViewPrototype::getOwnPropertyDescriptor):
      (JSC::getData):
      (JSC::setData):
      (JSC::dataViewProtoFuncGetInt8):
      (JSC::dataViewProtoFuncGetInt16):
      (JSC::dataViewProtoFuncGetInt32):
      (JSC::dataViewProtoFuncGetUint8):
      (JSC::dataViewProtoFuncGetUint16):
      (JSC::dataViewProtoFuncGetUint32):
      (JSC::dataViewProtoFuncGetFloat32):
      (JSC::dataViewProtoFuncGetFloat64):
      (JSC::dataViewProtoFuncSetInt8):
      (JSC::dataViewProtoFuncSetInt16):
      (JSC::dataViewProtoFuncSetInt32):
      (JSC::dataViewProtoFuncSetUint8):
      (JSC::dataViewProtoFuncSetUint16):
      (JSC::dataViewProtoFuncSetUint32):
      (JSC::dataViewProtoFuncSetFloat32):
      (JSC::dataViewProtoFuncSetFloat64):
      * runtime/JSDataViewPrototype.h: Added.
      * runtime/JSFloat32Array.h: Added.
      * runtime/JSFloat64Array.h: Added.
      * runtime/JSGenericTypedArrayView.h: Added.
      (JSC::JSGenericTypedArrayView::byteLength):
      (JSC::JSGenericTypedArrayView::byteSize):
      (JSC::JSGenericTypedArrayView::typedVector):
      (JSC::JSGenericTypedArrayView::canGetIndexQuickly):
      (JSC::JSGenericTypedArrayView::canSetIndexQuickly):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsNativeValue):
      (JSC::JSGenericTypedArrayView::getIndexQuicklyAsDouble):
      (JSC::JSGenericTypedArrayView::getIndexQuickly):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToNativeValue):
      (JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
      (JSC::JSGenericTypedArrayView::setIndexQuickly):
      (JSC::JSGenericTypedArrayView::canAccessRangeQuickly):
      (JSC::JSGenericTypedArrayView::typedImpl):
      (JSC::JSGenericTypedArrayView::createStructure):
      (JSC::JSGenericTypedArrayView::info):
      (JSC::toNativeTypedView):
      * runtime/JSGenericTypedArrayViewConstructor.h: Added.
      * runtime/JSGenericTypedArrayViewConstructorInlines.h: Added.
      (JSC::::JSGenericTypedArrayViewConstructor):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      (JSC::constructGenericTypedArrayView):
      (JSC::::getConstructData):
      (JSC::::getCallData):
      * runtime/JSGenericTypedArrayViewInlines.h: Added.
      (JSC::::JSGenericTypedArrayView):
      (JSC::::create):
      (JSC::::createUninitialized):
      (JSC::::validateRange):
      (JSC::::setWithSpecificType):
      (JSC::::set):
      (JSC::::getOwnPropertySlot):
      (JSC::::getOwnPropertyDescriptor):
      (JSC::::put):
      (JSC::::defineOwnProperty):
      (JSC::::deleteProperty):
      (JSC::::getOwnPropertySlotByIndex):
      (JSC::::putByIndex):
      (JSC::::deletePropertyByIndex):
      (JSC::::getOwnNonIndexPropertyNames):
      (JSC::::getOwnPropertyNames):
      (JSC::::visitChildren):
      (JSC::::copyBackingStore):
      (JSC::::slowDownAndWasteMemory):
      (JSC::::getTypedArrayImpl):
      * runtime/JSGenericTypedArrayViewPrototype.h: Added.
      * runtime/JSGenericTypedArrayViewPrototypeInlines.h: Added.
      (JSC::genericTypedArrayViewProtoFuncSet):
      (JSC::genericTypedArrayViewProtoFuncSubarray):
      (JSC::::JSGenericTypedArrayViewPrototype):
      (JSC::::finishCreation):
      (JSC::::create):
      (JSC::::createStructure):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::arrayBufferPrototype):
      (JSC::JSGlobalObject::arrayBufferStructure):
      (JSC::JSGlobalObject::typedArrayStructure):
      * runtime/JSInt16Array.h: Added.
      * runtime/JSInt32Array.h: Added.
      * runtime/JSInt8Array.h: Added.
      * runtime/JSTypedArrayConstructors.cpp: Added.
      * runtime/JSTypedArrayConstructors.h: Added.
      * runtime/JSTypedArrayPrototypes.cpp: Added.
      * runtime/JSTypedArrayPrototypes.h: Added.
      * runtime/JSTypedArrays.cpp: Added.
      * runtime/JSTypedArrays.h: Added.
      * runtime/JSUint16Array.h: Added.
      * runtime/JSUint32Array.h: Added.
      * runtime/JSUint8Array.h: Added.
      * runtime/JSUint8ClampedArray.h: Added.
      * runtime/Operations.h:
      * runtime/Options.h:
      * runtime/SimpleTypedArrayController.cpp: Added.
      (JSC::SimpleTypedArrayController::SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::~SimpleTypedArrayController):
      (JSC::SimpleTypedArrayController::toJS):
      * runtime/SimpleTypedArrayController.h: Added.
      * runtime/Structure.h:
      (JSC::Structure::couldHaveIndexingHeader):
      * runtime/StructureInlines.h:
      (JSC::Structure::hasIndexingHeader):
      * runtime/TypedArrayAdaptors.h: Added.
      (JSC::IntegralTypedArrayAdaptor::toNative):
      (JSC::IntegralTypedArrayAdaptor::toJSValue):
      (JSC::IntegralTypedArrayAdaptor::toDouble):
      (JSC::FloatTypedArrayAdaptor::toNative):
      (JSC::FloatTypedArrayAdaptor::toJSValue):
      (JSC::FloatTypedArrayAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::toNative):
      (JSC::Uint8ClampedAdaptor::toJSValue):
      (JSC::Uint8ClampedAdaptor::toDouble):
      (JSC::Uint8ClampedAdaptor::clamp):
      * runtime/TypedArrayController.cpp: Added.
      (JSC::TypedArrayController::TypedArrayController):
      (JSC::TypedArrayController::~TypedArrayController):
      * runtime/TypedArrayController.h: Added.
      * runtime/TypedArrayDescriptor.h: Removed.
      * runtime/TypedArrayInlines.h: Added.
      * runtime/TypedArrayType.cpp: Added.
      (JSC::classInfoForType):
      (WTF::printInternal):
      * runtime/TypedArrayType.h: Added.
      (JSC::toIndex):
      (JSC::isTypedView):
      (JSC::elementSize):
      (JSC::isInt):
      (JSC::isFloat):
      (JSC::isSigned):
      (JSC::isClamped):
      * runtime/TypedArrays.h: Added.
      * runtime/Uint16Array.h:
      * runtime/Uint32Array.h:
      * runtime/Uint8Array.h:
      * runtime/Uint8ClampedArray.h:
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::~VM):
      * runtime/VM.h:
      
      Source/WebCore: 
      
      Reviewed by Oliver Hunt.
      
      Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
      client of them. There is only one layering violation: WebCore installs a
      WebCoreTypedArrayController on VM, which makes the
      ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
      JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
      alive but if ArrayBuffer is kept alive from native code then the
      JSArrayByffer may die. WebCoreTypedArrayController will keep the
      JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
              
      To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
      changed to make most references to wrappers refer to JSObject* rather than
      JSDOMWrapper*.
              
      Array buffer views are now transient; the JS array buffer view wrappers
      don't own them or keep them alive. This required a bunch of changes to make
      bindings code use RefPtr<ArrayBufferView> to hold onto their views.
              
      Also there is a bunch of new code to make JSC-provided array buffers and
      views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
              
      Finally, the DataView API is now completely different: the JSDataView
      provides the same user-visible JS API but using its own internal magic; the
      C++ code that uses DataView now uses a rather different API that is not
      aware of usual DOM semantics, since it's in JSC and not WebCore. It's
      equally useful for all of WebCore's purposes, but some code had to change
      to adapt the new conventions.
              
      Some tests have been changed or rebased due to changes in behavior, that
      bring us into conformance with where the standards are going and allow us to
      match Firefox behavior.
      
      Automake work and some additional GTK changes courtesy of
      Zan Dobersek <zdobersek@igalia.com>.
              
      Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * ForwardingHeaders/runtime/DataView.h: Added.
      * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
      * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
      * ForwardingHeaders/runtime/JSDataView.h: Added.
      * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
      * ForwardingHeaders/runtime/TypedArrayController.h: Added.
      * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
      * ForwardingHeaders/runtime/TypedArrays.h: Added.
      * GNUmakefile.list.am:
      * Modules/webaudio/RealtimeAnalyser.h:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/DOMWrapperWorld.h:
      * bindings/js/JSArrayBufferCustom.cpp: Removed.
      * bindings/js/JSArrayBufferViewHelper.h: Removed.
      * bindings/js/JSAudioContextCustom.cpp:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSBlobCustom.cpp:
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCSSValueCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSCryptoCustom.cpp:
      (WebCore::JSCrypto::getRandomValues):
      * bindings/js/JSDOMBinding.h:
      (WebCore::wrapperOwner):
      (WebCore::wrapperContext):
      (WebCore::getInlineCachedWrapper):
      (WebCore::setInlineCachedWrapper):
      (WebCore::clearInlineCachedWrapper):
      (WebCore::getCachedWrapper):
      (WebCore::cacheWrapper):
      (WebCore::uncacheWrapper):
      (WebCore::wrap):
      (WebCore::toJS):
      (WebCore::toArrayBufferView):
      (WebCore::toInt8Array):
      (WebCore::toInt16Array):
      (WebCore::toInt32Array):
      (WebCore::toUint8Array):
      (WebCore::toUint8ClampedArray):
      (WebCore::toUint16Array):
      (WebCore::toUint32Array):
      (WebCore::toFloat32Array):
      (WebCore::toFloat64Array):
      (WebCore::toDataView):
      * bindings/js/JSDataViewCustom.cpp: Removed.
      * bindings/js/JSDictionary.cpp:
      * bindings/js/JSDictionary.h:
      * bindings/js/JSDocumentCustom.cpp:
      (WebCore::JSDocument::location):
      (WebCore::toJS):
      * bindings/js/JSEventCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSFileReaderCustom.cpp:
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSHTMLTemplateElementCustom.cpp:
      (WebCore::JSHTMLTemplateElement::content):
      * bindings/js/JSImageDataCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      * bindings/js/JSMessageEventCustom.cpp:
      * bindings/js/JSMessagePortCustom.cpp:
      * bindings/js/JSSVGPathSegCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSStyleSheetCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSTrackCustom.cpp:
      (WebCore::toJS):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::send):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::SerializedScriptValue::transferArrayBuffers):
      * bindings/js/WebCoreJSClientData.h:
      (WebCore::initNormalWorldClientData):
      * bindings/js/WebCoreTypedArrayController.cpp: Added.
      (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
      (WebCore::WebCoreTypedArrayController::toJS):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
      (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
      * bindings/js/WebCoreTypedArrayController.h: Added.
      (WebCore::WebCoreTypedArrayController::wrapperOwner):
      * bindings/scripts/CodeGenerator.pm:
      (ForAllParents):
      (ParseInterface):
      (SkipIncludeHeader):
      (IsTypedArrayType):
      (IsWrapperType):
      * bindings/scripts/CodeGeneratorJS.pm:
      (AddIncludesForType):
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateParametersCheck):
      (GetNativeType):
      (JSValueToNative):
      (NativeToJSValue):
      (GenerateConstructorDefinition):
      (GenerateConstructorHelperMethods):
      * fileapi/WebKitBlobBuilder.cpp:
      (WebCore::BlobBuilder::append):
      * fileapi/WebKitBlobBuilder.h:
      * html/canvas/ArrayBuffer.idl: Removed.
      * html/canvas/ArrayBufferView.idl: Removed.
      * html/canvas/DataView.cpp: Removed.
      * html/canvas/DataView.h: Removed.
      * html/canvas/DataView.idl: Removed.
      * html/canvas/Float32Array.idl: Removed.
      * html/canvas/Float64Array.idl: Removed.
      * html/canvas/Int16Array.idl: Removed.
      * html/canvas/Int32Array.idl: Removed.
      * html/canvas/Int8Array.idl: Removed.
      * html/canvas/Uint16Array.idl: Removed.
      * html/canvas/Uint32Array.idl: Removed.
      * html/canvas/Uint8Array.idl: Removed.
      * html/canvas/Uint8ClampedArray.idl: Removed.
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::readPixels):
      (WebCore::WebGLRenderingContext::validateTexFuncData):
      * page/Crypto.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
      * platform/graphics/filters/FECustomFilter.h:
      * platform/graphics/filters/FEGaussianBlur.cpp:
      * platform/graphics/filters/FilterEffect.cpp:
      * testing/MockCDM.cpp:
      
      Source/WebKit2: 
      
      Reviewed by Oliver Hunt.
              
      You don't need to include JSUint8Array anymore if you just want to
      unwrap one; JSDOMBinding gives you all of the things you need.
      
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      
      Source/WTF: 
      
      Reviewed by Oliver Hunt.
              
      - Added the notion of a reference counted object that can be marked Deferred,
        which is like a special-purpose upref.
              
      - Added a common byte flipper.
      
      Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>.
      
      * GNUmakefile.list.am:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/DeferrableRefCounted.h: Added.
      (WTF::DeferrableRefCountedBase::ref):
      (WTF::DeferrableRefCountedBase::hasOneRef):
      (WTF::DeferrableRefCountedBase::refCount):
      (WTF::DeferrableRefCountedBase::isDeferred):
      (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase):
      (WTF::DeferrableRefCountedBase::derefBase):
      (WTF::DeferrableRefCountedBase::setIsDeferredBase):
      (WTF::DeferrableRefCounted::deref):
      (WTF::DeferrableRefCounted::setIsDeferred):
      (WTF::DeferrableRefCounted::DeferrableRefCounted):
      (WTF::DeferrableRefCounted::~DeferrableRefCounted):
      * wtf/FlipBytes.h: Added.
      (WTF::needToFlipBytesIfLittleEndian):
      (WTF::flipBytes):
      (WTF::flipBytesIfLittleEndian):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/canvas/webgl/array-set-invalid-arguments-expected.txt:
      * fast/canvas/webgl/array-set-out-of-bounds-expected.txt:
      * fast/canvas/webgl/array-unit-tests-expected.txt:
      * fast/canvas/webgl/array-unit-tests.html:
      * fast/canvas/webgl/data-view-crash-expected.txt:
      * fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js:
      (checkView):
      * fast/dom/call-a-constructor-as-a-function-expected.txt:
      * fast/dom/call-a-constructor-as-a-function.html:
      * fast/js/constructor-length.html:
      * fast/js/global-constructors-attributes-dedicated-worker-expected.txt:
      * fast/js/global-constructors-attributes-expected.txt:
      * fast/js/global-constructors-attributes-shared-worker-expected.txt:
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html: Added.
      * fast/js/regress/ArrayBuffer-Int8Array-alloc.html: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-Int8Array-view-alloc.html: Added.
      * fast/js/regress/Int32Array-alloc-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-huge-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-huge.html: Added.
      * fast/js/regress/Int32Array-alloc-large-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-large-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc-large.html: Added.
      * fast/js/regress/Int32Array-alloc-long-lived-expected.txt: Added.
      * fast/js/regress/Int32Array-alloc-long-lived.html: Added.
      * fast/js/regress/Int32Array-alloc.html: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived-buffer.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/ArrayBuffer-Int8Array-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-Int8Array-view-alloc.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-huge.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-large.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc-long-lived.js: Added.
      * fast/js/regress/script-tests/Int32Array-alloc.js: Added.
      * platform/mac/fast/js/constructor-length-expected.txt:
      * webgl/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
      * webgl/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e0d9312