haikuwebkit/Source/WTF/wtf/Ref.h

334 lines
9.5 KiB
C
Raw Permalink Normal View History

/*
* Copyright (C) 2013-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
Use pragma once in WTF https://bugs.webkit.org/show_bug.cgi?id=190527 Reviewed by Chris Dumez. Source/WTF: We also need to consistently include wtf headers from within wtf so we can build wtf without symbol redefinition errors from including the copy in Source and the copy in the build directory. * wtf/ASCIICType.h: * wtf/Assertions.cpp: * wtf/Assertions.h: * wtf/Atomics.h: * wtf/AutomaticThread.cpp: * wtf/AutomaticThread.h: * wtf/BackwardsGraph.h: * wtf/Bag.h: * wtf/BagToHashMap.h: * wtf/BitVector.cpp: * wtf/BitVector.h: * wtf/Bitmap.h: * wtf/BloomFilter.h: * wtf/Box.h: * wtf/BubbleSort.h: * wtf/BumpPointerAllocator.h: * wtf/ByteOrder.h: * wtf/CPUTime.cpp: * wtf/CallbackAggregator.h: * wtf/CheckedArithmetic.h: * wtf/CheckedBoolean.h: * wtf/ClockType.cpp: * wtf/ClockType.h: * wtf/CommaPrinter.h: * wtf/CompilationThread.cpp: * wtf/CompilationThread.h: * wtf/Compiler.h: * wtf/ConcurrentPtrHashSet.cpp: * wtf/ConcurrentVector.h: * wtf/Condition.h: * wtf/CountingLock.cpp: * wtf/CrossThreadTaskHandler.cpp: * wtf/CryptographicUtilities.cpp: * wtf/CryptographicUtilities.h: * wtf/CryptographicallyRandomNumber.cpp: * wtf/CryptographicallyRandomNumber.h: * wtf/CurrentTime.cpp: * wtf/DataLog.cpp: * wtf/DataLog.h: * wtf/DateMath.cpp: * wtf/DateMath.h: * wtf/DecimalNumber.cpp: * wtf/DecimalNumber.h: * wtf/Deque.h: * wtf/DisallowCType.h: * wtf/Dominators.h: * wtf/DoublyLinkedList.h: * wtf/FastBitVector.cpp: * wtf/FastMalloc.cpp: * wtf/FastMalloc.h: * wtf/FeatureDefines.h: * wtf/FilePrintStream.cpp: * wtf/FilePrintStream.h: * wtf/FlipBytes.h: * wtf/FunctionDispatcher.cpp: * wtf/FunctionDispatcher.h: * wtf/GetPtr.h: * wtf/Gigacage.cpp: * wtf/GlobalVersion.cpp: * wtf/GraphNodeWorklist.h: * wtf/GregorianDateTime.cpp: * wtf/GregorianDateTime.h: * wtf/HashFunctions.h: * wtf/HashMap.h: * wtf/HashMethod.h: * wtf/HashSet.h: * wtf/HashTable.cpp: * wtf/HashTraits.h: * wtf/Indenter.h: * wtf/IndexSparseSet.h: * wtf/InlineASM.h: * wtf/Insertion.h: * wtf/IteratorAdaptors.h: * wtf/IteratorRange.h: * wtf/JSONValues.cpp: * wtf/JSValueMalloc.cpp: * wtf/LEBDecoder.h: * wtf/Language.cpp: * wtf/ListDump.h: * wtf/Lock.cpp: * wtf/Lock.h: * wtf/LockAlgorithm.h: * wtf/LockedPrintStream.cpp: * wtf/Locker.h: * wtf/MD5.cpp: * wtf/MD5.h: * wtf/MainThread.cpp: * wtf/MainThread.h: * wtf/MallocPtr.h: * wtf/MathExtras.h: * wtf/MediaTime.cpp: * wtf/MediaTime.h: * wtf/MemoryPressureHandler.cpp: * wtf/MessageQueue.h: * wtf/MetaAllocator.cpp: * wtf/MetaAllocator.h: * wtf/MetaAllocatorHandle.h: * wtf/MonotonicTime.cpp: * wtf/MonotonicTime.h: * wtf/NakedPtr.h: * wtf/NoLock.h: * wtf/NoTailCalls.h: * wtf/Noncopyable.h: * wtf/NumberOfCores.cpp: * wtf/NumberOfCores.h: * wtf/OSAllocator.h: * wtf/OSAllocatorPosix.cpp: * wtf/OSRandomSource.cpp: * wtf/OSRandomSource.h: * wtf/ObjcRuntimeExtras.h: * wtf/OrderMaker.h: * wtf/PackedIntVector.h: * wtf/PageAllocation.h: * wtf/PageBlock.cpp: * wtf/PageBlock.h: * wtf/PageReservation.h: * wtf/ParallelHelperPool.cpp: * wtf/ParallelHelperPool.h: * wtf/ParallelJobs.h: * wtf/ParallelJobsLibdispatch.h: * wtf/ParallelVectorIterator.h: * wtf/ParkingLot.cpp: * wtf/ParkingLot.h: * wtf/Platform.h: * wtf/PointerComparison.h: * wtf/Poisoned.cpp: * wtf/PrintStream.cpp: * wtf/PrintStream.h: * wtf/ProcessID.h: * wtf/ProcessPrivilege.cpp: * wtf/RAMSize.cpp: * wtf/RAMSize.h: * wtf/RandomDevice.cpp: * wtf/RandomNumber.cpp: * wtf/RandomNumber.h: * wtf/RandomNumberSeed.h: * wtf/RangeSet.h: * wtf/RawPointer.h: * wtf/ReadWriteLock.cpp: * wtf/RedBlackTree.h: * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefCountedLeakCounter.cpp: * wtf/RefCountedLeakCounter.h: * wtf/RefCounter.h: * wtf/RefPtr.h: * wtf/RetainPtr.h: * wtf/RunLoop.cpp: * wtf/RunLoop.h: * wtf/RunLoopTimer.h: * wtf/RunLoopTimerCF.cpp: * wtf/SHA1.cpp: * wtf/SHA1.h: * wtf/SaturatedArithmetic.h: (saturatedSubtraction): * wtf/SchedulePair.h: * wtf/SchedulePairCF.cpp: * wtf/SchedulePairMac.mm: * wtf/ScopedLambda.h: * wtf/Seconds.cpp: * wtf/Seconds.h: * wtf/SegmentedVector.h: * wtf/SentinelLinkedList.h: * wtf/SharedTask.h: * wtf/SimpleStats.h: * wtf/SingleRootGraph.h: * wtf/SinglyLinkedList.h: * wtf/SixCharacterHash.cpp: * wtf/SixCharacterHash.h: * wtf/SmallPtrSet.h: * wtf/Spectrum.h: * wtf/StackBounds.cpp: * wtf/StackBounds.h: * wtf/StackStats.cpp: * wtf/StackStats.h: * wtf/StackTrace.cpp: * wtf/StdLibExtras.h: * wtf/StreamBuffer.h: * wtf/StringHashDumpContext.h: * wtf/StringPrintStream.cpp: * wtf/StringPrintStream.h: * wtf/ThreadGroup.cpp: * wtf/ThreadMessage.cpp: * wtf/ThreadSpecific.h: * wtf/Threading.cpp: * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: * wtf/TimeWithDynamicClockType.cpp: * wtf/TimeWithDynamicClockType.h: * wtf/TimingScope.cpp: * wtf/TinyLRUCache.h: * wtf/TinyPtrSet.h: * wtf/TriState.h: * wtf/TypeCasts.h: * wtf/UUID.cpp: * wtf/UnionFind.h: * wtf/VMTags.h: * wtf/ValueCheck.h: * wtf/Vector.h: * wtf/VectorTraits.h: * wtf/WallTime.cpp: * wtf/WallTime.h: * wtf/WeakPtr.h: * wtf/WeakRandom.h: * wtf/WordLock.cpp: * wtf/WordLock.h: * wtf/WorkQueue.cpp: * wtf/WorkQueue.h: * wtf/WorkerPool.cpp: * wtf/cf/LanguageCF.cpp: * wtf/cf/RunLoopCF.cpp: * wtf/cocoa/Entitlements.mm: * wtf/cocoa/MachSendRight.cpp: * wtf/cocoa/MainThreadCocoa.mm: * wtf/cocoa/MemoryFootprintCocoa.cpp: * wtf/cocoa/WorkQueueCocoa.cpp: * wtf/dtoa.cpp: * wtf/dtoa.h: * wtf/ios/WebCoreThread.cpp: * wtf/ios/WebCoreThread.h: * wtf/mac/AppKitCompatibilityDeclarations.h: * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: * wtf/mbmalloc.cpp: * wtf/persistence/PersistentCoders.cpp: * wtf/persistence/PersistentDecoder.cpp: * wtf/persistence/PersistentEncoder.cpp: * wtf/spi/cf/CFBundleSPI.h: * wtf/spi/darwin/CommonCryptoSPI.h: * wtf/text/ASCIIFastPath.h: * wtf/text/ASCIILiteral.cpp: * wtf/text/AtomicString.cpp: * wtf/text/AtomicString.h: * wtf/text/AtomicStringHash.h: * wtf/text/AtomicStringImpl.cpp: * wtf/text/AtomicStringImpl.h: * wtf/text/AtomicStringTable.cpp: * wtf/text/AtomicStringTable.h: * wtf/text/Base64.cpp: * wtf/text/CString.cpp: * wtf/text/CString.h: * wtf/text/ConversionMode.h: * wtf/text/ExternalStringImpl.cpp: * wtf/text/IntegerToStringConversion.h: * wtf/text/LChar.h: * wtf/text/LineEnding.cpp: * wtf/text/StringBuffer.h: * wtf/text/StringBuilder.cpp: * wtf/text/StringBuilder.h: * wtf/text/StringBuilderJSON.cpp: * wtf/text/StringCommon.h: * wtf/text/StringConcatenate.h: * wtf/text/StringHash.h: * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: * wtf/text/StringOperators.h: * wtf/text/StringView.cpp: * wtf/text/StringView.h: * wtf/text/SymbolImpl.cpp: * wtf/text/SymbolRegistry.cpp: * wtf/text/SymbolRegistry.h: * wtf/text/TextBreakIterator.cpp: * wtf/text/TextBreakIterator.h: * wtf/text/TextBreakIteratorInternalICU.h: * wtf/text/TextPosition.h: * wtf/text/TextStream.cpp: * wtf/text/UniquedStringImpl.h: * wtf/text/WTFString.cpp: * wtf/text/WTFString.h: * wtf/text/cocoa/StringCocoa.mm: * wtf/text/cocoa/StringViewCocoa.mm: * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: * wtf/text/icu/UTextProvider.cpp: * wtf/text/icu/UTextProvider.h: * wtf/text/icu/UTextProviderLatin1.cpp: * wtf/text/icu/UTextProviderLatin1.h: * wtf/text/icu/UTextProviderUTF16.cpp: * wtf/text/icu/UTextProviderUTF16.h: * wtf/threads/BinarySemaphore.cpp: * wtf/threads/BinarySemaphore.h: * wtf/threads/Signals.cpp: * wtf/unicode/CharacterNames.h: * wtf/unicode/Collator.h: * wtf/unicode/CollatorDefault.cpp: * wtf/unicode/UTF8.cpp: * wtf/unicode/UTF8.h: Tools: Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue. * DumpRenderTree/TestRunner.cpp: (TestRunner::queueLoadHTMLString): (TestRunner::queueLoadAlternateHTMLString): (TestRunner::queueBackNavigation): (TestRunner::queueForwardNavigation): (TestRunner::queueLoadingScript): (TestRunner::queueNonLoadingScript): (TestRunner::queueReload): * DumpRenderTree/WorkQueue.cpp: (WorkQueue::singleton): Deleted. (WorkQueue::WorkQueue): Deleted. (WorkQueue::queue): Deleted. (WorkQueue::dequeue): Deleted. (WorkQueue::count): Deleted. (WorkQueue::clear): Deleted. (WorkQueue::processWork): Deleted. * DumpRenderTree/WorkQueue.h: (WorkQueue::setFrozen): Deleted. * DumpRenderTree/WorkQueueItem.h: * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): * DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate processWork:]): (-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): * DumpRenderTree/win/DumpRenderTree.cpp: (runTest): * DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::processWork): (FrameLoadDelegate::locationChangeDone): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): Canonical link: https://commits.webkit.org/205473@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-15 14:24:49 +00:00
#pragma once
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
#include <wtf/Assertions.h>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
#include <wtf/Forward.h>
Allow DOM methods to return references instead of pointers https://bugs.webkit.org/show_bug.cgi?id=136931 Source/WebCore: Reviewed by Sam Weinig. It is common practice in WebKit to have methods return a reference instead of a pointer if the pointer can never be null. However, this unfortunately did not work for DOM methods (functions called by JS bindings). This prevented further refactoring. This patch brings support for having DOM methods to return references instead of pointers when the pointer cannot be null. The generated bindings were calling WTF::getPtr() on the pointer type returned by the implementation already (in case it was a smart pointer type). This patch leverages this by having WTF::getPtr() convert reference arguments into raw pointers. This patch also updates a few DOM methods on Document and Element classes to return a reference instead of a pointer, to test the change. There are likely more DOM methods that can be updated though. No new tests, no behavior change. * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::classList): * bindings/js/JSDOMBinding.h: (WTF::getPtr): Deleted. * dom/Document.cpp: (WebCore::Document::implementation): (WebCore::Document::webkitGetNamedFlows): (WebCore::Document::namedFlows): (WebCore::Document::setXMLVersion): (WebCore::Document::setXMLStandalone): (WebCore::Document::securityPolicy): (WebCore::Document::styleSheets): * dom/Document.h: (WebCore::Document::timing): * dom/Element.cpp: (WebCore::Element::classList): (WebCore::Element::dataset): * dom/Element.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlPanelElement::setPosition): (WebCore::MediaControlPanelElement::resetPosition): (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): * html/track/VTTRegion.cpp: (WebCore::VTTRegion::displayLastTextTrackCueBox): (WebCore::VTTRegion::willRemoveTextTrackCueBox): * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::getAllStyleSheets): (WebCore::InspectorCSSAgent::getNamedFlowCollection): * page/PerformanceTiming.cpp: (WebCore::PerformanceTiming::documentTiming): * rendering/FlowThreadController.cpp: (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Source/WTF: Add support for having WTF::getPtr() transform reference arguments into raw pointers so that DOM methods can now return references when appropriate and so that the generated bindings code can handle this via WTF::getPtr(). This patch had to alter the way getPtr() was overloaded for smart pointer types so that we don't call &p on smart pointers but p.get(). This was needed because the new WTF::getPtr(T&) was being called for RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload. This was addressed using traits and template specialization to distinguish WTF smart pointers from other types. Reviewed by Sam Weinig. * wtf/GetPtr.h: (WTF::getPtr): * wtf/OwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassOwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassRefPtr.h: (WTF::getPtr): Deleted. * wtf/Ref.h: * wtf/RefPtr.h: (WTF::getPtr): Deleted. * wtf/gobject/GRefPtr.h: (WTF::getPtr): Deleted. Canonical link: https://commits.webkit.org/154769@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-19 18:33:16 +00:00
#include <wtf/GetPtr.h>
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
#include <wtf/RawPtrTraits.h>
#include <wtf/StdLibExtras.h>
Improve compile-time assertions in is<>() / downcast<>() https://bugs.webkit.org/show_bug.cgi?id=157817 Reviewed by Darin Adler. Source/WebCore: Add missing includes and drop unnecessary is<WebVTTElement>() check in SharingResolver::canShareStyleWithElement() that was identified by the new assertions. WebVTTElement inherits Element but the check was done on a StyledElement. * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilitySVGElement.cpp: * css/CSSDefaultStyleSheets.cpp: * css/CSSParser.cpp: * css/CSSStyleSheet.cpp: * css/StyleResolver.cpp: * cssjit/SelectorCompiler.cpp: * dom/Document.cpp: * dom/Element.cpp: * dom/Node.cpp: * dom/Position.cpp: * editing/ApplyStyleCommand.cpp: * editing/FrameSelection.cpp: * editing/ReplaceSelectionCommand.cpp: * editing/TextIterator.cpp: * editing/VisiblePosition.cpp: * editing/VisibleUnits.cpp: * editing/cocoa/HTMLConverter.mm: * editing/htmlediting.cpp: * editing/markup.cpp: * html/GenericCachedHTMLCollection.cpp: * html/HTMLBodyElement.cpp: * html/HTMLFormElement.cpp: * html/HTMLLIElement.cpp: * html/HTMLNameCollection.cpp: * html/HTMLSelectElement.cpp: * html/parser/HTMLTreeBuilder.cpp: * inspector/InspectorDOMAgent.cpp: * inspector/InspectorStyleSheet.cpp: * loader/SubframeLoader.cpp: * loader/archive/cf/LegacyWebArchive.cpp: * mathml/MathMLElement.cpp: * page/EventHandler.cpp: * page/FrameView.cpp: * page/PageSerializer.cpp: * page/SpatialNavigation.cpp: * page/mac/EventHandlerMac.mm: * rendering/HitTestResult.cpp: * rendering/RenderBlockFlow.cpp: * rendering/RenderBox.cpp: * rendering/RenderBoxModelObject.cpp: * rendering/RenderElement.cpp: * rendering/RenderFieldset.cpp: * rendering/RenderLayer.cpp: * rendering/svg/RenderSVGTransformableContainer.cpp: * style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement): * svg/SVGAnimationElement.cpp: * svg/SVGFELightElement.cpp: * svg/SVGTextPositioningElement.cpp: Source/WebKit2: Add missing includes. * WebProcess/WebPage/WebFrame.cpp: * WebProcess/WebPage/WebPage.cpp: Source/WTF: * wtf/Ref.h: (WTF::is): Add is<>() overloads taking a Ref<>() so that is<>() keeps working when passing a Ref<>(), despite the new static assertions on the input type. Some call sites were already leveraging this as it was working by implicitly converting the Ref<T> into a T&. * wtf/TypeCasts.h: (WTF::is): (WTF::downcast): Make static assertions stricter in is<>() / downcast<>() to catch more cases where those are either unnecessary or incorrect. Canonical link: https://commits.webkit.org/176050@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-20 01:50:51 +00:00
#include <wtf/TypeCasts.h>
#if ASAN_ENABLED
extern "C" void __asan_poison_memory_region(void const volatile *addr, size_t size);
extern "C" void __asan_unpoison_memory_region(void const volatile *addr, size_t size);
extern "C" int __asan_address_is_poisoned(void const volatile *addr);
#endif
namespace WTF {
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
inline void adopted(const void*) { }
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename PtrTraits> class Ref;
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
template<typename T, typename PtrTraits = RawPtrTraits<T>> Ref<T, PtrTraits> adoptRef(T&);
Add PassRef and createRefCounted so we can improve creation of RefCounted objects https://bugs.webkit.org/show_bug.cgi?id=122904 Reviewed by Anders Carlsson. Source/WTF: * GNUmakefile.list.am: Added PassRef.h. * WTF.vcxproj/WTF.vcxproj: Ditto. * WTF.vcxproj/WTF.vcxproj.filters: Ditto. * WTF.xcodeproj/project.pbxproj: Ditto. * wtf/CMakeLists.txt: Ditto. * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what the style-checking script expects. * wtf/PassRef.h: Added. Includes the createRefCounted function template, which is analogous to make_unique, but is for reference counted objects, and also assumes that new will never return null. Also includes an overload of adoptRef that takes a reference rather than a pointer. * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function. Got rid of declarations that duplicate ones in there. (WTF::refIfNotNull): Use nullptr. (WTF::derefIfNotNull): Use nullptr. (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef. (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion. (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead of an unused boolean. (WTF::PassRefPtr::leakRef): Use nullptr. (WTF::adoptRef): Use the adopt tag. * wtf/Ref.h: Use Noncopyable instead of rolling our own. (WTF::Ref::Ref): Add an overload that takes a PassRef. (WTF::Ref::operator=): Ditto. * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr. (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef. (WTF::RefPtr::release): Use nullptr. (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::RefPtr::operator=): Added overload that takes a PassRef. (WTF::RefPtr::clear): Use nullptr. * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay, reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these were missing before. Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: Added some basic tests for adoptRef and PassRef. Canonical link: https://commits.webkit.org/140983@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-10-16 17:18:05 +00:00
[WTF] AtomStringTable should be small https://bugs.webkit.org/show_bug.cgi?id=206400 Reviewed by Sam Weinig. Source/WebCore: * dom/GCReachableRef.h: (WebCore::GCReachableRef::GCReachableRef): * dom/QualifiedName.h: (WebCore::QualifiedName::hashTableDeletedValue): Source/WTF: AtomStringTable is the largest hashtable typically. It takes more than 256KB per WebProcess (sometimes, it took 1MB or more). This patch leverages PackedPtr to compact it from 8 bytes per entry to 6 bytes per entry. While this is still large, we should investigate how to compact C++ pointers in 4 bytes[1] to shrink memory footprint, since WebKit memory is used by Vector and HashTable fulfilled with pointers. [1]: https://bugs.webkit.org/show_bug.cgi?id=206469 * wtf/DumbPtrTraits.h: (WTF::DumbPtrTraits::hashTableDeletedValue): (WTF::DumbPtrTraits::isHashTableDeletedValue): * wtf/Forward.h: * wtf/HashTraits.h: * wtf/Packed.h: (WTF::Packed<T::Packed): (WTF::Packed<T::isHashTableDeletedValue const): (WTF::GetPtrHelper<PackedPtr<T>>::getPtr): (WTF::PackedPtrTraits::hashTableDeletedValue): (WTF::PackedPtrTraits::isHashTableDeletedValue): (WTF::alignof): Deleted. * wtf/Ref.h: (WTF::Ref::Ref): (WTF::Ref::isHashTableDeletedValue const): (WTF::Ref::hashTableDeletedValue): Deleted. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::isHashTableDeletedValue const): (WTF::RefPtr::hashTableDeletedValue): Deleted. * wtf/text/AtomStringImpl.cpp: (WTF::addToStringTable): (WTF::CStringTranslator::equal): (WTF::CStringTranslator::translate): (WTF::UCharBufferTranslator::equal): (WTF::UCharBufferTranslator::translate): (WTF::HashAndUTF8CharactersTranslator::equal): (WTF::HashAndUTF8CharactersTranslator::translate): (WTF::SubstringTranslator::translate): (WTF::SubstringTranslator8::equal): (WTF::SubstringTranslator16::equal): (WTF::LCharBufferTranslator::equal): (WTF::LCharBufferTranslator::translate): (WTF::BufferFromStaticDataTranslator::equal): (WTF::BufferFromStaticDataTranslator::translate): (WTF::AtomStringImpl::addSlowCase): (WTF::AtomStringImpl::remove): (WTF::AtomStringImpl::lookUpSlowCase): (WTF::AtomStringImpl::lookUp): * wtf/text/AtomStringTable.cpp: (WTF::AtomStringTable::~AtomStringTable): * wtf/text/AtomStringTable.h: (WTF::AtomStringTable::table): (): Deleted. * wtf/text/StringHash.h: (WTF::StringHash::hash): (WTF::StringHash::equal): (WTF::ASCIICaseInsensitiveHash::hash): (WTF::ASCIICaseInsensitiveHash::equal): * wtf/text/StringImpl.h: Tools: * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Packed.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/219616@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-21 22:05:43 +00:00
template<typename T, typename Traits>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
class Ref {
public:
[WTF] AtomStringTable should be small https://bugs.webkit.org/show_bug.cgi?id=206400 Reviewed by Sam Weinig. Source/WebCore: * dom/GCReachableRef.h: (WebCore::GCReachableRef::GCReachableRef): * dom/QualifiedName.h: (WebCore::QualifiedName::hashTableDeletedValue): Source/WTF: AtomStringTable is the largest hashtable typically. It takes more than 256KB per WebProcess (sometimes, it took 1MB or more). This patch leverages PackedPtr to compact it from 8 bytes per entry to 6 bytes per entry. While this is still large, we should investigate how to compact C++ pointers in 4 bytes[1] to shrink memory footprint, since WebKit memory is used by Vector and HashTable fulfilled with pointers. [1]: https://bugs.webkit.org/show_bug.cgi?id=206469 * wtf/DumbPtrTraits.h: (WTF::DumbPtrTraits::hashTableDeletedValue): (WTF::DumbPtrTraits::isHashTableDeletedValue): * wtf/Forward.h: * wtf/HashTraits.h: * wtf/Packed.h: (WTF::Packed<T::Packed): (WTF::Packed<T::isHashTableDeletedValue const): (WTF::GetPtrHelper<PackedPtr<T>>::getPtr): (WTF::PackedPtrTraits::hashTableDeletedValue): (WTF::PackedPtrTraits::isHashTableDeletedValue): (WTF::alignof): Deleted. * wtf/Ref.h: (WTF::Ref::Ref): (WTF::Ref::isHashTableDeletedValue const): (WTF::Ref::hashTableDeletedValue): Deleted. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::isHashTableDeletedValue const): (WTF::RefPtr::hashTableDeletedValue): Deleted. * wtf/text/AtomStringImpl.cpp: (WTF::addToStringTable): (WTF::CStringTranslator::equal): (WTF::CStringTranslator::translate): (WTF::UCharBufferTranslator::equal): (WTF::UCharBufferTranslator::translate): (WTF::HashAndUTF8CharactersTranslator::equal): (WTF::HashAndUTF8CharactersTranslator::translate): (WTF::SubstringTranslator::translate): (WTF::SubstringTranslator8::equal): (WTF::SubstringTranslator16::equal): (WTF::LCharBufferTranslator::equal): (WTF::LCharBufferTranslator::translate): (WTF::BufferFromStaticDataTranslator::equal): (WTF::BufferFromStaticDataTranslator::translate): (WTF::AtomStringImpl::addSlowCase): (WTF::AtomStringImpl::remove): (WTF::AtomStringImpl::lookUpSlowCase): (WTF::AtomStringImpl::lookUp): * wtf/text/AtomStringTable.cpp: (WTF::AtomStringTable::~AtomStringTable): * wtf/text/AtomStringTable.h: (WTF::AtomStringTable::table): (): Deleted. * wtf/text/StringHash.h: (WTF::StringHash::hash): (WTF::StringHash::equal): (WTF::ASCIICaseInsensitiveHash::hash): (WTF::ASCIICaseInsensitiveHash::equal): * wtf/text/StringImpl.h: Tools: * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Packed.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/219616@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-21 22:05:43 +00:00
using PtrTraits = Traits;
DOMPromise should only restrict the resolution type https://bugs.webkit.org/show_bug.cgi?id=157307 Reviewed by Darin Adler. Source/WebCore: Removing from DOMPromise the rejection template parameter. Supported rejection types are integers (Exception codes) and DOM objects (DOMError typically). Updated DeferredWrapper to accept Ref<>&& and RefPtr<>&&. Relanding without touching JSDOMBinding.h as this seemed to be impacting performances. Changes also allow in most cases to remove the need for explictly declaring the rejection/resolution type. Minor refactoring of FontFaceSet promise handling to use DOMPromise in lieu of DeferredWrapper. Covered by existing tests. Changes should not be visible from user scripts. * Modules/fetch/FetchBody.cpp: (WebCore::FetchBody::consume): (WebCore::FetchBody::consumeText): (WebCore::blobFromArrayBuffer): (WebCore::FetchBody::loadingFailed): * Modules/fetch/FetchBody.h: (WebCore::FetchBody::formData): * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::arrayBuffer): (WebCore::FetchBodyOwner::blob): (WebCore::FetchBodyOwner::formData): (WebCore::FetchBodyOwner::json): (WebCore::FetchBodyOwner::text): * Modules/fetch/FetchResponse.cpp: (WebCore::FetchResponse::BodyLoader::didReceiveResponse): * Modules/fetch/FetchResponse.h: * Modules/mediastream/MediaDevices.h: * Modules/mediastream/PeerConnectionBackend.h: * Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::didCreateStream): * Modules/streams/ReadableStreamSource.h: * Modules/webaudio/AudioContext.h: * bindings/js/JSDOMPromise.cpp: (WebCore::fulfillPromiseWithJSON): * bindings/js/JSDOMPromise.h: (WebCore::TypeInspector::decltype): (WebCore::TypeInspector::testIsVector): (WebCore::TypeInspector::testIsRefOrRefPtr): (WebCore::DeferredWrapper::resolve): (WebCore::DeferredWrapper::reject): (WebCore::DOMPromise::resolve): (WebCore::DOMPromise::reject): (WebCore::DeferredWrapper::resolveWithValue): (WebCore::DeferredWrapper::rejectWithValue): (WebCore::callPromiseFunction): * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::importKey): (WebCore::JSSubtleCrypto::unwrapKey): * css/FontFace.h: * css/FontFaceSet.cpp: (WebCore::FontFaceSet::PendingPromise::PendingPromise): (WebCore::FontFaceSet::load): (WebCore::FontFaceSet::registerReady): * css/FontFaceSet.h: * html/HTMLMediaElement.h: Source/WTF: * wtf/Ref.h: Adding static constexpr to ease detection of Ref for templates. * wtf/RefPtr.h: Ditto. Canonical link: https://commits.webkit.org/175918@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-17 10:20:11 +00:00
static constexpr bool isRef = true;
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
~Ref()
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
if (auto* ptr = PtrTraits::exchange(m_ptr, nullptr))
ptr->deref();
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
Ref(T& object)
: m_ptr(&object)
{
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
object.ref();
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
Ref(const Ref& other)
: m_ptr(other.ptr())
{
m_ptr->ref();
}
template<typename X, typename Y> Ref(const Ref<X, Y>& other)
: m_ptr(other.ptr())
{
m_ptr->ref();
}
WeakPtr functions crash when created with default constructor https://bugs.webkit.org/show_bug.cgi?id=140479 Reviewed by Andreas Kling. Source/WTF: This patch rearranges how WeakPtr works, and has the following ideas behind it: 1. WeakPtr should use Ref internally. This solves the crash by always having a valid WeakReference. 2. Clients should not be able to construct WeakReferences directly. Instead, only WeakPtrFactory (and WeakPtr's default constructor) should be able to construct them. They are considered an implementation detail of WeakPtr. 3. Except for the default constructor, clients should not be able to construct WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This guarantees that the WeakPtrs all reference the same WeakReference. 4. Clients can construct a WeakPtr using its default constructor, and then use the assignment operator to make it non-null. (Or they could use WeakPtrFactory to make it non-null at creation-time.) 5. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I removed it. Tests: WTF_WeakPtr API tests * wtf/Ref.h: (WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy constructors with a comment. (WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy assignment operators with a comment. * wtf/WeakPtr.h: (WTF::WeakReference::clear): Used nullptr. (WTF::WeakReference::create): Moved to private: (WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with a new WeakReference. For the other constructor, moved it to private:. Also added copy constructors and copy assignment operators (since Ref doesn't have them but RefPtr does). These constructors/operators are relied upon in various places throughout WebCore. (WTF::WeakPtr::operator bool): Made non-explicit. (WTF::WeakReference::createUnbound): Deleted. (WTF::WeakReference::bindTo): Deleted. (WTF::WeakReference::WeakReference): Deleted. (WTF::WeakPtrFactory::WeakPtrFactory): Deleted. Tools: Add WeakPtr API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added. * TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor. Canonical link: https://commits.webkit.org/158549@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-01-17 00:39:57 +00:00
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
Ref(Ref&& other)
: m_ptr(&other.leakRef())
{
WeakPtr functions crash when created with default constructor https://bugs.webkit.org/show_bug.cgi?id=140479 Reviewed by Andreas Kling. Source/WTF: This patch rearranges how WeakPtr works, and has the following ideas behind it: 1. WeakPtr should use Ref internally. This solves the crash by always having a valid WeakReference. 2. Clients should not be able to construct WeakReferences directly. Instead, only WeakPtrFactory (and WeakPtr's default constructor) should be able to construct them. They are considered an implementation detail of WeakPtr. 3. Except for the default constructor, clients should not be able to construct WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This guarantees that the WeakPtrs all reference the same WeakReference. 4. Clients can construct a WeakPtr using its default constructor, and then use the assignment operator to make it non-null. (Or they could use WeakPtrFactory to make it non-null at creation-time.) 5. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I removed it. Tests: WTF_WeakPtr API tests * wtf/Ref.h: (WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy constructors with a comment. (WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy assignment operators with a comment. * wtf/WeakPtr.h: (WTF::WeakReference::clear): Used nullptr. (WTF::WeakReference::create): Moved to private: (WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with a new WeakReference. For the other constructor, moved it to private:. Also added copy constructors and copy assignment operators (since Ref doesn't have them but RefPtr does). These constructors/operators are relied upon in various places throughout WebCore. (WTF::WeakPtr::operator bool): Made non-explicit. (WTF::WeakReference::createUnbound): Deleted. (WTF::WeakReference::bindTo): Deleted. (WTF::WeakReference::WeakReference): Deleted. (WTF::WeakPtrFactory::WeakPtrFactory): Deleted. Tools: Add WeakPtr API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added. * TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor. Canonical link: https://commits.webkit.org/158549@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-01-17 00:39:57 +00:00
ASSERT(m_ptr);
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
Add PassRef and createRefCounted so we can improve creation of RefCounted objects https://bugs.webkit.org/show_bug.cgi?id=122904 Reviewed by Anders Carlsson. Source/WTF: * GNUmakefile.list.am: Added PassRef.h. * WTF.vcxproj/WTF.vcxproj: Ditto. * WTF.vcxproj/WTF.vcxproj.filters: Ditto. * WTF.xcodeproj/project.pbxproj: Ditto. * wtf/CMakeLists.txt: Ditto. * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what the style-checking script expects. * wtf/PassRef.h: Added. Includes the createRefCounted function template, which is analogous to make_unique, but is for reference counted objects, and also assumes that new will never return null. Also includes an overload of adoptRef that takes a reference rather than a pointer. * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function. Got rid of declarations that duplicate ones in there. (WTF::refIfNotNull): Use nullptr. (WTF::derefIfNotNull): Use nullptr. (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef. (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion. (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead of an unused boolean. (WTF::PassRefPtr::leakRef): Use nullptr. (WTF::adoptRef): Use the adopt tag. * wtf/Ref.h: Use Noncopyable instead of rolling our own. (WTF::Ref::Ref): Add an overload that takes a PassRef. (WTF::Ref::operator=): Ditto. * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr. (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef. (WTF::RefPtr::release): Use nullptr. (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::RefPtr::operator=): Added overload that takes a PassRef. (WTF::RefPtr::clear): Use nullptr. * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay, reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these were missing before. Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: Added some basic tests for adoptRef and PassRef. Canonical link: https://commits.webkit.org/140983@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-10-16 17:18:05 +00:00
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename X, typename Y>
Ref(Ref<X, Y>&& other)
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
: m_ptr(&other.leakRef())
{
WeakPtr functions crash when created with default constructor https://bugs.webkit.org/show_bug.cgi?id=140479 Reviewed by Andreas Kling. Source/WTF: This patch rearranges how WeakPtr works, and has the following ideas behind it: 1. WeakPtr should use Ref internally. This solves the crash by always having a valid WeakReference. 2. Clients should not be able to construct WeakReferences directly. Instead, only WeakPtrFactory (and WeakPtr's default constructor) should be able to construct them. They are considered an implementation detail of WeakPtr. 3. Except for the default constructor, clients should not be able to construct WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This guarantees that the WeakPtrs all reference the same WeakReference. 4. Clients can construct a WeakPtr using its default constructor, and then use the assignment operator to make it non-null. (Or they could use WeakPtrFactory to make it non-null at creation-time.) 5. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I removed it. Tests: WTF_WeakPtr API tests * wtf/Ref.h: (WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy constructors with a comment. (WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy assignment operators with a comment. * wtf/WeakPtr.h: (WTF::WeakReference::clear): Used nullptr. (WTF::WeakReference::create): Moved to private: (WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with a new WeakReference. For the other constructor, moved it to private:. Also added copy constructors and copy assignment operators (since Ref doesn't have them but RefPtr does). These constructors/operators are relied upon in various places throughout WebCore. (WTF::WeakPtr::operator bool): Made non-explicit. (WTF::WeakReference::createUnbound): Deleted. (WTF::WeakReference::bindTo): Deleted. (WTF::WeakReference::WeakReference): Deleted. (WTF::WeakPtrFactory::WeakPtrFactory): Deleted. Tools: Add WeakPtr API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added. * TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor. Canonical link: https://commits.webkit.org/158549@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-01-17 00:39:57 +00:00
ASSERT(m_ptr);
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
Add PassRef and createRefCounted so we can improve creation of RefCounted objects https://bugs.webkit.org/show_bug.cgi?id=122904 Reviewed by Anders Carlsson. Source/WTF: * GNUmakefile.list.am: Added PassRef.h. * WTF.vcxproj/WTF.vcxproj: Ditto. * WTF.vcxproj/WTF.vcxproj.filters: Ditto. * WTF.xcodeproj/project.pbxproj: Ditto. * wtf/CMakeLists.txt: Ditto. * wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what the style-checking script expects. * wtf/PassRef.h: Added. Includes the createRefCounted function template, which is analogous to make_unique, but is for reference counted objects, and also assumes that new will never return null. Also includes an overload of adoptRef that takes a reference rather than a pointer. * wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function. Got rid of declarations that duplicate ones in there. (WTF::refIfNotNull): Use nullptr. (WTF::derefIfNotNull): Use nullptr. (WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef. (WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion. (WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead of an unused boolean. (WTF::PassRefPtr::leakRef): Use nullptr. (WTF::adoptRef): Use the adopt tag. * wtf/Ref.h: Use Noncopyable instead of rolling our own. (WTF::Ref::Ref): Add an overload that takes a PassRef. (WTF::Ref::operator=): Ditto. * wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr. (WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef. (WTF::RefPtr::release): Use nullptr. (WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr. (WTF::RefPtr::operator=): Added overload that takes a PassRef. (WTF::RefPtr::clear): Use nullptr. * wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay, reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these were missing before. Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: Added some basic tests for adoptRef and PassRef. Canonical link: https://commits.webkit.org/140983@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-10-16 17:18:05 +00:00
Ref& operator=(T&);
Ref& operator=(Ref&&);
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename X, typename Y> Ref& operator=(Ref<X, Y>&&);
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
Ref& operator=(const Ref&);
template<typename X, typename Y> Ref& operator=(const Ref<X, Y>&);
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename X, typename Y> void swap(Ref<X, Y>&);
Support Vector<Ref<T>>. <https://webkit.org/b/120637> Reviewed by Antti Koivisto. Source/WebCore: Use Vector<Ref<T>> internally in Page. * page/Page.cpp: (WebCore::networkStateChanged): (WebCore::Page::refreshPlugins): Clean up these functions and use Vector<Ref<Frame>> to store pointers to frames since we know they are not going to be null. (WebCore::Page::pluginViews): Changed this to return a Vector<Ref<PluginView>> by value instead of passing a writable vector as an argument. Clean up loops with 'auto'. (WebCore::Page::storageBlockingStateChanged): (WebCore::Page::privateBrowsingStateChanged): Tweaked for pluginViews() returning a Vector now. (WebCore::Page::setVisibilityState): Store Documents that need a visibilitychange event in a Vector<Ref<Document>>. Source/WTF: Add a Ref(const T&) constructor to enable Vector<Ref<T>>. This looks a bit awkward but is necessary for Vector::append(const T&) to find a constructor. An alternative would be to add something like std::vector::emplace_back, but I can't think of a good name for that, and it'd be nice if append() would "just work." Also add operator->(). I initially excluded this because I felt it made for unsafe-looking code. Things quickly got out of hand with .get() everywhere though. IMO -> looks OK as long as it's only used on the first link in a dereference chain, as that variable and its type will be "in context." * wtf/Ref.h: (WTF::Ref::Ref): (WTF::Ref::~Ref): (WTF::Ref::operator->): (WTF::Ref::get): * wtf/VectorTraits.h: Add simple traits for Ref<T> so it can be moved around freely by Vector. Canonical link: https://commits.webkit.org/138622@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-03 19:30:20 +00:00
// Hash table deleted values, which are only constructed and never copied or destroyed.
[WTF] AtomStringTable should be small https://bugs.webkit.org/show_bug.cgi?id=206400 Reviewed by Sam Weinig. Source/WebCore: * dom/GCReachableRef.h: (WebCore::GCReachableRef::GCReachableRef): * dom/QualifiedName.h: (WebCore::QualifiedName::hashTableDeletedValue): Source/WTF: AtomStringTable is the largest hashtable typically. It takes more than 256KB per WebProcess (sometimes, it took 1MB or more). This patch leverages PackedPtr to compact it from 8 bytes per entry to 6 bytes per entry. While this is still large, we should investigate how to compact C++ pointers in 4 bytes[1] to shrink memory footprint, since WebKit memory is used by Vector and HashTable fulfilled with pointers. [1]: https://bugs.webkit.org/show_bug.cgi?id=206469 * wtf/DumbPtrTraits.h: (WTF::DumbPtrTraits::hashTableDeletedValue): (WTF::DumbPtrTraits::isHashTableDeletedValue): * wtf/Forward.h: * wtf/HashTraits.h: * wtf/Packed.h: (WTF::Packed<T::Packed): (WTF::Packed<T::isHashTableDeletedValue const): (WTF::GetPtrHelper<PackedPtr<T>>::getPtr): (WTF::PackedPtrTraits::hashTableDeletedValue): (WTF::PackedPtrTraits::isHashTableDeletedValue): (WTF::alignof): Deleted. * wtf/Ref.h: (WTF::Ref::Ref): (WTF::Ref::isHashTableDeletedValue const): (WTF::Ref::hashTableDeletedValue): Deleted. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::isHashTableDeletedValue const): (WTF::RefPtr::hashTableDeletedValue): Deleted. * wtf/text/AtomStringImpl.cpp: (WTF::addToStringTable): (WTF::CStringTranslator::equal): (WTF::CStringTranslator::translate): (WTF::UCharBufferTranslator::equal): (WTF::UCharBufferTranslator::translate): (WTF::HashAndUTF8CharactersTranslator::equal): (WTF::HashAndUTF8CharactersTranslator::translate): (WTF::SubstringTranslator::translate): (WTF::SubstringTranslator8::equal): (WTF::SubstringTranslator16::equal): (WTF::LCharBufferTranslator::equal): (WTF::LCharBufferTranslator::translate): (WTF::BufferFromStaticDataTranslator::equal): (WTF::BufferFromStaticDataTranslator::translate): (WTF::AtomStringImpl::addSlowCase): (WTF::AtomStringImpl::remove): (WTF::AtomStringImpl::lookUpSlowCase): (WTF::AtomStringImpl::lookUp): * wtf/text/AtomStringTable.cpp: (WTF::AtomStringTable::~AtomStringTable): * wtf/text/AtomStringTable.h: (WTF::AtomStringTable::table): (): Deleted. * wtf/text/StringHash.h: (WTF::StringHash::hash): (WTF::StringHash::equal): (WTF::ASCIICaseInsensitiveHash::hash): (WTF::ASCIICaseInsensitiveHash::equal): * wtf/text/StringImpl.h: Tools: * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Packed.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/219616@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-21 22:05:43 +00:00
Ref(HashTableDeletedValueType) : m_ptr(PtrTraits::hashTableDeletedValue()) { }
bool isHashTableDeletedValue() const { return PtrTraits::isHashTableDeletedValue(m_ptr); }
Ref(HashTableEmptyValueType) : m_ptr(hashTableEmptyValue()) { }
bool isHashTableEmptyValue() const { return m_ptr == hashTableEmptyValue(); }
static T* hashTableEmptyValue() { return nullptr; }
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
const T* ptrAllowingHashTableEmptyValue() const { ASSERT(m_ptr || isHashTableEmptyValue()); return PtrTraits::unwrap(m_ptr); }
T* ptrAllowingHashTableEmptyValue() { ASSERT(m_ptr || isHashTableEmptyValue()); return PtrTraits::unwrap(m_ptr); }
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
T* operator->() const { ASSERT(m_ptr); return PtrTraits::unwrap(m_ptr); }
T* ptr() const RETURNS_NONNULL { ASSERT(m_ptr); return PtrTraits::unwrap(m_ptr); }
T& get() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
operator T&() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
WASM should support faster loads. https://bugs.webkit.org/show_bug.cgi?id=162693 Reviewed by Saam Barati. Source/JavaScriptCore: This patch adds support for WebAssembly using a 32-bit address space for memory (along with some extra space for offset overflow). With a 32-bit address space (we call them Signaling/fast memories), we reserve the virtual address space for 2^32 + offset bytes of memory and only mark the usable section as read/write. If wasm code would read/write out of bounds we use a custom signal handler to catch the SIGBUS. The signal handler then checks if the faulting instruction is wasm code and tells the thread to resume executing from the wasm exception handler. Otherwise, the signal handler crashes the process, as usual. All of the allocations of these memories are managed by the Wasm::Memory class. In order to avoid TLB churn in the OS we cache old Signaling memories that are no longer in use. Since getting the wrong memory can cause recompiles, we try to reserve a memory for modules that do not import a memory. If a module does import a memory, we try to guess the type of memory we are going to get based on the last one allocated. This patch also changes how the wasm JS-api manages objects. Since we can compile different versions of code, this patch adds a new JSWebAssemblyCodeBlock class that holds all the information specific to running a module in a particular bounds checking mode. Additionally, the Wasm::Memory object is now a reference counted class that is shared between the JSWebAssemblyMemory object and the ArrayBuffer that also views it. * JavaScriptCore.xcodeproj/project.pbxproj: * jit/JITThunks.cpp: (JSC::JITThunks::existingCTIStub): * jit/JITThunks.h: * jsc.cpp: (jscmain): * runtime/Options.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * wasm/JSWebAssemblyCodeBlock.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h. (JSC::JSWebAssemblyCodeBlock::create): (JSC::JSWebAssemblyCodeBlock::createStructure): (JSC::JSWebAssemblyCodeBlock::functionImportCount): (JSC::JSWebAssemblyCodeBlock::mode): (JSC::JSWebAssemblyCodeBlock::module): (JSC::JSWebAssemblyCodeBlock::jsEntrypointCalleeFromFunctionIndexSpace): (JSC::JSWebAssemblyCodeBlock::wasmEntrypointCalleeFromFunctionIndexSpace): (JSC::JSWebAssemblyCodeBlock::setJSEntrypointCallee): (JSC::JSWebAssemblyCodeBlock::setWasmEntrypointCallee): (JSC::JSWebAssemblyCodeBlock::callees): (JSC::JSWebAssemblyCodeBlock::offsetOfCallees): (JSC::JSWebAssemblyCodeBlock::allocationSize): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::B3IRGenerator): (JSC::Wasm::getMemoryBaseAndSize): (JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer): (JSC::Wasm::B3IRGenerator::emitLoadOp): (JSC::Wasm::B3IRGenerator::emitStoreOp): * wasm/WasmCallingConvention.h: * wasm/WasmFaultSignalHandler.cpp: Added. (JSC::Wasm::trapHandler): (JSC::Wasm::registerCode): (JSC::Wasm::unregisterCode): (JSC::Wasm::fastMemoryEnabled): (JSC::Wasm::enableFastMemory): * wasm/WasmFaultSignalHandler.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyCallee.cpp. * wasm/WasmFormat.h: (JSC::Wasm::ModuleInformation::importFunctionCount): (JSC::Wasm::ModuleInformation::hasMemory): Deleted. * wasm/WasmMemory.cpp: (JSC::Wasm::mmapBytes): (JSC::Wasm::Memory::lastAllocatedMode): (JSC::Wasm::availableFastMemories): (JSC::Wasm::tryGetFastMemory): (JSC::Wasm::releaseFastMemory): (JSC::Wasm::Memory::Memory): (JSC::Wasm::Memory::createImpl): (JSC::Wasm::Memory::create): (JSC::Wasm::Memory::~Memory): (JSC::Wasm::Memory::grow): (JSC::Wasm::Memory::dump): (JSC::Wasm::Memory::makeString): * wasm/WasmMemory.h: (JSC::Wasm::Memory::operator bool): (JSC::Wasm::Memory::size): (JSC::Wasm::Memory::check): (JSC::Wasm::Memory::Memory): Deleted. (JSC::Wasm::Memory::offsetOfMemory): Deleted. (JSC::Wasm::Memory::offsetOfSize): Deleted. * wasm/WasmMemoryInformation.cpp: (JSC::Wasm::MemoryInformation::MemoryInformation): * wasm/WasmMemoryInformation.h: (JSC::Wasm::MemoryInformation::hasReservedMemory): (JSC::Wasm::MemoryInformation::takeReservedMemory): (JSC::Wasm::MemoryInformation::mode): * wasm/WasmModuleParser.cpp: * wasm/WasmModuleParser.h: (JSC::Wasm::ModuleParser::ModuleParser): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::parseAndValidateModule): (JSC::Wasm::Plan::run): * wasm/WasmPlan.h: (JSC::Wasm::Plan::mode): * wasm/js/JSWebAssemblyCallee.cpp: (JSC::JSWebAssemblyCallee::finishCreation): (JSC::JSWebAssemblyCallee::destroy): * wasm/js/JSWebAssemblyCodeBlock.cpp: Added. (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock): (JSC::JSWebAssemblyCodeBlock::destroy): (JSC::JSWebAssemblyCodeBlock::isSafeToRun): (JSC::JSWebAssemblyCodeBlock::visitChildren): (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::setMemory): (JSC::JSWebAssemblyInstance::finishCreation): (JSC::JSWebAssemblyInstance::visitChildren): * wasm/js/JSWebAssemblyInstance.h: (JSC::JSWebAssemblyInstance::module): (JSC::JSWebAssemblyInstance::codeBlock): (JSC::JSWebAssemblyInstance::memoryMode): (JSC::JSWebAssemblyInstance::setMemory): Deleted. * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::JSWebAssemblyMemory): (JSC::JSWebAssemblyMemory::buffer): (JSC::JSWebAssemblyMemory::grow): (JSC::JSWebAssemblyMemory::destroy): * wasm/js/JSWebAssemblyMemory.h: (JSC::JSWebAssemblyMemory::memory): (JSC::JSWebAssemblyMemory::offsetOfMemory): (JSC::JSWebAssemblyMemory::offsetOfSize): * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::buildCodeBlock): (JSC::JSWebAssemblyModule::create): (JSC::JSWebAssemblyModule::JSWebAssemblyModule): (JSC::JSWebAssemblyModule::codeBlock): (JSC::JSWebAssemblyModule::finishCreation): (JSC::JSWebAssemblyModule::visitChildren): (JSC::JSWebAssemblyModule::UnconditionalFinalizer::finalizeUnconditionally): Deleted. * wasm/js/JSWebAssemblyModule.h: (JSC::JSWebAssemblyModule::takeReservedMemory): (JSC::JSWebAssemblyModule::signatureIndexFromFunctionIndexSpace): (JSC::JSWebAssemblyModule::codeBlock): (JSC::JSWebAssemblyModule::functionImportCount): Deleted. (JSC::JSWebAssemblyModule::jsEntrypointCalleeFromFunctionIndexSpace): Deleted. (JSC::JSWebAssemblyModule::wasmEntrypointCalleeFromFunctionIndexSpace): Deleted. (JSC::JSWebAssemblyModule::setJSEntrypointCallee): Deleted. (JSC::JSWebAssemblyModule::setWasmEntrypointCallee): Deleted. (JSC::JSWebAssemblyModule::callees): Deleted. (JSC::JSWebAssemblyModule::offsetOfCallees): Deleted. (JSC::JSWebAssemblyModule::allocationSize): Deleted. * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::link): (JSC::WebAssemblyModuleRecord::evaluate): Source/WTF: Add new forms of dataLog that take a boolean which describes if the log should happen. This makes cases where we have a static const bool for printing nicer since you can do: dataLogIf(verbose, things, to, print); instead of: if (verbose) dataLog(things, to, print); Also, add a operator! to Ref that has the same semantics as C++ refs. * wtf/DataLog.h: (WTF::dataLogLn): (WTF::dataLogIf): (WTF::dataLogLnIf): * wtf/Ref.h: (WTF::Ref::operator!): Canonical link: https://commits.webkit.org/186166@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-03 22:24:21 +00:00
bool operator!() const { ASSERT(m_ptr); return !*m_ptr; }
Add ptr() method to Ref class https://bugs.webkit.org/show_bug.cgi?id=138361 Reviewed by Darin Adler. Source/WebCore: Use the new Ref::ptr() method. No new tests, no behavior change. * accessibility/AccessibilityMenuList.cpp: (WebCore::AccessibilityMenuList::didUpdateActiveOption): * bindings/js/JSHTMLAllCollectionCustom.cpp: (WebCore::getNamedItems): * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: (WebCore::getNamedItems): * css/CSSStyleRule.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::insertRule): * css/CSSValueList.h: (WebCore::CSSValueList::item): (WebCore::CSSValueList::itemWithoutBoundsCheck): * css/InspectorCSSOMWrappers.cpp: (WebCore::InspectorCSSOMWrappers::collect): * dom/ChildListMutationScope.cpp: (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): (WebCore::ChildListMutationAccumulator::childAdded): * dom/ChildNodeList.cpp: (WebCore::ChildNodeList::namedItem): * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * dom/CurrentScriptIncrementer.h: (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer): (WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer): * dom/MutationRecord.cpp: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): * dom/Range.cpp: (WebCore::Range::setDocument): * dom/ScriptElement.cpp: (WebCore::ScriptElement::requestScript): (WebCore::ScriptElement::executeScript): * dom/StaticNodeList.cpp: (WebCore::StaticNodeList::item): (WebCore::StaticElementList::item): * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent): * editing/DictationCommand.cpp: (WebCore::DictationCommand::insertText): * editing/DictationCommand.h: * editing/Editor.cpp: (WebCore::Editor::insertTextWithoutSendingTextEvent): * editing/ReplaceNodeWithSpanCommand.cpp: (WebCore::swapInNodePreservingAttributesAndChildren): * editing/SimplifyMarkupCommand.cpp: (WebCore::SimplifyMarkupCommand::doApply): * editing/markup.cpp: (WebCore::hasOneChild): (WebCore::hasOneTextChild): (WebCore::replaceChildrenWithFragment): (WebCore::replaceChildrenWithText): * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::checkValidity): * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::getNamedElements): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::shouldLoadLink): * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheet::buildObjectForSelectorList): (WebCore::InspectorStyleSheet::buildObjectForRule): (WebCore::InspectorStyleSheet::revalidateStyle): * loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): * page/FocusController.cpp: (WebCore::FocusController::setFocusedElement): * page/PageSerializer.cpp: (WebCore::PageSerializer::retrieveResourcesForRule): * page/PageSerializer.h: * page/animation/AnimationController.cpp: (WebCore::AnimationController::updateAnimations): * platform/graphics/ca/TileCoverageMap.cpp: (WebCore::TileCoverageMap::platformCALayerPaintContents): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::styleForFirstLetter): (WebCore::RenderBlock::updateFirstLetterStyle): (WebCore::RenderBlock::createFirstLetterRenderer): * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): * rendering/RenderElement.cpp: (WebCore::RenderElement::setStyle): (WebCore::RenderElement::styleDidChange): * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::adjustInnerTextStyle): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createInnerTextStyle): * rendering/style/DataRef.h: (WebCore::DataRef::get): (WebCore::DataRef::access): (WebCore::DataRef::operator==): (WebCore::DataRef::operator!=): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayout): (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly): (WebCore::RenderStyle::changeRequiresLayerRepaint): (WebCore::RenderStyle::changeRequiresRepaint): (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): (WebCore::RenderStyle::changeRequiresRecompositeLayer): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::diffRequiresLayerRepaint): * rendering/style/RenderStyle.h: * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::cssValue): * rendering/style/StyleGeneratedImage.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveTree.cpp: (WebCore::Style::determineChange): (WebCore::Style::resolveLocal): (WebCore::Style::resolveTree): * style/StyleResolveTree.h: Source/WebKit/mac: Use the new Ref::ptr() method. * WebView/WebFrame.mm: (-[WebFrame _setTypingStyle:withUndoAction:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _applyStyleToSelection:withUndoAction:]): (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): * WebView/WebView.mm: (-[WebView applyStyle:]): Source/WebKit2: Use the new Ref::ptr() method. * UIProcess/WebContext.cpp: (WebKit::WebContext::createWebPage): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setPreferences): * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didNavigateWithNavigationData): (WebKit::WebProcessProxy::didPerformClientRedirect): (WebKit::WebProcessProxy::didPerformServerRedirect): (WebKit::WebProcessProxy::didUpdateHistoryTitle): Source/WTF: It is a very common pattern in our code base to get a pointer from a Ref object. Previously, we have to call Ref.get() and take its address which is not very nice. This patch adds a ptr() method to Ref class to simplify the code a bit. * wtf/PassRef.h: (WTF::PassRef<T>::ptr): * wtf/Ref.h: (WTF::Ref::ptr): (WTF::GetPtrHelper<Ref<T>>::getPtr): Tools: Use the new Ref::ptr() method. * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/156206@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-11-04 23:00:48 +00:00
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename X, typename Y> Ref<T, PtrTraits> replace(Ref<X, Y>&&) WARN_UNUSED_RETURN;
// The following function is deprecated.
Ref copyRef() && = delete;
Ref copyRef() const & WARN_UNUSED_RETURN { return Ref(*m_ptr); }
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
T& leakRef() WARN_UNUSED_RETURN
{
ASSERT(m_ptr);
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
T& result = *PtrTraits::exchange(m_ptr, nullptr);
#if ASAN_ENABLED
__asan_poison_memory_region(this, sizeof(*this));
#endif
return result;
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
private:
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
friend Ref adoptRef<T>(T&);
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename X, typename Y> friend class Ref;
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
enum AdoptTag { Adopt };
Ref(T& object, AdoptTag)
: m_ptr(&object)
{
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
typename PtrTraits::StorageType m_ptr;
};
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U> Ref<T, U> adoptRef(T&);
template<typename T> Ref<T> makeRef(T&);
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
inline Ref<T, U>& Ref<T, U>::operator=(T& reference)
{
Ref copiedReference = reference;
swap(copiedReference);
return *this;
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
inline Ref<T, U>& Ref<T, U>::operator=(Ref&& reference)
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
Ref movedReference = WTFMove(reference);
swap(movedReference);
return *this;
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
template<typename X, typename Y>
inline Ref<T, U>& Ref<T, U>::operator=(Ref<X, Y>&& reference)
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
Ref movedReference = WTFMove(reference);
swap(movedReference);
return *this;
}
template<typename T, typename U>
inline Ref<T, U>& Ref<T, U>::operator=(const Ref& reference)
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
Ref copiedReference = reference;
swap(copiedReference);
return *this;
}
template<typename T, typename U>
template<typename X, typename Y>
inline Ref<T, U>& Ref<T, U>::operator=(const Ref<X, Y>& reference)
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
Ref copiedReference = reference;
swap(copiedReference);
return *this;
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
template<typename X, typename Y>
inline void Ref<T, U>::swap(Ref<X, Y>& other)
{
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
U::swap(m_ptr, other.m_ptr);
}
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
template<typename T, typename U, typename X, typename Y, typename = std::enable_if_t<!std::is_same<U, RawPtrTraits<T>>::value || !std::is_same<Y, RawPtrTraits<X>>::value>>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
inline void swap(Ref<T, U>& a, Ref<X, Y>& b)
{
a.swap(b);
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
template<typename X, typename Y>
inline Ref<T, U> Ref<T, U>::replace(Ref<X, Y>&& reference)
{
#if ASAN_ENABLED
if (__asan_address_is_poisoned(this))
__asan_unpoison_memory_region(this, sizeof(*this));
#endif
auto oldReference = adoptRef(*m_ptr);
m_ptr = &reference.leakRef();
return oldReference;
}
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
template<typename T, typename U = RawPtrTraits<T>, typename X, typename Y>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
inline Ref<T, U> static_reference_cast(Ref<X, Y>& reference)
Remove PassRefPtr from svg/properties classes. https://bugs.webkit.org/show_bug.cgi?id=142063. Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10 Reviewed by Darin Adler. Source/WebCore: Remove PassRefPtr from svg/properties classes. All the return types and the local variables should be RefPtr. If we are sure the pointer can't be null, we use Ref instead. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): (WebCore::SVGMarkerElement::orientTypeAnimated): * svg/SVGMarkerElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::lookupOrCreateDWrapper): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::animatedPathSegList): * svg/SVGPathElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): (WebCore::SVGPolyElement::points): (WebCore::SVGPolyElement::animatedPoints): * svg/SVGPolyElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): (WebCore::SVGTextContentElement::textLengthAnimated): * svg/SVGTextContentElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewBoxAnimated): (WebCore::SVGViewSpec::preserveAspectRatioAnimated): (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): * svg/SVGViewSpec.h: * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): * svg/properties/SVGAnimatedListPropertyTearOff.h: (WebCore::SVGAnimatedListPropertyTearOff::create): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): * svg/properties/SVGAnimatedPropertyMacros.h: * svg/properties/SVGAnimatedPropertyTearOff.h: (WebCore::SVGAnimatedPropertyTearOff::create): * svg/properties/SVGAnimatedStaticPropertyTearOff.h: (WebCore::SVGAnimatedStaticPropertyTearOff::create): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::create): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValuesAndWrappers): * svg/properties/SVGListPropertyTearOff.h: (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::getItem): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::removeItem): (WebCore::SVGListPropertyTearOff::appendItem): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (WebCore::SVGStaticListPropertyTearOff::create): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::create): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): Source/WTF: * wtf/Ref.h: (WTF::static_reference_cast): Add a stat_cast function to Ref<>. Canonical link: https://commits.webkit.org/160585@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-10 20:39:50 +00:00
{
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
return Ref<T, U>(static_cast<T&>(reference.get()));
Remove PassRefPtr from svg/properties classes. https://bugs.webkit.org/show_bug.cgi?id=142063. Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10 Reviewed by Darin Adler. Source/WebCore: Remove PassRefPtr from svg/properties classes. All the return types and the local variables should be RefPtr. If we are sure the pointer can't be null, we use Ref instead. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): (WebCore::SVGMarkerElement::orientTypeAnimated): * svg/SVGMarkerElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::lookupOrCreateDWrapper): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::animatedPathSegList): * svg/SVGPathElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): (WebCore::SVGPolyElement::points): (WebCore::SVGPolyElement::animatedPoints): * svg/SVGPolyElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): (WebCore::SVGTextContentElement::textLengthAnimated): * svg/SVGTextContentElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewBoxAnimated): (WebCore::SVGViewSpec::preserveAspectRatioAnimated): (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): * svg/SVGViewSpec.h: * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): * svg/properties/SVGAnimatedListPropertyTearOff.h: (WebCore::SVGAnimatedListPropertyTearOff::create): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): * svg/properties/SVGAnimatedPropertyMacros.h: * svg/properties/SVGAnimatedPropertyTearOff.h: (WebCore::SVGAnimatedPropertyTearOff::create): * svg/properties/SVGAnimatedStaticPropertyTearOff.h: (WebCore::SVGAnimatedStaticPropertyTearOff::create): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::create): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValuesAndWrappers): * svg/properties/SVGListPropertyTearOff.h: (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::getItem): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::removeItem): (WebCore::SVGListPropertyTearOff::appendItem): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (WebCore::SVGStaticListPropertyTearOff::create): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::create): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): Source/WTF: * wtf/Ref.h: (WTF::static_reference_cast): Add a stat_cast function to Ref<>. Canonical link: https://commits.webkit.org/160585@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-10 20:39:50 +00:00
}
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
template<typename T, typename U = RawPtrTraits<T>, typename X, typename Y>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
inline Ref<T, U> static_reference_cast(Ref<X, Y>&& reference)
Use more references in JS wrappers related code https://bugs.webkit.org/show_bug.cgi?id=157721 Reviewed by Darin Adler. Source/WebCore: - Use more references in JS wrappers related code. - Avoid some refcounting churn when using toJSNewlyCreated() and in HTML/SVG elements factories by moving the Ref<> around. - Add toJS() / toJSNewlyCreated() implementations for Text, XMLDocument and HTMLDocument. Now that toJSNewlyCreated() takes a Ref<>&& / RefPtr<>&& in, the compiler is no longer able to implicitly use the toJSNewlyCreated() implementation of a parent class for a subclass type (complains about calls being ambiguous). I thought about updating the bindings generator to always generate a toJSNewlyCreated() for all wrapper types (that would call the one on the parent class if the subclass does not have a proper implementation). However this would add some complexity to the bindings generator and it did not seem worth it because [NewObject] and therefore toJSNewlyCreated() is only used for a very limited set of subtypes. I have therefore decided to add the toJS() / toJSNewlyCreated() implementations for the subtypes in question. This also has the benefit of avoiding calling the more complex implementations on Node / Document. * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJS): * bindings/js/JSAudioContextCustom.cpp: (WebCore::constructJSAudioContext): * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSBlobCustom.cpp: (WebCore::constructJSBlob): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): * bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): * bindings/js/JSDOMBinding.h: (WebCore::getCachedWrapper): (WebCore::createWrapper): (WebCore::wrap): (WebCore::getExistingWrapper): (WebCore::createNewWrapper): (WebCore::toJS): (WebCore::finiteInt32Value): Deleted. * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::toJS): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForFramelessDocument): (WebCore::toJSNewlyCreated): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::createNewDocumentFragmentWrapper): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSElementCustom.h: (WebCore::toJSNewlyCreated): * bindings/js/JSEventCustom.cpp: (WebCore::createNewEventWrapper): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSFileCustom.cpp: (WebCore::constructJSFile): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::createNewHTMLDocumentWrapper): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSHTMLTemplateElementCustom.cpp: (WebCore::JSHTMLTemplateElement::content): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJS): * bindings/js/JSNodeCustom.cpp: (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::getOutOfLineCachedWrapper): * bindings/js/JSNodeCustom.h: (WebCore::toJS): * bindings/js/JSNodeListCustom.cpp: (WebCore::createWrapper): (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSRTCPeerConnectionCustom.cpp: (WebCore::constructJSRTCPeerConnection): * bindings/js/JSRTCSessionDescriptionCustom.cpp: (WebCore::constructJSRTCSessionDescription): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS): * bindings/js/JSTextCustom.cpp: Copied from Source/WebCore/dom/XMLDocument.idl. (WebCore::createNewTextWrapper): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: Copied from Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp. (WebCore::createNewXMLDocumentWrapper): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): (GenerateImplementation): * bindings/scripts/test/JS/*: Rebaseline bindings tests. * dom/Element.cpp: (WebCore::Element::setInnerHTML): * dom/Text.idl: * dom/XMLDocument.idl: * dom/make_names.pl: (printWrapperFunctions): (printWrapperFactoryCppFile): (printWrapperFactoryHeaderFile): * editing/MarkupAccumulator.cpp: (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): * html/HTMLDocument.idl: * html/HTMLTemplateElement.cpp: (WebCore::HTMLTemplateElement::content): (WebCore::HTMLTemplateElement::cloneNodeInternal): * html/HTMLTemplateElement.h: * html/parser/HTMLConstructionSite.cpp: (WebCore::insert): (WebCore::HTMLConstructionSite::insertTextNode): (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode): * xml/parser/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs): Source/WTF: Add new static_reference_cast() overload that takes a Ref<U>&& in in order to downcast Ref<> types without causing ref-counting churn. * wtf/Ref.h: (WTF::static_reference_cast): Canonical link: https://commits.webkit.org/175857@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@200934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-15 23:30:11 +00:00
{
return adoptRef(static_cast<T&>(reference.leakRef()));
}
Inclusive software: Remove instances of "dumb" from the code https://bugs.webkit.org/show_bug.cgi?id=217778 Reviewed by Simon Fraser. Source/JavaScriptCore: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::unboxBoolean): * heap/SlotVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitVirtualCall): (JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted. * jit/AssemblyHelpers.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * runtime/CachedTypes.cpp: * runtime/JSCJSValue.h: * runtime/WriteBarrier.h: * runtime/WriteBarrierInlines.h: (JSC::RawValueTraits<Unknown>>::set): (JSC::DumbValueTraits<Unknown>>::set): Deleted. * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::addCallIndirect): * wasm/generateWasm.py: (opcodeIterator): Source/WebCore: * Modules/webaudio/AudioNode.h: * dom/GCReachableRef.h: * page/EventHandler.cpp: (WebCore::EventHandler::handleDrag): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Source/WTF: * WTF.xcodeproj/project.pbxproj: * icu/unicode/caniter.h: * wtf/Bag.h: * wtf/CMakeLists.txt: * wtf/CagedPtr.h: * wtf/Forward.h: * wtf/NakedRef.h: * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefPtr.h: * wtf/SentinelLinkedList.h: Canonical link: https://commits.webkit.org/230896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-26 20:08:01 +00:00
template<typename T, typename U = RawPtrTraits<T>, typename X, typename Y>
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
inline Ref<T, U> static_reference_cast(const Ref<X, Y>& reference)
Remove PassRefPtr from svg/properties classes. https://bugs.webkit.org/show_bug.cgi?id=142063. Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10 Reviewed by Darin Adler. Source/WebCore: Remove PassRefPtr from svg/properties classes. All the return types and the local variables should be RefPtr. If we are sure the pointer can't be null, we use Ref instead. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): (WebCore::SVGMarkerElement::orientTypeAnimated): * svg/SVGMarkerElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::lookupOrCreateDWrapper): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::animatedPathSegList): * svg/SVGPathElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): (WebCore::SVGPolyElement::points): (WebCore::SVGPolyElement::animatedPoints): * svg/SVGPolyElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): (WebCore::SVGTextContentElement::textLengthAnimated): * svg/SVGTextContentElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewBoxAnimated): (WebCore::SVGViewSpec::preserveAspectRatioAnimated): (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): * svg/SVGViewSpec.h: * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): * svg/properties/SVGAnimatedListPropertyTearOff.h: (WebCore::SVGAnimatedListPropertyTearOff::create): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): * svg/properties/SVGAnimatedPropertyMacros.h: * svg/properties/SVGAnimatedPropertyTearOff.h: (WebCore::SVGAnimatedPropertyTearOff::create): * svg/properties/SVGAnimatedStaticPropertyTearOff.h: (WebCore::SVGAnimatedStaticPropertyTearOff::create): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::create): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValuesAndWrappers): * svg/properties/SVGListPropertyTearOff.h: (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::getItem): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::removeItem): (WebCore::SVGListPropertyTearOff::appendItem): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (WebCore::SVGStaticListPropertyTearOff::create): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::create): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): Source/WTF: * wtf/Ref.h: (WTF::static_reference_cast): Add a stat_cast function to Ref<>. Canonical link: https://commits.webkit.org/160585@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-10 20:39:50 +00:00
{
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
return Ref<T, U>(static_cast<T&>(reference.copyRef().get()));
Remove PassRefPtr from svg/properties classes. https://bugs.webkit.org/show_bug.cgi?id=142063. Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10 Reviewed by Darin Adler. Source/WebCore: Remove PassRefPtr from svg/properties classes. All the return types and the local variables should be RefPtr. If we are sure the pointer can't be null, we use Ref instead. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): (WebCore::SVGMarkerElement::orientTypeAnimated): * svg/SVGMarkerElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::lookupOrCreateDWrapper): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::animatedPathSegList): * svg/SVGPathElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): (WebCore::SVGPolyElement::points): (WebCore::SVGPolyElement::animatedPoints): * svg/SVGPolyElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): (WebCore::SVGTextContentElement::textLengthAnimated): * svg/SVGTextContentElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewBoxAnimated): (WebCore::SVGViewSpec::preserveAspectRatioAnimated): (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): * svg/SVGViewSpec.h: * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): * svg/properties/SVGAnimatedListPropertyTearOff.h: (WebCore::SVGAnimatedListPropertyTearOff::create): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): * svg/properties/SVGAnimatedPropertyMacros.h: * svg/properties/SVGAnimatedPropertyTearOff.h: (WebCore::SVGAnimatedPropertyTearOff::create): * svg/properties/SVGAnimatedStaticPropertyTearOff.h: (WebCore::SVGAnimatedStaticPropertyTearOff::create): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::create): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValuesAndWrappers): * svg/properties/SVGListPropertyTearOff.h: (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::getItem): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::removeItem): (WebCore::SVGListPropertyTearOff::appendItem): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (WebCore::SVGStaticListPropertyTearOff::create): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::create): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): Source/WTF: * wtf/Ref.h: (WTF::static_reference_cast): Add a stat_cast function to Ref<>. Canonical link: https://commits.webkit.org/160585@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-10 20:39:50 +00:00
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template <typename T, typename U>
struct GetPtrHelper<Ref<T, U>> {
Allow DOM methods to return references instead of pointers https://bugs.webkit.org/show_bug.cgi?id=136931 Source/WebCore: Reviewed by Sam Weinig. It is common practice in WebKit to have methods return a reference instead of a pointer if the pointer can never be null. However, this unfortunately did not work for DOM methods (functions called by JS bindings). This prevented further refactoring. This patch brings support for having DOM methods to return references instead of pointers when the pointer cannot be null. The generated bindings were calling WTF::getPtr() on the pointer type returned by the implementation already (in case it was a smart pointer type). This patch leverages this by having WTF::getPtr() convert reference arguments into raw pointers. This patch also updates a few DOM methods on Document and Element classes to return a reference instead of a pointer, to test the change. There are likely more DOM methods that can be updated though. No new tests, no behavior change. * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::classList): * bindings/js/JSDOMBinding.h: (WTF::getPtr): Deleted. * dom/Document.cpp: (WebCore::Document::implementation): (WebCore::Document::webkitGetNamedFlows): (WebCore::Document::namedFlows): (WebCore::Document::setXMLVersion): (WebCore::Document::setXMLStandalone): (WebCore::Document::securityPolicy): (WebCore::Document::styleSheets): * dom/Document.h: (WebCore::Document::timing): * dom/Element.cpp: (WebCore::Element::classList): (WebCore::Element::dataset): * dom/Element.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlPanelElement::setPosition): (WebCore::MediaControlPanelElement::resetPosition): (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): * html/track/VTTRegion.cpp: (WebCore::VTTRegion::displayLastTextTrackCueBox): (WebCore::VTTRegion::willRemoveTextTrackCueBox): * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::getAllStyleSheets): (WebCore::InspectorCSSAgent::getNamedFlowCollection): * page/PerformanceTiming.cpp: (WebCore::PerformanceTiming::documentTiming): * rendering/FlowThreadController.cpp: (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Source/WTF: Add support for having WTF::getPtr() transform reference arguments into raw pointers so that DOM methods can now return references when appropriate and so that the generated bindings code can handle this via WTF::getPtr(). This patch had to alter the way getPtr() was overloaded for smart pointer types so that we don't call &p on smart pointers but p.get(). This was needed because the new WTF::getPtr(T&) was being called for RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload. This was addressed using traits and template specialization to distinguish WTF smart pointers from other types. Reviewed by Sam Weinig. * wtf/GetPtr.h: (WTF::getPtr): * wtf/OwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassOwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassRefPtr.h: (WTF::getPtr): Deleted. * wtf/Ref.h: * wtf/RefPtr.h: (WTF::getPtr): Deleted. * wtf/gobject/GRefPtr.h: (WTF::getPtr): Deleted. Canonical link: https://commits.webkit.org/154769@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-19 18:33:16 +00:00
typedef T* PtrType;
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
static T* getPtr(const Ref<T, U>& p) { return const_cast<T*>(p.ptr()); }
Allow DOM methods to return references instead of pointers https://bugs.webkit.org/show_bug.cgi?id=136931 Source/WebCore: Reviewed by Sam Weinig. It is common practice in WebKit to have methods return a reference instead of a pointer if the pointer can never be null. However, this unfortunately did not work for DOM methods (functions called by JS bindings). This prevented further refactoring. This patch brings support for having DOM methods to return references instead of pointers when the pointer cannot be null. The generated bindings were calling WTF::getPtr() on the pointer type returned by the implementation already (in case it was a smart pointer type). This patch leverages this by having WTF::getPtr() convert reference arguments into raw pointers. This patch also updates a few DOM methods on Document and Element classes to return a reference instead of a pointer, to test the change. There are likely more DOM methods that can be updated though. No new tests, no behavior change. * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::classList): * bindings/js/JSDOMBinding.h: (WTF::getPtr): Deleted. * dom/Document.cpp: (WebCore::Document::implementation): (WebCore::Document::webkitGetNamedFlows): (WebCore::Document::namedFlows): (WebCore::Document::setXMLVersion): (WebCore::Document::setXMLStandalone): (WebCore::Document::securityPolicy): (WebCore::Document::styleSheets): * dom/Document.h: (WebCore::Document::timing): * dom/Element.cpp: (WebCore::Element::classList): (WebCore::Element::dataset): * dom/Element.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlPanelElement::setPosition): (WebCore::MediaControlPanelElement::resetPosition): (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): * html/track/VTTRegion.cpp: (WebCore::VTTRegion::displayLastTextTrackCueBox): (WebCore::VTTRegion::willRemoveTextTrackCueBox): * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::getAllStyleSheets): (WebCore::InspectorCSSAgent::getNamedFlowCollection): * page/PerformanceTiming.cpp: (WebCore::PerformanceTiming::documentTiming): * rendering/FlowThreadController.cpp: (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Source/WTF: Add support for having WTF::getPtr() transform reference arguments into raw pointers so that DOM methods can now return references when appropriate and so that the generated bindings code can handle this via WTF::getPtr(). This patch had to alter the way getPtr() was overloaded for smart pointer types so that we don't call &p on smart pointers but p.get(). This was needed because the new WTF::getPtr(T&) was being called for RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload. This was addressed using traits and template specialization to distinguish WTF smart pointers from other types. Reviewed by Sam Weinig. * wtf/GetPtr.h: (WTF::getPtr): * wtf/OwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassOwnPtr.h: (WTF::getPtr): Deleted. * wtf/PassRefPtr.h: (WTF::getPtr): Deleted. * wtf/Ref.h: * wtf/RefPtr.h: (WTF::getPtr): Deleted. * wtf/gobject/GRefPtr.h: (WTF::getPtr): Deleted. Canonical link: https://commits.webkit.org/154769@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-19 18:33:16 +00:00
};
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template <typename T, typename U>
struct IsSmartPtr<Ref<T, U>> {
Use constexpr instead of const in symbol definitions that are obviously constexpr. https://bugs.webkit.org/show_bug.cgi?id=201879 Rubber-stamped by Joseph Pecoraro. Source/bmalloc: * bmalloc/AvailableMemory.cpp: * bmalloc/IsoTLS.h: * bmalloc/Map.h: * bmalloc/Mutex.cpp: (bmalloc::Mutex::lockSlowCase): * bmalloc/PerThread.h: * bmalloc/Vector.h: * bmalloc/Zone.h: Source/JavaScriptCore: const may require external storage (at the compiler's whim) though these currently do not. constexpr makes it clear that the value is a literal constant that can be inlined. In most cases in the code, when we say static const, we actually mean static constexpr. I'm changing the code to reflect this. * API/JSAPIValueWrapper.h: * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSContextRef.cpp: * API/JSWrapperMap.mm: * API/tests/CompareAndSwapTest.cpp: * API/tests/TypedArrayCTest.cpp: * API/tests/testapi.mm: (testObjectiveCAPIMain): * KeywordLookupGenerator.py: (Trie.printAsC): * assembler/ARMv7Assembler.h: * assembler/AssemblerBuffer.h: * assembler/AssemblerCommon.h: * assembler/MacroAssembler.h: * assembler/MacroAssemblerARM64.h: * assembler/MacroAssemblerARM64E.h: * assembler/MacroAssemblerARMv7.h: * assembler/MacroAssemblerCodeRef.h: * assembler/MacroAssemblerMIPS.h: * assembler/MacroAssemblerX86.h: * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::absDouble): (JSC::MacroAssemblerX86Common::negateDouble): * assembler/MacroAssemblerX86_64.h: * assembler/X86Assembler.h: * b3/B3Bank.h: * b3/B3CheckSpecial.h: * b3/B3DuplicateTails.cpp: * b3/B3EliminateCommonSubexpressions.cpp: * b3/B3FixSSA.cpp: * b3/B3FoldPathConstants.cpp: * b3/B3InferSwitches.cpp: * b3/B3Kind.h: * b3/B3LowerToAir.cpp: * b3/B3NativeTraits.h: * b3/B3ReduceDoubleToFloat.cpp: * b3/B3ReduceLoopStrength.cpp: * b3/B3ReduceStrength.cpp: * b3/B3ValueKey.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirAllocateStackByGraphColoring.cpp: * b3/air/AirArg.h: * b3/air/AirCCallSpecial.h: * b3/air/AirEmitShuffle.cpp: * b3/air/AirFixObviousSpills.cpp: * b3/air/AirFormTable.h: * b3/air/AirLowerAfterRegAlloc.cpp: * b3/air/AirPrintSpecial.h: * b3/air/AirStackAllocation.cpp: * b3/air/AirTmp.h: * b3/testb3_6.cpp: (testInterpreter): * bytecode/AccessCase.cpp: * bytecode/CallLinkStatus.cpp: * bytecode/CallVariant.h: * bytecode/CodeBlock.h: * bytecode/CodeOrigin.h: * bytecode/DFGExitProfile.h: * bytecode/DirectEvalCodeCache.h: * bytecode/ExecutableToCodeBlockEdge.h: * bytecode/GetterSetterAccessCase.cpp: * bytecode/LazyOperandValueProfile.h: * bytecode/ObjectPropertyCondition.h: * bytecode/ObjectPropertyConditionSet.cpp: * bytecode/PolymorphicAccess.cpp: * bytecode/PropertyCondition.h: * bytecode/SpeculatedType.h: * bytecode/StructureStubInfo.cpp: * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::typeProfilerExpressionInfoForBytecodeOffset): * bytecode/UnlinkedCodeBlock.h: * bytecode/UnlinkedEvalCodeBlock.h: * bytecode/UnlinkedFunctionCodeBlock.h: * bytecode/UnlinkedFunctionExecutable.h: * bytecode/UnlinkedModuleProgramCodeBlock.h: * bytecode/UnlinkedProgramCodeBlock.h: * bytecode/ValueProfile.h: * bytecode/VirtualRegister.h: * bytecode/Watchpoint.h: * bytecompiler/BytecodeGenerator.h: * bytecompiler/Label.h: * bytecompiler/NodesCodegen.cpp: (JSC::ThisNode::emitBytecode): * bytecompiler/RegisterID.h: * debugger/Breakpoint.h: * debugger/DebuggerParseData.cpp: * debugger/DebuggerPrimitives.h: * debugger/DebuggerScope.h: * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractValue.h: * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGByteCodeParser.cpp: * dfg/DFGCSEPhase.cpp: * dfg/DFGCommon.h: * dfg/DFGCompilationKey.h: * dfg/DFGDesiredGlobalProperty.h: * dfg/DFGEdgeDominates.h: * dfg/DFGEpoch.h: * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledNodesAtNodeIndex): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::isLiveInBytecode): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: * dfg/DFGIntegerCheckCombiningPhase.cpp: * dfg/DFGIntegerRangeOptimizationPhase.cpp: * dfg/DFGInvalidationPointInjectionPhase.cpp: * dfg/DFGLICMPhase.cpp: * dfg/DFGLazyNode.h: * dfg/DFGMinifiedID.h: * dfg/DFGMovHintRemovalPhase.cpp: * dfg/DFGNodeFlowProjection.h: * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPhantomInsertionPhase.cpp: * dfg/DFGPromotedHeapLocation.h: * dfg/DFGPropertyTypeKey.h: * dfg/DFGPureValue.h: * dfg/DFGPutStackSinkingPhase.cpp: * dfg/DFGRegisterBank.h: * dfg/DFGSSAConversionPhase.cpp: * dfg/DFGSSALoweringPhase.cpp: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileDoubleRep): (JSC::DFG::compileClampDoubleToByte): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::compileArithPowIntegerFastPath): (JSC::DFG::SpeculativeJIT::compileArithPow): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): * dfg/DFGStackLayoutPhase.cpp: * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStrengthReductionPhase.cpp: * dfg/DFGStructureAbstractValue.h: * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * dfg/DFGWatchpointCollectionPhase.cpp: * disassembler/ARM64/A64DOpcode.h: * ftl/FTLLocation.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArithRandom): * ftl/FTLSlowPathCall.cpp: * ftl/FTLSlowPathCallKey.h: * heap/CellContainer.h: * heap/CellState.h: * heap/ConservativeRoots.h: * heap/GCSegmentedArray.h: * heap/HandleBlock.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/HeapSnapshot.h: * heap/HeapUtil.h: (JSC::HeapUtil::findGCObjectPointersForMarking): * heap/IncrementalSweeper.cpp: * heap/LargeAllocation.h: * heap/MarkedBlock.cpp: * heap/Strong.h: * heap/VisitRaceKey.h: * heap/Weak.h: * heap/WeakBlock.h: * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.h: * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.h: * inspector/agents/InspectorConsoleAgent.cpp: * inspector/agents/InspectorRuntimeAgent.cpp: (Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets): * inspector/scripts/codegen/generate_cpp_protocol_types_header.py: (CppProtocolTypesHeaderGenerator._generate_versions): * inspector/scripts/tests/generic/expected/version.json-result: * interpreter/Interpreter.h: * interpreter/ShadowChicken.cpp: * jit/BinarySwitch.cpp: * jit/CallFrameShuffler.h: * jit/ExecutableAllocator.h: * jit/FPRInfo.h: * jit/GPRInfo.h: * jit/ICStats.h: * jit/JITThunks.h: * jit/Reg.h: * jit/RegisterSet.h: * jit/TempRegisterSet.h: * jsc.cpp: * parser/ASTBuilder.h: * parser/Nodes.h: * parser/SourceCodeKey.h: * parser/SyntaxChecker.h: * parser/VariableEnvironment.h: * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.h: * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: * runtime/ArrayBufferNeuteringWatchpointSet.h: * runtime/ArrayConstructor.h: * runtime/ArrayConventions.h: * runtime/ArrayIteratorPrototype.h: * runtime/ArrayPrototype.cpp: (JSC::setLength): * runtime/AsyncFromSyncIteratorPrototype.h: * runtime/AsyncGeneratorFunctionPrototype.h: * runtime/AsyncGeneratorPrototype.h: * runtime/AsyncIteratorPrototype.h: * runtime/AtomicsObject.cpp: * runtime/BigIntConstructor.h: * runtime/BigIntPrototype.h: * runtime/BooleanPrototype.h: * runtime/ClonedArguments.h: * runtime/CodeCache.h: * runtime/ControlFlowProfiler.h: * runtime/CustomGetterSetter.h: * runtime/DateConstructor.h: * runtime/DatePrototype.h: * runtime/DefinePropertyAttributes.h: * runtime/ErrorPrototype.h: * runtime/EvalExecutable.h: * runtime/Exception.h: * runtime/ExceptionHelpers.cpp: (JSC::invalidParameterInSourceAppender): (JSC::invalidParameterInstanceofSourceAppender): * runtime/ExceptionHelpers.h: * runtime/ExecutableBase.h: * runtime/FunctionExecutable.h: * runtime/FunctionRareData.h: * runtime/GeneratorPrototype.h: * runtime/GenericArguments.h: * runtime/GenericOffset.h: * runtime/GetPutInfo.h: * runtime/GetterSetter.h: * runtime/GlobalExecutable.h: * runtime/Identifier.h: * runtime/InspectorInstrumentationObject.h: * runtime/InternalFunction.h: * runtime/IntlCollatorConstructor.h: * runtime/IntlCollatorPrototype.h: * runtime/IntlDateTimeFormatConstructor.h: * runtime/IntlDateTimeFormatPrototype.h: * runtime/IntlNumberFormatConstructor.h: * runtime/IntlNumberFormatPrototype.h: * runtime/IntlObject.h: * runtime/IntlPluralRulesConstructor.h: * runtime/IntlPluralRulesPrototype.h: * runtime/IteratorPrototype.h: * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): * runtime/JSArray.h: * runtime/JSArrayBuffer.h: * runtime/JSArrayBufferView.h: * runtime/JSBigInt.h: * runtime/JSCJSValue.h: * runtime/JSCell.h: * runtime/JSCustomGetterSetterFunction.h: * runtime/JSDataView.h: * runtime/JSDataViewPrototype.h: * runtime/JSDestructibleObject.h: * runtime/JSFixedArray.h: * runtime/JSGenericTypedArrayView.h: * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.h: * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromiseConstructor.h: * runtime/JSInternalPromiseDeferred.h: * runtime/JSInternalPromisePrototype.h: * runtime/JSLexicalEnvironment.h: * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.h: * runtime/JSNonDestructibleProxy.h: * runtime/JSONObject.cpp: * runtime/JSONObject.h: * runtime/JSObject.h: * runtime/JSPromiseConstructor.h: * runtime/JSPromiseDeferred.h: * runtime/JSPromisePrototype.h: * runtime/JSPropertyNameEnumerator.h: * runtime/JSProxy.h: * runtime/JSScope.h: * runtime/JSScriptFetchParameters.h: * runtime/JSScriptFetcher.h: * runtime/JSSegmentedVariableObject.h: * runtime/JSSourceCode.h: * runtime/JSString.cpp: * runtime/JSString.h: * runtime/JSSymbolTableObject.h: * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypeInfo.h: * runtime/MapPrototype.h: * runtime/MinimumReservedZoneSize.h: * runtime/ModuleProgramExecutable.h: * runtime/NativeExecutable.h: * runtime/NativeFunction.h: * runtime/NativeStdFunctionCell.h: * runtime/NumberConstructor.h: * runtime/NumberPrototype.h: * runtime/ObjectConstructor.h: * runtime/ObjectPrototype.h: * runtime/ProgramExecutable.h: * runtime/PromiseDeferredTimer.cpp: * runtime/PropertyMapHashTable.h: * runtime/PropertyNameArray.h: (JSC::PropertyNameArray::add): * runtime/PrototypeKey.h: * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::performGetOwnPropertyNames): * runtime/ProxyRevoke.h: * runtime/ReflectObject.h: * runtime/RegExp.h: * runtime/RegExpCache.h: * runtime/RegExpConstructor.h: * runtime/RegExpKey.h: * runtime/RegExpObject.h: * runtime/RegExpPrototype.h: * runtime/RegExpStringIteratorPrototype.h: * runtime/SamplingProfiler.cpp: * runtime/ScopedArgumentsTable.h: * runtime/ScriptExecutable.h: * runtime/SetPrototype.h: * runtime/SmallStrings.h: * runtime/SparseArrayValueMap.h: * runtime/StringConstructor.h: * runtime/StringIteratorPrototype.h: * runtime/StringObject.h: * runtime/StringPrototype.h: * runtime/Structure.h: * runtime/StructureChain.h: * runtime/StructureRareData.h: * runtime/StructureTransitionTable.h: * runtime/Symbol.h: * runtime/SymbolConstructor.h: * runtime/SymbolPrototype.h: * runtime/SymbolTable.h: * runtime/TemplateObjectDescriptor.h: * runtime/TypeProfiler.cpp: * runtime/TypeProfiler.h: * runtime/TypeProfilerLog.cpp: * runtime/VarOffset.h: * testRegExp.cpp: * tools/HeapVerifier.cpp: (JSC::HeapVerifier::checkIfRecorded): * tools/JSDollarVM.cpp: * wasm/WasmB3IRGenerator.cpp: * wasm/WasmBBQPlan.cpp: * wasm/WasmFaultSignalHandler.cpp: * wasm/WasmFunctionParser.h: * wasm/WasmOMGForOSREntryPlan.cpp: * wasm/WasmOMGPlan.cpp: * wasm/WasmPlan.cpp: * wasm/WasmSignature.cpp: * wasm/WasmSignature.h: * wasm/WasmWorklist.cpp: * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCodeBlock.h: * wasm/js/WebAssemblyCompileErrorConstructor.h: * wasm/js/WebAssemblyCompileErrorPrototype.h: * wasm/js/WebAssemblyFunction.h: * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.h: * wasm/js/WebAssemblyLinkErrorConstructor.h: * wasm/js/WebAssemblyLinkErrorPrototype.h: * wasm/js/WebAssemblyMemoryConstructor.h: * wasm/js/WebAssemblyMemoryPrototype.h: * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModulePrototype.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.h: * wasm/js/WebAssemblyRuntimeErrorPrototype.h: * wasm/js/WebAssemblyTableConstructor.h: * wasm/js/WebAssemblyTablePrototype.h: * wasm/js/WebAssemblyToJSCallee.h: * yarr/Yarr.h: * yarr/YarrParser.h: * yarr/generateYarrCanonicalizeUnicode: Source/WebCore: No new tests. Covered by existing tests. * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMWindowProperties.h: * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): (GeneratePrototypeDeclaration): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.h: * bindings/scripts/test/JS/JSTestEnabledForContext.h: * bindings/scripts/test/JS/JSTestEventTarget.h: * bindings/scripts/test/JS/JSTestGlobalObject.h: * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: * bindings/scripts/test/JS/JSTestObj.h: * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: * bindings/scripts/test/JS/JSTestPluginInterface.h: * bindings/scripts/test/JS/JSTestTypedefs.h: * bridge/objc/objc_runtime.h: * bridge/runtime_array.h: * bridge/runtime_method.h: * bridge/runtime_object.h: Source/WebKit: * WebProcess/Plugins/Netscape/JSNPObject.h: Source/WTF: * wtf/Assertions.cpp: * wtf/AutomaticThread.cpp: * wtf/BitVector.h: * wtf/Bitmap.h: * wtf/BloomFilter.h: * wtf/Brigand.h: * wtf/CheckedArithmetic.h: * wtf/CrossThreadCopier.h: * wtf/CurrentTime.cpp: * wtf/DataLog.cpp: * wtf/DateMath.cpp: (WTF::daysFrom1970ToYear): * wtf/DeferrableRefCounted.h: * wtf/GetPtr.h: * wtf/HashFunctions.h: * wtf/HashMap.h: * wtf/HashTable.h: * wtf/HashTraits.h: * wtf/JSONValues.cpp: * wtf/JSONValues.h: * wtf/ListHashSet.h: * wtf/Lock.h: * wtf/LockAlgorithm.h: * wtf/LockAlgorithmInlines.h: (WTF::Hooks>::lockSlow): * wtf/Logger.h: * wtf/LoggerHelper.h: (WTF::LoggerHelper::childLogIdentifier const): * wtf/MainThread.cpp: * wtf/MetaAllocatorPtr.h: * wtf/MonotonicTime.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::NaturalLoops): * wtf/ObjectIdentifier.h: * wtf/RAMSize.cpp: * wtf/Ref.h: * wtf/RefPtr.h: * wtf/RetainPtr.h: * wtf/SchedulePair.h: * wtf/StackShot.h: * wtf/StdLibExtras.h: * wtf/TinyPtrSet.h: * wtf/URL.cpp: * wtf/URLHash.h: * wtf/URLParser.cpp: (WTF::URLParser::defaultPortForProtocol): * wtf/Vector.h: * wtf/VectorTraits.h: * wtf/WallTime.h: * wtf/WeakHashSet.h: * wtf/WordLock.h: * wtf/cocoa/CPUTimeCocoa.cpp: * wtf/cocoa/MemoryPressureHandlerCocoa.mm: * wtf/persistence/PersistentDecoder.h: * wtf/persistence/PersistentEncoder.h: * wtf/text/AtomStringHash.h: * wtf/text/CString.h: * wtf/text/StringBuilder.cpp: (WTF::expandedCapacity): * wtf/text/StringHash.h: * wtf/text/StringImpl.h: * wtf/text/StringToIntegerConversion.h: (WTF::toIntegralType): * wtf/text/SymbolRegistry.h: * wtf/text/TextStream.cpp: (WTF::hasFractions): * wtf/text/WTFString.h: * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: Canonical link: https://commits.webkit.org/215538@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-09-18 00:36:19 +00:00
static constexpr bool value = true;
};
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename T, typename U>
inline Ref<T, U> adoptRef(T& reference)
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
{
adopted(&reference);
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
return Ref<T, U>(reference, Ref<T, U>::Adopt);
Replace PassRef with Ref/Ref&& across the board. <https://webkit.org/b/139587> Reviewed by Darin Adler. Source/JavaScriptCore: * runtime/Identifier.cpp: (JSC::Identifier::add): (JSC::Identifier::add8): * runtime/Identifier.h: (JSC::Identifier::add): * runtime/IdentifierInlines.h: (JSC::Identifier::add): Source/WebCore: * Modules/battery/BatteryManager.cpp: (WebCore::BatteryManager::create): * Modules/battery/BatteryManager.h: * Modules/battery/BatteryStatus.cpp: (WebCore::BatteryStatus::create): * Modules/battery/BatteryStatus.h: * Modules/gamepad/GamepadButton.h: (WebCore::GamepadButton::create): * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad): * Modules/gamepad/NavigatorGamepad.h: * Modules/gamepad/deprecated/GamepadList.h: (WebCore::GamepadList::create): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::create): * Modules/geolocation/Geolocation.h: (WebCore::Geolocation::GeoNotifier::create): * Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::setPrivateAndOpen): * Modules/mediasource/MediaSource.h: * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::create): (WebCore::SourceBuffer::SourceBuffer): * Modules/mediasource/SourceBuffer.h: * Modules/mediastream/UserMediaClient.h: * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::requestPermission): * Modules/notifications/Notification.cpp: (WebCore::Notification::create): * Modules/notifications/Notification.h: * Modules/notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::create): * Modules/notifications/NotificationCenter.h: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.cpp: (WebCore::YouTubePluginReplacement::createElementRenderer): * Modules/plugins/YouTubePluginReplacement.h: * Modules/proximity/DeviceProximityEvent.h: (WebCore::DeviceProximityEvent::create): * WebCore.exp.in: * css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * css/BasicShapeFunctions.h: * css/CSSAspectRatioValue.h: (WebCore::CSSAspectRatioValue::create): * css/CSSBorderImage.cpp: (WebCore::createBorderImageValue): * css/CSSBorderImage.h: * css/CSSBorderImageSliceValue.h: (WebCore::CSSBorderImageSliceValue::create): * css/CSSCalculationValue.cpp: (WebCore::determineCategory): * css/CSSCalculationValue.h: (WebCore::CSSCalcValue::CSSCalcValue): (WebCore::CSSCalcValue::createCalculationValue): * css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::create): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForImageSliceSide): (WebCore::valueForNinePieceImageSlice): (WebCore::valueForNinePieceImageQuad): (WebCore::valueForNinePieceImageRepeat): (WebCore::valueForNinePieceImage): (WebCore::zoomAdjustedPixelValue): (WebCore::zoomAdjustedNumberValue): (WebCore::zoomAdjustedPixelValueForLength): (WebCore::valueForReflection): (WebCore::createPositionListForLayer): (WebCore::percentageOrZoomAdjustedValue): (WebCore::autoOrZoomAdjustedValue): (WebCore::getBorderRadiusCornerValues): (WebCore::getBorderRadiusCornerValue): (WebCore::getBorderRadiusShorthandValue): (WebCore::matrixTransformValue): (WebCore::computedTransform): (WebCore::adjustLengthForZoom): (WebCore::ComputedStyleExtractor::valueForShadow): (WebCore::ComputedStyleExtractor::valueForFilter): (WebCore::specifiedValueForGridTrackBreadth): (WebCore::specifiedValueForGridTrackSize): (WebCore::valueForGridTrackList): (WebCore::valueForGridPosition): (WebCore::createTransitionPropertyValue): (WebCore::getTransitionPropertyValue): (WebCore::scrollSnapDestination): (WebCore::scrollSnapPoints): (WebCore::scrollSnapCoordinates): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::createTimingFunctionValue): (WebCore::getTimingFunctionValue): (WebCore::createLineBoxContainValue): (WebCore::valueForFamily): (WebCore::renderTextDecorationFlagsToCSSValue): (WebCore::renderTextDecorationStyleFlagsToCSSValue): (WebCore::renderTextDecorationSkipFlagsToCSSValue): (WebCore::renderEmphasisPositionFlagsToCSSValue): (WebCore::fillRepeatToCSSValue): (WebCore::fillSourceTypeToCSSValue): (WebCore::fillSizeToCSSValue): (WebCore::altTextToCSSValue): (WebCore::contentToCSSValue): (WebCore::fontFamilyFromStyle): (WebCore::lineHeightFromStyle): (WebCore::fontSizeFromStyle): (WebCore::fontStyleFromStyle): (WebCore::fontVariantFromStyle): (WebCore::fontWeightFromStyle): (WebCore::CSSComputedStyleDeclaration::copyProperties): (WebCore::shapePropertyValue): (WebCore::ComputedStyleExtractor::copyProperties): (WebCore::ComputedStyleExtractor::copyPropertiesInSet): * css/CSSComputedStyleDeclaration.h: * css/CSSCrossfadeValue.h: (WebCore::CSSCrossfadeValue::create): * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::CSSCursorImageValue): * css/CSSCursorImageValue.h: (WebCore::CSSCursorImageValue::create): * css/CSSFilterImageValue.h: (WebCore::CSSFilterImageValue::create): * css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::create): (WebCore::CSSFontFaceSrcValue::createLocal): * css/CSSFontFeatureValue.h: (WebCore::CSSFontFeatureValue::create): * css/CSSFontValue.h: (WebCore::CSSFontValue::create): * css/CSSFunctionValue.h: (WebCore::CSSFunctionValue::create): * css/CSSGradientValue.h: (WebCore::CSSLinearGradientValue::create): (WebCore::CSSLinearGradientValue::clone): (WebCore::CSSRadialGradientValue::create): (WebCore::CSSRadialGradientValue::clone): * css/CSSGridTemplateAreasValue.h: (WebCore::CSSGridTemplateAreasValue::create): * css/CSSImageSetValue.h: (WebCore::CSSImageSetValue::create): * css/CSSImageValue.h: (WebCore::CSSImageValue::create): * css/CSSInheritedValue.h: (WebCore::CSSInheritedValue::create): * css/CSSInitialValue.h: (WebCore::CSSInitialValue::createExplicit): (WebCore::CSSInitialValue::createImplicit): * css/CSSKeyframeRule.cpp: (WebCore::StyleKeyframe::StyleKeyframe): * css/CSSKeyframeRule.h: (WebCore::StyleKeyframe::create): * css/CSSKeyframesRule.h: (WebCore::StyleRuleKeyframes::create): (WebCore::StyleRuleKeyframes::copy): * css/CSSLineBoxContainValue.h: (WebCore::CSSLineBoxContainValue::create): * css/CSSParser.cpp: (WebCore::createPrimitiveValuePair): (WebCore::CSSParser::parseInlineStyleDeclaration): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleProperties): (WebCore::CSSParser::createPrimitiveNumericValue): (WebCore::CSSParser::createPrimitiveStringValue): (WebCore::CSSParser::addFillValue): (WebCore::CSSParser::addAnimationValue): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::createIdentifier): (WebCore::CSSPrimitiveValue::createParserOperator): (WebCore::CSSPrimitiveValue::createColor): (WebCore::CSSPrimitiveValue::create): (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk): * css/CSSReflectValue.h: (WebCore::CSSReflectValue::create): * css/CSSShadowValue.h: (WebCore::CSSShadowValue::create): * css/CSSStyleDeclaration.h: * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): (WebCore::CSSStyleSheet::CSSStyleSheet): * css/CSSStyleSheet.h: * css/CSSTimingFunctionValue.h: (WebCore::CSSCubicBezierTimingFunctionValue::create): (WebCore::CSSStepsTimingFunctionValue::create): * css/CSSUnicodeRangeValue.h: (WebCore::CSSUnicodeRangeValue::create): * css/CSSValue.cpp: (WebCore::TextCloneCSSValue::create): * css/CSSValueList.h: (WebCore::CSSValueList::createCommaSeparated): (WebCore::CSSValueList::createSpaceSeparated): (WebCore::CSSValueList::createSlashSeparated): (WebCore::CSSValueList::createFromParserValueList): (WebCore::CSSValueList::append): (WebCore::CSSValueList::prepend): * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue): (WebCore::CSSValuePool::createFontFamilyValue): * css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createValue): * css/PropertySetCSSStyleDeclaration.cpp: (WebCore::PropertySetCSSStyleDeclaration::copyProperties): * css/PropertySetCSSStyleDeclaration.h: * css/StyleProperties.cpp: (WebCore::ImmutableStyleProperties::create): (WebCore::StyleProperties::immutableCopyIfNeeded): (WebCore::StyleProperties::copyBlockProperties): (WebCore::StyleProperties::mutableCopy): (WebCore::StyleProperties::copyPropertiesInSet): (WebCore::MutableStyleProperties::create): * css/StyleProperties.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::State::setStyle): (WebCore::StyleResolver::styleForElement): (WebCore::StyleResolver::styleForKeyframe): (WebCore::StyleResolver::styleForPage): (WebCore::StyleResolver::defaultStyleForElement): * css/StyleResolver.h: (WebCore::StyleResolver::State::takeStyle): (WebCore::StyleResolver::State::setParentStyle): * css/StyleRule.cpp: (WebCore::StyleRuleBase::copy): (WebCore::StyleRule::StyleRule): (WebCore::StyleRule::create): (WebCore::StyleRulePage::StyleRulePage): (WebCore::StyleRuleFontFace::StyleRuleFontFace): (WebCore::StyleRuleGroup::wrapperInsertRule): (WebCore::StyleRuleViewport::StyleRuleViewport): * css/StyleRule.h: (WebCore::StyleRule::create): (WebCore::StyleRule::copy): (WebCore::StyleRuleFontFace::create): (WebCore::StyleRuleFontFace::copy): (WebCore::StyleRulePage::create): (WebCore::StyleRulePage::copy): (WebCore::StyleRuleMedia::create): (WebCore::StyleRuleMedia::copy): (WebCore::StyleRuleSupports::create): (WebCore::StyleRuleSupports::copy): (WebCore::StyleRuleRegion::create): (WebCore::StyleRuleRegion::copy): (WebCore::StyleRuleViewport::create): (WebCore::StyleRuleViewport::copy): * css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::create): * css/StyleRuleImport.h: * css/StyleSheetContents.h: (WebCore::StyleSheetContents::create): (WebCore::StyleSheetContents::copy): * css/WebKitCSSFilterValue.h: (WebCore::WebKitCSSFilterValue::create): * css/WebKitCSSResourceValue.h: (WebCore::WebKitCSSResourceValue::create): * css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::create): * dom/ChildNodeList.h: * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::create): * dom/ClassNodeList.h: * dom/Document.cpp: (WebCore::Document::styleForElementIgnoringPendingStylesheets): * dom/Document.h: * dom/DocumentSharedObjectPool.cpp: (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes): * dom/DocumentSharedObjectPool.h: * dom/DocumentStyleSheetCollection.cpp: (WebCore::DocumentStyleSheetCollection::addAuthorSheet): (WebCore::DocumentStyleSheetCollection::addUserSheet): * dom/DocumentStyleSheetCollection.h: * dom/Element.cpp: (WebCore::Element::createElementRenderer): * dom/Element.h: * dom/ElementData.cpp: (WebCore::ShareableElementData::createWithAttributes): (WebCore::UniqueElementData::create): (WebCore::ElementData::makeUniqueCopy): (WebCore::UniqueElementData::makeShareableCopy): * dom/ElementData.h: * dom/ElementRareData.h: (WebCore::ElementRareData::setComputedStyle): * dom/NameNodeList.h: * dom/NamedFlowCollection.cpp: (WebCore::NamedFlowCollection::ensureFlowWithName): * dom/NamedFlowCollection.h: * dom/NodeRareData.h: (WebCore::NodeListsNodeData::ensureChildNodeList): (WebCore::NodeListsNodeData::ensureEmptyChildNodeList): (WebCore::NodeListsNodeData::addCacheWithAtomicName): (WebCore::NodeListsNodeData::addCacheWithQualifiedName): (WebCore::NodeListsNodeData::addCachedCollection): * dom/PseudoElement.cpp: (WebCore::PseudoElement::didRecalcStyle): * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::create): * dom/TagNodeList.h: * html/BaseButtonInputType.cpp: (WebCore::BaseButtonInputType::createInputRenderer): * html/BaseButtonInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createInputRenderer): * html/FileInputType.h: * html/HTMLAllCollection.cpp: (WebCore::HTMLAllCollection::create): * html/HTMLAllCollection.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::createElementRenderer): * html/HTMLAppletElement.h: * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::createElementRenderer): * html/HTMLBRElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::createElementRenderer): * html/HTMLButtonElement.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createElementRenderer): * html/HTMLCanvasElement.h: * html/HTMLCollection.cpp: (WebCore::HTMLCollection::create): * html/HTMLCollection.h: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createElementRenderer): * html/HTMLDetailsElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::createElementRenderer): * html/HTMLElement.h: * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::createElementRenderer): * html/HTMLFieldSetElement.h: * html/HTMLFormControlsCollection.cpp: (WebCore::HTMLFormControlsCollection::create): * html/HTMLFormControlsCollection.h: * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::createElementRenderer): * html/HTMLFrameElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::createElementRenderer): * html/HTMLFrameSetElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::createElementRenderer): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::createElementRenderer): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createElementRenderer): * html/HTMLInputElement.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::createElementRenderer): * html/HTMLMeterElement.h: * html/HTMLNameCollection.h: * html/HTMLOptionsCollection.cpp: (WebCore::HTMLOptionsCollection::create): * html/HTMLOptionsCollection.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): * html/HTMLPlugInElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): * html/HTMLPlugInImageElement.h: * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::createElementRenderer): * html/HTMLProgressElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::createElementRenderer): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createElementRenderer): * html/HTMLSummaryElement.h: * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::create): * html/HTMLTableRowsCollection.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::createElementRenderer): * html/HTMLTextAreaElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::createElementRenderer): * html/HTMLVideoElement.h: * html/HTMLWBRElement.cpp: (WebCore::HTMLWBRElement::createElementRenderer): * html/HTMLWBRElement.h: * html/HiddenInputType.cpp: (WebCore::HiddenInputType::createInputRenderer): * html/HiddenInputType.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::createInputRenderer): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::createInputRenderer): * html/InputType.h: * html/LabelsNodeList.h: * html/RadioNodeList.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createInputRenderer): * html/RangeInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createInputRenderer): * html/SearchInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createInputRenderer): * html/TextFieldInputType.h: * html/shadow/DetailsMarkerControl.cpp: (WebCore::DetailsMarkerControl::createElementRenderer): * html/shadow/DetailsMarkerControl.h: * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTimelineContainerElement::createElementRenderer): (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer): (WebCore::MediaControlTextTrackContainerElement::createElementRenderer): * html/shadow/MediaControlElements.h: * html/shadow/MeterShadowElement.cpp: (WebCore::MeterInnerElement::createElementRenderer): * html/shadow/MeterShadowElement.h: * html/shadow/ProgressShadowElement.cpp: (WebCore::ProgressInnerElement::createElementRenderer): * html/shadow/ProgressShadowElement.h: * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::RenderSliderThumb): (WebCore::SliderThumbElement::createElementRenderer): (WebCore::SliderContainerElement::createElementRenderer): * html/shadow/SliderThumbElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::TextControlInnerContainer::createElementRenderer): (WebCore::TextControlInnerTextElement::createElementRenderer): * html/shadow/TextControlInnerElements.h: * html/shadow/mac/ImageControlsButtonElementMac.cpp: (WebCore::RenderImageControlsButton::RenderImageControlsButton): (WebCore::ImageControlsButtonElementMac::createElementRenderer): * html/shadow/mac/ImageControlsButtonElementMac.h: * html/shadow/mac/ImageControlsRootElementMac.cpp: (WebCore::RenderImageControls::RenderImageControls): (WebCore::ImageControlsRootElementMac::createElementRenderer): * html/shadow/mac/ImageControlsRootElementMac.h: * html/track/VTTCue.cpp: (WebCore::VTTCueBox::createElementRenderer): * html/track/VTTCue.h: * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::create): * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createElementRenderer): * mathml/MathMLInlineContainerElement.h: * mathml/MathMLMathElement.cpp: (WebCore::MathMLMathElement::createElementRenderer): * mathml/MathMLMathElement.h: * mathml/MathMLMencloseElement.cpp: (WebCore::MathMLMencloseElement::createElementRenderer): * mathml/MathMLMencloseElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::createElementRenderer): * mathml/MathMLSelectElement.h: * mathml/MathMLTextElement.cpp: (WebCore::MathMLTextElement::createElementRenderer): * mathml/MathMLTextElement.h: * page/Page.cpp: (WebCore::Page::setStorageNamespaceProvider): (WebCore::Page::setVisitedLinkStore): * page/Page.h: * page/UserMessageHandler.h: (WebCore::UserMessageHandler::create): * page/UserMessageHandlersNamespace.h: (WebCore::UserMessageHandlersNamespace::create): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::addElementChangeToDispatch): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::animate): * page/animation/CompositeAnimation.h: * platform/CalculationValue.cpp: (WebCore::CalculationValue::create): * platform/CalculationValue.h: * platform/Length.cpp: (WebCore::CalculationValueMap::insert): (WebCore::Length::Length): * platform/Length.h: * platform/graphics/Font.cpp: (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): (WebCore::retrieveOrAddCachedFontGlyphs): * platform/graphics/FontGlyphs.h: (WebCore::FontGlyphs::create): (WebCore::FontGlyphs::createForPlatformFont): * platform/graphics/Gradient.h: (WebCore::Gradient::create): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/Pattern.cpp: (WebCore::Pattern::create): * platform/graphics/Pattern.h: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::create): * platform/mock/UserMediaClientMock.h: (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier): * rendering/ClipPathOperation.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::RenderBlockFlow): * rendering/RenderBlockFlow.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::RenderBox): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::RenderBoxModelObject): * rendering/RenderBoxModelObject.h: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::RenderDetailsMarker): * rendering/RenderDetailsMarker.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::RenderElement): (WebCore::RenderElement::createFor): (WebCore::RenderElement::setStyle): * rendering/RenderElement.h: (WebCore::RenderElement::setStyleInternal): (WebCore::RenderElement::setAnimatableStyle): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): (WebCore::RenderEmbeddedObject::createForApplet): * rendering/RenderEmbeddedObject.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::RenderFieldset): * rendering/RenderFieldset.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): * rendering/RenderFileUploadControl.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::RenderFlexibleBox): * rendering/RenderFlexibleBox.h: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::createFlowThreadStyle): * rendering/RenderFlowThread.h: * rendering/RenderFrame.cpp: (WebCore::RenderFrame::RenderFrame): * rendering/RenderFrame.h: * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::RenderFrameBase): * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::RenderFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderFullScreen.cpp: (WebCore::RenderFullScreen::RenderFullScreen): (WebCore::createFullScreenStyle): (WebCore::RenderFullScreen::createPlaceholder): * rendering/RenderFullScreen.h: * rendering/RenderGrid.cpp: (WebCore::RenderGrid::RenderGrid): * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::RenderIFrame): * rendering/RenderIFrame.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * rendering/RenderImage.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::RenderLayerModelObject): * rendering/RenderLayerModelObject.h: * rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::RenderLineBreak): * rendering/RenderLineBreak.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::RenderListBox): * rendering/RenderListBox.h: * rendering/RenderListItem.cpp: (WebCore::RenderListItem::RenderListItem): * rendering/RenderListItem.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): * rendering/RenderListMarker.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): * rendering/RenderMedia.h: * rendering/RenderMediaControlElements.cpp: (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): * rendering/RenderMediaControlElements.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): * rendering/RenderMenuList.h: * rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): * rendering/RenderMeter.h: * rendering/RenderMultiColumnFlowThread.cpp: (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread): * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): * rendering/RenderMultiColumnSet.h: * rendering/RenderMultiColumnSpannerPlaceholder.cpp: (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder): * rendering/RenderMultiColumnSpannerPlaceholder.h: * rendering/RenderNamedFlowFragment.cpp: (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment): (WebCore::RenderNamedFlowFragment::createStyle): * rendering/RenderNamedFlowFragment.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): * rendering/RenderNamedFlowThread.h: * rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): * rendering/RenderProgress.h: * rendering/RenderQuote.cpp: (WebCore::RenderQuote::RenderQuote): * rendering/RenderQuote.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): * rendering/RenderRegion.h: * rendering/RenderRegionSet.cpp: (WebCore::RenderRegionSet::RenderRegionSet): * rendering/RenderRegionSet.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): * rendering/RenderReplaced.h: * rendering/RenderReplica.cpp: (WebCore::RenderReplica::RenderReplica): * rendering/RenderReplica.h: * rendering/RenderRuby.cpp: (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): * rendering/RenderRuby.h: * rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::RenderRubyBase): * rendering/RenderRubyBase.h: * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::RenderRubyRun): * rendering/RenderRubyRun.h: * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::RenderRubyText): * rendering/RenderRubyText.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): * rendering/RenderScrollbarPart.h: * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::RenderSearchField): * rendering/RenderSearchField.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::RenderSlider): * rendering/RenderSlider.h: * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): * rendering/RenderSnapshottedPlugIn.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): * rendering/RenderTable.h: * rendering/RenderTableCaption.cpp: (WebCore::RenderTableCaption::RenderTableCaption): * rendering/RenderTableCaption.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): * rendering/RenderTableCell.h: * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::RenderTableCol): * rendering/RenderTableCol.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::RenderTableRow): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): * rendering/RenderTextControlSingleLine.h: * rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::RenderVTTCue): * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): * rendering/RenderVideo.h: * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): * rendering/RenderWidget.h: * rendering/mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::RenderMathMLBlock): * rendering/mathml/RenderMathMLBlock.h: * rendering/mathml/RenderMathMLFenced.cpp: (WebCore::RenderMathMLFenced::RenderMathMLFenced): * rendering/mathml/RenderMathMLFenced.h: * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::RenderMathMLFraction): * rendering/mathml/RenderMathMLFraction.h: * rendering/mathml/RenderMathMLMath.cpp: (WebCore::RenderMathMLMath::RenderMathMLMath): * rendering/mathml/RenderMathMLMath.h: * rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::RenderMathMLMenclose): * rendering/mathml/RenderMathMLMenclose.h: * rendering/mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::RenderMathMLOperator): * rendering/mathml/RenderMathMLOperator.h: * rendering/mathml/RenderMathMLRadicalOperator.cpp: (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator): * rendering/mathml/RenderMathMLRadicalOperator.h: * rendering/mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::RenderMathMLRoot): * rendering/mathml/RenderMathMLRoot.h: * rendering/mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::RenderMathMLRow): * rendering/mathml/RenderMathMLRow.h: * rendering/mathml/RenderMathMLScripts.cpp: (WebCore::RenderMathMLScripts::RenderMathMLScripts): * rendering/mathml/RenderMathMLScripts.h: * rendering/mathml/RenderMathMLSpace.cpp: (WebCore::RenderMathMLSpace::RenderMathMLSpace): * rendering/mathml/RenderMathMLSpace.h: * rendering/mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): * rendering/mathml/RenderMathMLSquareRoot.h: * rendering/mathml/RenderMathMLToken.cpp: (WebCore::RenderMathMLToken::RenderMathMLToken): * rendering/mathml/RenderMathMLToken.h: * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): * rendering/mathml/RenderMathMLUnderOver.h: * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::blend): (WebCore::BasicShapeEllipse::blend): (WebCore::BasicShapePolygon::blend): (WebCore::BasicShapeInset::blend): * rendering/style/BasicShapes.h: * rendering/style/DataRef.h: (WebCore::DataRef::DataRef): * rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImageData::copy): * rendering/style/NinePieceImage.h: (WebCore::NinePieceImageData::create): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::createAnonymousStyleWithDisplay): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle): * rendering/style/RenderStyle.h: * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::createDefaultStyle): (WebCore::SVGRenderStyle::copy): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): * rendering/style/SVGRenderStyleDefs.cpp: (WebCore::StyleFillData::copy): (WebCore::StyleStrokeData::copy): (WebCore::StyleStopData::copy): (WebCore::StyleTextData::copy): (WebCore::StyleMiscData::copy): (WebCore::StyleShadowSVGData::copy): (WebCore::StyleResourceData::copy): (WebCore::StyleInheritedResourceData::copy): (WebCore::StyleLayoutData::copy): * rendering/style/SVGRenderStyleDefs.h: (WebCore::StyleFillData::create): (WebCore::StyleStrokeData::create): (WebCore::StyleStopData::create): (WebCore::StyleTextData::create): (WebCore::StyleMiscData::create): (WebCore::StyleShadowSVGData::create): (WebCore::StyleResourceData::create): (WebCore::StyleInheritedResourceData::create): (WebCore::StyleLayoutData::create): * rendering/style/StyleBackgroundData.cpp: (WebCore::StyleBackgroundData::copy): * rendering/style/StyleBackgroundData.h: (WebCore::StyleBackgroundData::create): * rendering/style/StyleBoxData.cpp: (WebCore::StyleBoxData::copy): * rendering/style/StyleBoxData.h: (WebCore::StyleBoxData::create): * rendering/style/StyleDeprecatedFlexibleBoxData.cpp: (WebCore::StyleDeprecatedFlexibleBoxData::copy): * rendering/style/StyleDeprecatedFlexibleBoxData.h: (WebCore::StyleDeprecatedFlexibleBoxData::create): * rendering/style/StyleFilterData.cpp: (WebCore::StyleFilterData::copy): * rendering/style/StyleFilterData.h: (WebCore::StyleFilterData::create): * rendering/style/StyleFlexibleBoxData.cpp: (WebCore::StyleFlexibleBoxData::copy): * rendering/style/StyleFlexibleBoxData.h: (WebCore::StyleFlexibleBoxData::create): * rendering/style/StyleGeneratedImage.cpp: (WebCore::StyleGeneratedImage::StyleGeneratedImage): * rendering/style/StyleGeneratedImage.h: * rendering/style/StyleGridData.cpp: (WebCore::StyleGridData::copy): * rendering/style/StyleGridData.h: (WebCore::StyleGridData::create): * rendering/style/StyleGridItemData.cpp: (WebCore::StyleGridItemData::copy): * rendering/style/StyleGridItemData.h: (WebCore::StyleGridItemData::create): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::copy): * rendering/style/StyleInheritedData.h: (WebCore::StyleInheritedData::create): * rendering/style/StyleMarqueeData.cpp: (WebCore::StyleMarqueeData::copy): * rendering/style/StyleMarqueeData.h: (WebCore::StyleMarqueeData::create): * rendering/style/StyleMultiColData.cpp: (WebCore::StyleMultiColData::copy): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::create): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::copy): * rendering/style/StyleRareInheritedData.h: (WebCore::StyleRareInheritedData::create): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::copy): * rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::create): * rendering/style/StyleScrollSnapPoints.cpp: (WebCore::StyleScrollSnapPoints::copy): * rendering/style/StyleScrollSnapPoints.h: (WebCore::StyleScrollSnapPoints::create): * rendering/style/StyleSurroundData.cpp: (WebCore::StyleSurroundData::copy): * rendering/style/StyleSurroundData.h: (WebCore::StyleSurroundData::create): * rendering/style/StyleTransformData.cpp: (WebCore::StyleTransformData::copy): * rendering/style/StyleTransformData.h: (WebCore::StyleTransformData::create): * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::copy): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::create): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::RenderSVGBlock): * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * rendering/svg/RenderSVGContainer.h: * rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::RenderSVGEllipse): * rendering/svg/RenderSVGEllipse.h: * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::RenderSVGForeignObject): * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::RenderSVGGradientStop): * rendering/svg/RenderSVGGradientStop.h: * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer): * rendering/svg/RenderSVGHiddenContainer.h: * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::RenderSVGImage): * rendering/svg/RenderSVGImage.h: * rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::RenderSVGInline): * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): * rendering/svg/RenderSVGModelObject.h: * rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::RenderSVGPath): * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::RenderSVGRect): * rendering/svg/RenderSVGRect.h: * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): * rendering/svg/RenderSVGResourceClipper.h: * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): * rendering/svg/RenderSVGResourceContainer.h: * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): * rendering/svg/RenderSVGResourceFilter.h: * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): * rendering/svg/RenderSVGResourceFilterPrimitive.h: * rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): * rendering/svg/RenderSVGResourceGradient.h: * rendering/svg/RenderSVGResourceLinearGradient.cpp: (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): * rendering/svg/RenderSVGResourceLinearGradient.h: * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): * rendering/svg/RenderSVGResourceMarker.h: * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): * rendering/svg/RenderSVGResourceMasker.h: * rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): * rendering/svg/RenderSVGResourcePattern.h: * rendering/svg/RenderSVGResourceRadialGradient.cpp: (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): * rendering/svg/RenderSVGResourceRadialGradient.h: * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): * rendering/svg/RenderSVGRoot.h: * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::RenderSVGShape): * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): * rendering/svg/RenderSVGText.h: * rendering/svg/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::RenderSVGTextPath): * rendering/svg/RenderSVGTextPath.h: * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): * rendering/svg/RenderSVGTransformableContainer.h: * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): * rendering/svg/RenderSVGViewportContainer.h: * rendering/svg/SVGTextRunRenderingContext.h: * style/StyleResolveForDocument.cpp: (WebCore::Style::resolveForDocument): * style/StyleResolveForDocument.h: * style/StyleResolveTree.cpp: (WebCore::Style::styleForElement): * svg/SVGAElement.cpp: (WebCore::SVGAElement::createElementRenderer): * svg/SVGAElement.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::createElementRenderer): * svg/SVGAltGlyphElement.h: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::createElementRenderer): * svg/SVGCircleElement.h: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::createElementRenderer): * svg/SVGClipPathElement.h: * svg/SVGColor.h: (WebCore::SVGColor::createFromString): (WebCore::SVGColor::createFromColor): (WebCore::SVGColor::createCurrentColor): * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::createElementRenderer): * svg/SVGDefsElement.h: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::createElementRenderer): * svg/SVGEllipseElement.h: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createElementRenderer): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer): * svg/SVGFilterPrimitiveStandardAttributes.h: * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): * svg/SVGFontFaceUriElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::createElementRenderer): * svg/SVGForeignObjectElement.h: * svg/SVGGElement.cpp: (WebCore::SVGGElement::createElementRenderer): * svg/SVGGElement.h: * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::createElementRenderer): * svg/SVGGraphicsElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::createElementRenderer): * svg/SVGImageElement.h: * svg/SVGLength.cpp: (WebCore::SVGLength::toCSSPrimitiveValue): * svg/SVGLength.h: * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::createElementRenderer): * svg/SVGLinearGradientElement.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createElementRenderer): * svg/SVGMarkerElement.h: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::createElementRenderer): * svg/SVGMaskElement.h: * svg/SVGPaint.h: (WebCore::SVGPaint::createUnknown): (WebCore::SVGPaint::createNone): (WebCore::SVGPaint::createCurrentColor): (WebCore::SVGPaint::createColor): (WebCore::SVGPaint::createURI): (WebCore::SVGPaint::createURIAndColor): (WebCore::SVGPaint::createURIAndNone): (WebCore::SVGPaint::create): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::createElementRenderer): * svg/SVGPathElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::createElementRenderer): * svg/SVGPatternElement.h: * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::createElementRenderer): * svg/SVGRadialGradientElement.h: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::createElementRenderer): * svg/SVGRectElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): * svg/SVGSVGElement.h: * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::createElementRenderer): * svg/SVGStopElement.h: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::createElementRenderer): * svg/SVGSwitchElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::createElementRenderer): * svg/SVGSymbolElement.h: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefTargetEventListener::create): (WebCore::SVGTRefElement::createElementRenderer): * svg/SVGTRefElement.h: * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::createElementRenderer): * svg/SVGTSpanElement.h: * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::createElementRenderer): * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::createElementRenderer): * svg/SVGTextPathElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::createElementRenderer): * svg/SVGUseElement.h: Source/WebKit/mac: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebCoreSupport/WebVisitedLinkStore.h: * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::create): Source/WebKit2: * UIProcess/WebBackForwardList.h: (WebKit::WebBackForwardList::create): * UIProcess/WebBatteryManagerProxy.cpp: (WebKit::WebBatteryManagerProxy::create): * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::createNonNull): * UIProcess/WebPageGroup.h: * UIProcess/efl/BatteryProvider.cpp: (BatteryProvider::create): * UIProcess/efl/BatteryProvider.h: * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldApplyStyle): * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: (WebKit::WebUserMediaClient::requestPermission): * WebProcess/WebCoreSupport/WebUserMediaClient.h: * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::create): * WebProcess/WebPage/ViewUpdateDispatcher.h: Source/WTF: Kill the PassRef class and replace it by Ref/Ref&&. Usage is simple: - For locals and members, keep using Ref<T>. - For return types, use Ref<T>. - For (ownership-transferring) arguments, use Ref<T>&&. When passing to a Ref&&, use WTF::move() to mobilize the value at the call site, e.g: void myFunction(Ref<Foo>&&); Ref<Foo> myFoo(Foo::create()); myFunction(WTF::move(myFoo)); // 'myFoo' is invalid from this point forward. As you can see, it works a lot like PassRefPtr, but unlike PassRefPtr it won't surprise you by becoming null *unless* you WTF::move it. I've also added a Ref::copyRef() for instances where you want to return a Ref *without* transferring ownership, e.g code like: Ref<Foo> foo() { return m_foo; } ... now becomes ... Ref<Foo> foo() { return m_foo.copyRef(); } This makes it explicit that a refcount bump will occur. Finally, do note that unlike last year's PassRef, Ref&& does not require you to move it to avoid leaking; it will clean itself up. * wtf/PassRef.h: (WTF::adopted): Deleted. (WTF::PassRef<T>::PassRef): Deleted. (WTF::PassRef<T>::~PassRef): Deleted. (WTF::PassRef<T>::get): Deleted. (WTF::PassRef<T>::ptr): Deleted. (WTF::PassRef<T>::leakRef): Deleted. (WTF::adoptRef): Deleted. (WTF::createRefCounted): Deleted. * wtf/PassRefPtr.h: (WTF::PassRefPtr::PassRefPtr): * wtf/Ref.h: (WTF::adopted): (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::operator=): (WTF::Ref::operator->): (WTF::Ref::ptr): (WTF::Ref::get): (WTF::Ref::operator T&): (WTF::Ref::operator const T&): (WTF::Ref<T>::replace): (WTF::adoptRef): * wtf/RefCounter.h: (WTF::RefCounter::count): * wtf/RefPtr.h: (WTF::RefPtr::releaseNonNull): (WTF::RefPtr<T>::RefPtr): (WTF::=): * wtf/text/AtomicString.cpp: (WTF::addToStringTable): (WTF::AtomicString::add): (WTF::AtomicString::addFromLiteralData): (WTF::AtomicString::addSlowCase): * wtf/text/AtomicString.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createWithoutCopying): (WTF::StringImpl::createUninitializedInternal): (WTF::StringImpl::createUninitializedInternalNonEmpty): (WTF::StringImpl::createUninitialized): (WTF::StringImpl::reallocateInternal): (WTF::StringImpl::reallocate): (WTF::StringImpl::createInternal): (WTF::StringImpl::create): (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::substring): (WTF::StringImpl::lower): (WTF::StringImpl::upper): (WTF::StringImpl::fill): (WTF::StringImpl::foldCase): (WTF::StringImpl::convertToASCIILowercase): (WTF::StringImpl::stripMatchedCharacters): (WTF::StringImpl::stripWhiteSpace): (WTF::StringImpl::removeCharacters): (WTF::StringImpl::simplifyMatchedCharactersToSpace): (WTF::StringImpl::simplifyWhiteSpace): (WTF::StringImpl::replace): (WTF::StringImpl::adopt): * wtf/text/StringImpl.h: (WTF::StringImpl::create8BitIfPossible): (WTF::StringImpl::create): (WTF::StringImpl::createSubstringSharingImpl8): (WTF::StringImpl::createSubstringSharingImpl): (WTF::StringImpl::createFromLiteral): (WTF::StringImpl::createEmptyUnique): (WTF::StringImpl::adopt): (WTF::StringImpl::replace): (WTF::StringImpl::constructInternal<LChar>): (WTF::StringImpl::constructInternal<UChar>): (WTF::StringImpl::isolatedCopy): * wtf/text/WTFString.h: (WTF::String::String): Tools: * TestWebKitAPI/Tests/WTF/Ref.cpp: (TestWebKitAPI::passWithRef): (TestWebKitAPI::TEST): (TestWebKitAPI::passWithPassRef): Deleted. * TestWebKitAPI/Tests/WTF/RefCounter.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: (TestWebKitAPI::createTestValue): Canonical link: https://commits.webkit.org/157498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-12-14 08:21:05 +00:00
}
Added a makeRef<T> helper https://bugs.webkit.org/show_bug.cgi?id=159835 Reviewed by Andreas Kling. Anders told me to! Source/JavaScriptCore: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): Source/WebCore: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::putOrAddOnServer): * Modules/indexeddb/shared/InProcessIDBServer.cpp: (WebCore::InProcessIDBServer::deleteDatabase): (WebCore::InProcessIDBServer::didDeleteDatabase): (WebCore::InProcessIDBServer::openDatabase): (WebCore::InProcessIDBServer::didOpenDatabase): (WebCore::InProcessIDBServer::didAbortTransaction): (WebCore::InProcessIDBServer::didCommitTransaction): (WebCore::InProcessIDBServer::didCreateObjectStore): (WebCore::InProcessIDBServer::didDeleteObjectStore): (WebCore::InProcessIDBServer::didClearObjectStore): (WebCore::InProcessIDBServer::didCreateIndex): (WebCore::InProcessIDBServer::didDeleteIndex): (WebCore::InProcessIDBServer::didPutOrAdd): (WebCore::InProcessIDBServer::didGetRecord): (WebCore::InProcessIDBServer::didGetCount): (WebCore::InProcessIDBServer::didDeleteRecord): (WebCore::InProcessIDBServer::didOpenCursor): (WebCore::InProcessIDBServer::didIterateCursor): (WebCore::InProcessIDBServer::abortTransaction): (WebCore::InProcessIDBServer::commitTransaction): (WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction): (WebCore::InProcessIDBServer::createObjectStore): (WebCore::InProcessIDBServer::deleteObjectStore): (WebCore::InProcessIDBServer::clearObjectStore): (WebCore::InProcessIDBServer::createIndex): (WebCore::InProcessIDBServer::deleteIndex): (WebCore::InProcessIDBServer::putOrAdd): (WebCore::InProcessIDBServer::getRecord): (WebCore::InProcessIDBServer::getCount): (WebCore::InProcessIDBServer::deleteRecord): (WebCore::InProcessIDBServer::openCursor): (WebCore::InProcessIDBServer::iterateCursor): (WebCore::InProcessIDBServer::establishTransaction): (WebCore::InProcessIDBServer::fireVersionChangeEvent): (WebCore::InProcessIDBServer::didStartTransaction): (WebCore::InProcessIDBServer::didCloseFromServer): (WebCore::InProcessIDBServer::notifyOpenDBRequestBlocked): (WebCore::InProcessIDBServer::databaseConnectionClosed): (WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded): (WebCore::InProcessIDBServer::didFireVersionChangeEvent): (WebCore::InProcessIDBServer::openDBRequestCancelled): (WebCore::InProcessIDBServer::confirmDidCloseFromServer): (WebCore::InProcessIDBServer::getAllDatabaseNames): (WebCore::InProcessIDBServer::didGetAllDatabaseNames): * Modules/mediastream/MediaDevicesRequest.cpp: (WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): * Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::constraintsValidated): (WebCore::UserMediaRequest::userMediaAccessGranted): * Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::scheduleNodeDeletion): (WebCore::AudioContext::isPlayingAudioDidChange): (WebCore::AudioContext::suspend): (WebCore::AudioContext::resume): (WebCore::AudioContext::close): (WebCore::AudioContext::suspendPlayback): (WebCore::AudioContext::mayResumePlayback): * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData): (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake): (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError): (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::connect): * bindings/js/JSEventListener.h: (WebCore::JSEventListener::jsFunction): * dom/Node.cpp: (WebCore::Node::setTextContent): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::layoutSizeChanged): * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::wrapper): * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: (WebCore::AudioSourceProviderAVFObjC::prepare): * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: (WebCore::WebCoreAVCFResourceLoader::invalidate): * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: (WebCore::WebCoreAVFResourceLoader::invalidate): * platform/ios/WebVideoFullscreenControllerAVKit.mm: (WebVideoFullscreenControllerContext::setExternalPlayback): * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::start): (WebCore::BlobResourceHandle::notifyFinish): * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::disconnect): * platform/network/curl/CurlDownload.cpp: (WebCore::CurlDownload::didReceiveHeader): Source/WebKit2: * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles): * NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry): * Platform/IPC/Connection.cpp: (IPC::Connection::addWorkQueueMessageReceiver): (IPC::Connection::removeWorkQueueMessageReceiver): (IPC::Connection::invalidate): (IPC::Connection::sendMessage): (IPC::Connection::processIncomingMessage): (IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue): (IPC::Connection::connectionDidClose): (IPC::Connection::enqueueIncomingMessage): * Platform/IPC/mac/ConnectionMac.mm: (IPC::Connection::receiveSourceEventHandler): * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): (WebKit::ThreadedCompositor::setDeviceScaleFactor): (WebKit::ThreadedCompositor::didChangeViewportSize): (WebKit::ThreadedCompositor::didChangeViewportAttribute): (WebKit::ThreadedCompositor::didChangeContentsSize): (WebKit::ThreadedCompositor::scrollTo): (WebKit::ThreadedCompositor::scrollBy): (WebKit::ThreadedCompositor::didChangeVisibleRect): * UIProcess/API/APIUserContentExtensionStore.cpp: (API::UserContentExtensionStore::lookupContentExtension): (API::UserContentExtensionStore::compileContentExtension): (API::UserContentExtensionStore::removeContentExtension): * UIProcess/Launcher/ProcessLauncher.cpp: (WebKit::ProcessLauncher::ProcessLauncher): * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker): * UIProcess/Storage/StorageManager.cpp: (WebKit::StorageManager::createSessionStorageNamespace): (WebKit::StorageManager::destroySessionStorageNamespace): (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::cloneSessionStorageNamespace): (WebKit::StorageManager::processDidCloseConnection): (WebKit::StorageManager::getSessionStorageOrigins): (WebKit::StorageManager::deleteSessionStorageOrigins): (WebKit::StorageManager::deleteSessionStorageEntriesForOrigins): (WebKit::StorageManager::getLocalStorageOrigins): (WebKit::StorageManager::getLocalStorageOriginDetails): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): * UIProcess/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::fetchData): * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginThreadAsyncCall): * WebProcess/WebPage/EventDispatcher.cpp: (WebKit::EventDispatcher::wheelEvent): (WebKit::EventDispatcher::gestureEvent): (WebKit::EventDispatcher::touchEvent): * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate): Source/WTF: * wtf/Ref.h: (WTF::makeRef): Helper function to do type inference for you. Canonical link: https://commits.webkit.org/177993@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-07-15 21:51:07 +00:00
template<typename T>
inline Ref<T> makeRef(T& reference)
{
return Ref<T>(reference);
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename ExpectedType, typename ArgType, typename PtrTraits>
inline bool is(Ref<ArgType, PtrTraits>& source)
Improve compile-time assertions in is<>() / downcast<>() https://bugs.webkit.org/show_bug.cgi?id=157817 Reviewed by Darin Adler. Source/WebCore: Add missing includes and drop unnecessary is<WebVTTElement>() check in SharingResolver::canShareStyleWithElement() that was identified by the new assertions. WebVTTElement inherits Element but the check was done on a StyledElement. * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilitySVGElement.cpp: * css/CSSDefaultStyleSheets.cpp: * css/CSSParser.cpp: * css/CSSStyleSheet.cpp: * css/StyleResolver.cpp: * cssjit/SelectorCompiler.cpp: * dom/Document.cpp: * dom/Element.cpp: * dom/Node.cpp: * dom/Position.cpp: * editing/ApplyStyleCommand.cpp: * editing/FrameSelection.cpp: * editing/ReplaceSelectionCommand.cpp: * editing/TextIterator.cpp: * editing/VisiblePosition.cpp: * editing/VisibleUnits.cpp: * editing/cocoa/HTMLConverter.mm: * editing/htmlediting.cpp: * editing/markup.cpp: * html/GenericCachedHTMLCollection.cpp: * html/HTMLBodyElement.cpp: * html/HTMLFormElement.cpp: * html/HTMLLIElement.cpp: * html/HTMLNameCollection.cpp: * html/HTMLSelectElement.cpp: * html/parser/HTMLTreeBuilder.cpp: * inspector/InspectorDOMAgent.cpp: * inspector/InspectorStyleSheet.cpp: * loader/SubframeLoader.cpp: * loader/archive/cf/LegacyWebArchive.cpp: * mathml/MathMLElement.cpp: * page/EventHandler.cpp: * page/FrameView.cpp: * page/PageSerializer.cpp: * page/SpatialNavigation.cpp: * page/mac/EventHandlerMac.mm: * rendering/HitTestResult.cpp: * rendering/RenderBlockFlow.cpp: * rendering/RenderBox.cpp: * rendering/RenderBoxModelObject.cpp: * rendering/RenderElement.cpp: * rendering/RenderFieldset.cpp: * rendering/RenderLayer.cpp: * rendering/svg/RenderSVGTransformableContainer.cpp: * style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement): * svg/SVGAnimationElement.cpp: * svg/SVGFELightElement.cpp: * svg/SVGTextPositioningElement.cpp: Source/WebKit2: Add missing includes. * WebProcess/WebPage/WebFrame.cpp: * WebProcess/WebPage/WebPage.cpp: Source/WTF: * wtf/Ref.h: (WTF::is): Add is<>() overloads taking a Ref<>() so that is<>() keeps working when passing a Ref<>(), despite the new static assertions on the input type. Some call sites were already leveraging this as it was working by implicitly converting the Ref<T> into a T&. * wtf/TypeCasts.h: (WTF::is): (WTF::downcast): Make static assertions stricter in is<>() / downcast<>() to catch more cases where those are either unnecessary or incorrect. Canonical link: https://commits.webkit.org/176050@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-20 01:50:51 +00:00
{
return is<ExpectedType>(source.get());
}
Enhance Ref and RefPtr to be able to work with smart pointers. https://bugs.webkit.org/show_bug.cgi?id=180762 <rdar://problem/36027122> Reviewed by JF Bastien and Darin Adler. Source/WTF: This is so we can use them with ConstExprPoisoned pointers to make PoisonedRef and PoisonedRefPtr. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/DumbPtrTraits.h: Added. (WTF::DumbPtrTraits::exchange): (WTF::DumbPtrTraits::swap): (WTF::DumbPtrTraits::unwrap): * wtf/Forward.h: * wtf/Poisoned.h: (WTF::ConstExprPoisonedPtrTraits::exchange): (WTF::ConstExprPoisonedPtrTraits::swap): (WTF::ConstExprPoisonedPtrTraits::unwrap): * wtf/Ref.h: (WTF::Ref::~Ref): (WTF::Ref::Ref): (WTF::Ref::ptrAllowingHashTableEmptyValue const): (WTF::Ref::ptrAllowingHashTableEmptyValue): (WTF::Ref::operator-> const): (WTF::Ref::get const): (WTF::Ref::operator T& const): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::U>::replace): (WTF::static_reference_cast): (WTF::adoptRef): (WTF::is): (WTF::Ref<T>::swap): Deleted. (WTF::Ref<T>::replace): Deleted. (WTF::GetPtrHelper<Ref<T>>::getPtr): Deleted. * wtf/RefPtr.cpp: Added. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): (WTF::RefPtr::~RefPtr): (WTF::RefPtr::get const): (WTF::RefPtr::operator* const): (WTF::RefPtr::operator-> const): (WTF::U>::RefPtr): (WTF::U>::leakRef): (WTF::=): (WTF::U>::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::static_pointer_cast): (WTF::adoptRef): (WTF::is): (WTF::RefPtr<T>::RefPtr): Deleted. (WTF::RefPtr<T>::leakRef): Deleted. (WTF::RefPtr<T>::swap): Deleted. Tools: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Poisoned.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::passWithRef): (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger): (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref): (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger): * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::f1): (TestWebKitAPI::ConstRefCounted::create): (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger): (TestWebKitAPI::loggerName): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref): (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref): Canonical link: https://commits.webkit.org/196809@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-17 23:22:18 +00:00
template<typename ExpectedType, typename ArgType, typename PtrTraits>
inline bool is(const Ref<ArgType, PtrTraits>& source)
Improve compile-time assertions in is<>() / downcast<>() https://bugs.webkit.org/show_bug.cgi?id=157817 Reviewed by Darin Adler. Source/WebCore: Add missing includes and drop unnecessary is<WebVTTElement>() check in SharingResolver::canShareStyleWithElement() that was identified by the new assertions. WebVTTElement inherits Element but the check was done on a StyledElement. * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilitySVGElement.cpp: * css/CSSDefaultStyleSheets.cpp: * css/CSSParser.cpp: * css/CSSStyleSheet.cpp: * css/StyleResolver.cpp: * cssjit/SelectorCompiler.cpp: * dom/Document.cpp: * dom/Element.cpp: * dom/Node.cpp: * dom/Position.cpp: * editing/ApplyStyleCommand.cpp: * editing/FrameSelection.cpp: * editing/ReplaceSelectionCommand.cpp: * editing/TextIterator.cpp: * editing/VisiblePosition.cpp: * editing/VisibleUnits.cpp: * editing/cocoa/HTMLConverter.mm: * editing/htmlediting.cpp: * editing/markup.cpp: * html/GenericCachedHTMLCollection.cpp: * html/HTMLBodyElement.cpp: * html/HTMLFormElement.cpp: * html/HTMLLIElement.cpp: * html/HTMLNameCollection.cpp: * html/HTMLSelectElement.cpp: * html/parser/HTMLTreeBuilder.cpp: * inspector/InspectorDOMAgent.cpp: * inspector/InspectorStyleSheet.cpp: * loader/SubframeLoader.cpp: * loader/archive/cf/LegacyWebArchive.cpp: * mathml/MathMLElement.cpp: * page/EventHandler.cpp: * page/FrameView.cpp: * page/PageSerializer.cpp: * page/SpatialNavigation.cpp: * page/mac/EventHandlerMac.mm: * rendering/HitTestResult.cpp: * rendering/RenderBlockFlow.cpp: * rendering/RenderBox.cpp: * rendering/RenderBoxModelObject.cpp: * rendering/RenderElement.cpp: * rendering/RenderFieldset.cpp: * rendering/RenderLayer.cpp: * rendering/svg/RenderSVGTransformableContainer.cpp: * style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement): * svg/SVGAnimationElement.cpp: * svg/SVGFELightElement.cpp: * svg/SVGTextPositioningElement.cpp: Source/WebKit2: Add missing includes. * WebProcess/WebPage/WebFrame.cpp: * WebProcess/WebPage/WebPage.cpp: Source/WTF: * wtf/Ref.h: (WTF::is): Add is<>() overloads taking a Ref<>() so that is<>() keeps working when passing a Ref<>(), despite the new static assertions on the input type. Some call sites were already leveraging this as it was working by implicitly converting the Ref<T> into a T&. * wtf/TypeCasts.h: (WTF::is): (WTF::downcast): Make static assertions stricter in is<>() / downcast<>() to catch more cases where those are either unnecessary or incorrect. Canonical link: https://commits.webkit.org/176050@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-20 01:50:51 +00:00
{
return is<ExpectedType>(source.get());
}
WebProcessPool should store Vector<Ref<WebProcessProxy>> instead of Vector<RefPtr> https://bugs.webkit.org/show_bug.cgi?id=224412 Patch by Alex Christensen <achristensen@webkit.org> on 2021-04-13 Reviewed by Chris Dumez. Source/WebKit: No change in behavior, except I also changed a raw pointer to a WeakPtr, so we should be a little safer. * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::remoteWebInspectorEnabledCallback): (WebKit::WebProcessPool::registerNotificationObservers): * UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::cacheMediaMIMETypes): * UIProcess/VisitedLinkStore.cpp: (WebKit::VisitedLinkStore::removeAll): (WebKit::VisitedLinkStore::sendStoreHandleToProcess): (WebKit::VisitedLinkStore::didUpdateSharedStringHashes): * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::gpuProcessCrashed): (WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess): (WebKit::WebProcessPool::tryTakePrewarmedProcess): (WebKit::WebProcessPool::initializeNewWebProcess): (WebKit::WebProcessPool::enableProcessTermination): (WebKit::WebProcessPool::shouldTerminate): (WebKit::WebProcessPool::processDidFinishLaunching): (WebKit::WebProcessPool::disconnectProcess): (WebKit::WebProcessPool::processForRegistrableDomain): (WebKit::WebProcessPool::createWebPage): (WebKit::WebProcessPool::terminateAllWebContentProcesses): (WebKit::webProcessProxyFromConnection): * UIProcess/WebProcessPool.h: (WebKit::WebProcessPool::sendToAllProcesses): (WebKit::WebProcessPool::sendToAllProcessesForSession): * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching): Source/WTF: * wtf/Ref.h: (WTF::operator==): (WTF::operator!=): Canonical link: https://commits.webkit.org/236480@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-13 22:48:10 +00:00
template<typename T, typename U, typename V, typename W>
inline bool operator==(const Ref<T, U>& a, const Ref<V, W>& b)
{
return a.ptr() == b.ptr();
}
template<typename T, typename U, typename V>
inline bool operator==(const Ref<T, U>& a, V& b)
{
return a.ptr() == &b;
}
template<typename T, typename U, typename V>
inline bool operator==(T& a, const Ref<U, V>& b)
{
return &a == b.ptr();
}
template<typename T, typename U, typename V, typename W>
inline bool operator!=(const Ref<T, U>& a, const Ref<V, W>& b)
{
return a.ptr() != b.ptr();
}
template<typename T, typename U, typename V>
inline bool operator!=(const Ref<T, U>& a, V& b)
{
return a.ptr() != &b;
}
template<typename T, typename U, typename V>
inline bool operator!=(T& a, const Ref<U, V>& b)
{
return &a != b.ptr();
}
} // namespace WTF
using WTF::Ref;
using WTF::adoptRef;
Added a makeRef<T> helper https://bugs.webkit.org/show_bug.cgi?id=159835 Reviewed by Andreas Kling. Anders told me to! Source/JavaScriptCore: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): Source/WebCore: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::putOrAddOnServer): * Modules/indexeddb/shared/InProcessIDBServer.cpp: (WebCore::InProcessIDBServer::deleteDatabase): (WebCore::InProcessIDBServer::didDeleteDatabase): (WebCore::InProcessIDBServer::openDatabase): (WebCore::InProcessIDBServer::didOpenDatabase): (WebCore::InProcessIDBServer::didAbortTransaction): (WebCore::InProcessIDBServer::didCommitTransaction): (WebCore::InProcessIDBServer::didCreateObjectStore): (WebCore::InProcessIDBServer::didDeleteObjectStore): (WebCore::InProcessIDBServer::didClearObjectStore): (WebCore::InProcessIDBServer::didCreateIndex): (WebCore::InProcessIDBServer::didDeleteIndex): (WebCore::InProcessIDBServer::didPutOrAdd): (WebCore::InProcessIDBServer::didGetRecord): (WebCore::InProcessIDBServer::didGetCount): (WebCore::InProcessIDBServer::didDeleteRecord): (WebCore::InProcessIDBServer::didOpenCursor): (WebCore::InProcessIDBServer::didIterateCursor): (WebCore::InProcessIDBServer::abortTransaction): (WebCore::InProcessIDBServer::commitTransaction): (WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction): (WebCore::InProcessIDBServer::createObjectStore): (WebCore::InProcessIDBServer::deleteObjectStore): (WebCore::InProcessIDBServer::clearObjectStore): (WebCore::InProcessIDBServer::createIndex): (WebCore::InProcessIDBServer::deleteIndex): (WebCore::InProcessIDBServer::putOrAdd): (WebCore::InProcessIDBServer::getRecord): (WebCore::InProcessIDBServer::getCount): (WebCore::InProcessIDBServer::deleteRecord): (WebCore::InProcessIDBServer::openCursor): (WebCore::InProcessIDBServer::iterateCursor): (WebCore::InProcessIDBServer::establishTransaction): (WebCore::InProcessIDBServer::fireVersionChangeEvent): (WebCore::InProcessIDBServer::didStartTransaction): (WebCore::InProcessIDBServer::didCloseFromServer): (WebCore::InProcessIDBServer::notifyOpenDBRequestBlocked): (WebCore::InProcessIDBServer::databaseConnectionClosed): (WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded): (WebCore::InProcessIDBServer::didFireVersionChangeEvent): (WebCore::InProcessIDBServer::openDBRequestCancelled): (WebCore::InProcessIDBServer::confirmDidCloseFromServer): (WebCore::InProcessIDBServer::getAllDatabaseNames): (WebCore::InProcessIDBServer::didGetAllDatabaseNames): * Modules/mediastream/MediaDevicesRequest.cpp: (WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): * Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::constraintsValidated): (WebCore::UserMediaRequest::userMediaAccessGranted): * Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::scheduleNodeDeletion): (WebCore::AudioContext::isPlayingAudioDidChange): (WebCore::AudioContext::suspend): (WebCore::AudioContext::resume): (WebCore::AudioContext::close): (WebCore::AudioContext::suspendPlayback): (WebCore::AudioContext::mayResumePlayback): * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData): (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake): (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError): (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::connect): * bindings/js/JSEventListener.h: (WebCore::JSEventListener::jsFunction): * dom/Node.cpp: (WebCore::Node::setTextContent): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::layoutSizeChanged): * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::wrapper): * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: (WebCore::AudioSourceProviderAVFObjC::prepare): * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: (WebCore::WebCoreAVCFResourceLoader::invalidate): * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: (WebCore::WebCoreAVFResourceLoader::invalidate): * platform/ios/WebVideoFullscreenControllerAVKit.mm: (WebVideoFullscreenControllerContext::setExternalPlayback): * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::start): (WebCore::BlobResourceHandle::notifyFinish): * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::disconnect): * platform/network/curl/CurlDownload.cpp: (WebCore::CurlDownload::didReceiveHeader): Source/WebKit2: * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles): * NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry): * Platform/IPC/Connection.cpp: (IPC::Connection::addWorkQueueMessageReceiver): (IPC::Connection::removeWorkQueueMessageReceiver): (IPC::Connection::invalidate): (IPC::Connection::sendMessage): (IPC::Connection::processIncomingMessage): (IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue): (IPC::Connection::connectionDidClose): (IPC::Connection::enqueueIncomingMessage): * Platform/IPC/mac/ConnectionMac.mm: (IPC::Connection::receiveSourceEventHandler): * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): (WebKit::ThreadedCompositor::setDeviceScaleFactor): (WebKit::ThreadedCompositor::didChangeViewportSize): (WebKit::ThreadedCompositor::didChangeViewportAttribute): (WebKit::ThreadedCompositor::didChangeContentsSize): (WebKit::ThreadedCompositor::scrollTo): (WebKit::ThreadedCompositor::scrollBy): (WebKit::ThreadedCompositor::didChangeVisibleRect): * UIProcess/API/APIUserContentExtensionStore.cpp: (API::UserContentExtensionStore::lookupContentExtension): (API::UserContentExtensionStore::compileContentExtension): (API::UserContentExtensionStore::removeContentExtension): * UIProcess/Launcher/ProcessLauncher.cpp: (WebKit::ProcessLauncher::ProcessLauncher): * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker): * UIProcess/Storage/StorageManager.cpp: (WebKit::StorageManager::createSessionStorageNamespace): (WebKit::StorageManager::destroySessionStorageNamespace): (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection): (WebKit::StorageManager::cloneSessionStorageNamespace): (WebKit::StorageManager::processDidCloseConnection): (WebKit::StorageManager::getSessionStorageOrigins): (WebKit::StorageManager::deleteSessionStorageOrigins): (WebKit::StorageManager::deleteSessionStorageEntriesForOrigins): (WebKit::StorageManager::getLocalStorageOrigins): (WebKit::StorageManager::getLocalStorageOriginDetails): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): * UIProcess/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::fetchData): * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginThreadAsyncCall): * WebProcess/WebPage/EventDispatcher.cpp: (WebKit::EventDispatcher::wheelEvent): (WebKit::EventDispatcher::gestureEvent): (WebKit::EventDispatcher::touchEvent): * WebProcess/WebPage/ViewUpdateDispatcher.cpp: (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate): Source/WTF: * wtf/Ref.h: (WTF::makeRef): Helper function to do type inference for you. Canonical link: https://commits.webkit.org/177993@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-07-15 21:51:07 +00:00
using WTF::makeRef;
Remove PassRefPtr from svg/properties classes. https://bugs.webkit.org/show_bug.cgi?id=142063. Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10 Reviewed by Darin Adler. Source/WebCore: Remove PassRefPtr from svg/properties classes. All the return types and the local variables should be RefPtr. If we are sure the pointer can't be null, we use Ref instead. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper): (WebCore::SVGMarkerElement::orientTypeAnimated): * svg/SVGMarkerElement.h: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::lookupOrCreateDWrapper): (WebCore::SVGPathElement::pathSegList): (WebCore::SVGPathElement::animatedPathSegList): * svg/SVGPathElement.h: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper): (WebCore::SVGPolyElement::points): (WebCore::SVGPolyElement::animatedPoints): * svg/SVGPolyElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper): (WebCore::SVGTextContentElement::textLengthAnimated): * svg/SVGTextContentElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::transform): (WebCore::SVGViewSpec::viewBoxAnimated): (WebCore::SVGViewSpec::preserveAspectRatioAnimated): (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): * svg/SVGViewSpec.h: * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): * svg/properties/SVGAnimatedListPropertyTearOff.h: (WebCore::SVGAnimatedListPropertyTearOff::create): * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: (WebCore::SVGAnimatedPathSegListPropertyTearOff::create): * svg/properties/SVGAnimatedProperty.h: (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): * svg/properties/SVGAnimatedPropertyMacros.h: * svg/properties/SVGAnimatedPropertyTearOff.h: (WebCore::SVGAnimatedPropertyTearOff::create): * svg/properties/SVGAnimatedStaticPropertyTearOff.h: (WebCore::SVGAnimatedStaticPropertyTearOff::create): * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: (WebCore::SVGAnimatedTransformListPropertyTearOff::create): * svg/properties/SVGListProperty.h: (WebCore::SVGListProperty::initializeValuesAndWrappers): (WebCore::SVGListProperty::getItemValuesAndWrappers): (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers): (WebCore::SVGListProperty::replaceItemValuesAndWrappers): (WebCore::SVGListProperty::removeItemValuesAndWrappers): (WebCore::SVGListProperty::appendItemValuesAndWrappers): * svg/properties/SVGListPropertyTearOff.h: (WebCore::SVGListPropertyTearOff::create): (WebCore::SVGListPropertyTearOff::initialize): (WebCore::SVGListPropertyTearOff::getItem): (WebCore::SVGListPropertyTearOff::insertItemBefore): (WebCore::SVGListPropertyTearOff::replaceItem): (WebCore::SVGListPropertyTearOff::removeItem): (WebCore::SVGListPropertyTearOff::appendItem): * svg/properties/SVGPathSegListPropertyTearOff.cpp: (WebCore::SVGPathSegListPropertyTearOff::getItem): (WebCore::SVGPathSegListPropertyTearOff::replaceItem): (WebCore::SVGPathSegListPropertyTearOff::removeItem): * svg/properties/SVGPathSegListPropertyTearOff.h: (WebCore::SVGPathSegListPropertyTearOff::create): (WebCore::SVGPathSegListPropertyTearOff::initialize): (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore): (WebCore::SVGPathSegListPropertyTearOff::appendItem): * svg/properties/SVGPropertyInfo.h: * svg/properties/SVGStaticListPropertyTearOff.h: (WebCore::SVGStaticListPropertyTearOff::create): * svg/properties/SVGStaticPropertyTearOff.h: (WebCore::SVGStaticPropertyTearOff::create): * svg/properties/SVGTransformListPropertyTearOff.h: (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): Source/WTF: * wtf/Ref.h: (WTF::static_reference_cast): Add a stat_cast function to Ref<>. Canonical link: https://commits.webkit.org/160585@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-10 20:39:50 +00:00
using WTF::static_reference_cast;