WebKit Bugzilla
Attachment 343380 Details for
Bug 186944
: Adjust WEBCORE_EXPORT annotations for LTO
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186944-20180622154352.patch (text/plain), 21.60 KB, created by
Keith Rollin
on 2018-06-22 15:43:53 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Keith Rollin
Created:
2018-06-22 15:43:53 PDT
Size:
21.60 KB
patch
obsolete
>Subversion Revision: 232987 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 753a34259d2377a5a75ff388cecf1e61ffd759c9..2eda6aaf435bbc76cd7a718ad38c8b3a672d1957 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,78 @@ >+2018-06-22 Keith Rollin <krollin@apple.com> >+ >+ Adjust WEBCORE_EXPORT annotations for LTO >+ https://bugs.webkit.org/show_bug.cgi?id=186944 >+ <rdar://problem/41384880> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Adjust a number of places that result in WebKit's >+ 'check-for-weak-vtables-and-externals' script reporting weak external >+ symbols: >+ >+ ERROR: WebCore has a weak external symbol in it (/Volumes/Data/dev/webkit/OpenSource/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore) >+ ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library. >+ ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file. >+ ... >+ >+ These cases are caused by inline methods being marked with WTF_EXPORT >+ (or related macro) or with an inline function being in a class marked >+ as such, and when enabling LTO builds. >+ >+ For the most part, address these by removing the WEBCORE_EXPORT >+ annotation from inline methods. In some cases, move the implementation >+ out-of-line because it's the class that has the WEBCORE_EXPORT on it >+ and removing the annotation from the class would be too disruptive. >+ Finally, in other cases, move the implementation out-of-line because >+ check-for-weak-vtables-and-externals still complains when keeping the >+ implementation inline and removing the annotation; this seems to >+ typically (but not always) happen with destructors. >+ >+ No new tests. There is no changed functionality. Only the annotation >+ and treatment of inline methods are altered. >+ >+ * animation/AnimationTimeline.h: >+ (WebCore::AnimationTimeline::pause): >+ * page/CacheStorageProvider.h: >+ (): Deleted. >+ * page/scrolling/ScrollingTree.h: >+ (WebCore::ScrollingTree::reportSynchronousScrollingReasonsChanged): >+ (WebCore::ScrollingTree::reportExposedUnfilledArea): >+ * platform/audio/PlatformMediaSessionManager.h: >+ (WebCore::PlatformMediaSessionManager::hasActiveNowPlayingSession const): >+ (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingTitle const): >+ (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingDuration const): >+ (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingElapsedTime const): >+ (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingInfoUniqueIdentifier const): >+ (WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const): >+ * platform/audio/mac/CARingBuffer.cpp: >+ (WebCore::CARingBuffer::~CARingBuffer): >+ * platform/audio/mac/CARingBuffer.h: >+ (WebCore::CARingBuffer::~CARingBuffer): Deleted. >+ * platform/cocoa/VideoFullscreenModelVideoElement.h: >+ * platform/gamepad/GamepadProvider.h: >+ * platform/graphics/GraphicsLayer.h: >+ (WebCore::GraphicsLayer::displayListAsText const): >+ (WebCore::GraphicsLayer::setIsTrackingDisplayListReplay): >+ (WebCore::GraphicsLayer::isTrackingDisplayListReplay const): >+ (WebCore::GraphicsLayer::replayDisplayListAsText const): >+ * platform/mac/PlaybackSessionInterfaceMac.h: >+ * platform/mediastream/RealtimeMediaSourceCenter.h: >+ (WebCore::RealtimeMediaSourceCenter::setAudioFactory): >+ (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory): >+ * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: >+ (WebCore::LibWebRTCProvider::setActive): >+ (WebCore::LibWebRTCProvider::createDecoderFactory): >+ (WebCore::LibWebRTCProvider::createEncoderFactory): >+ (WebCore::LibWebRTCProvider::disableEnumeratingAllNetworkInterfaces): >+ (WebCore::LibWebRTCProvider::enableEnumeratingAllNetworkInterfaces): >+ * platform/mediastream/libwebrtc/LibWebRTCProvider.h: >+ * platform/network/ResourceHandleClient.h: >+ (WebCore::ResourceHandleClient::willCacheResponseAsync): >+ * testing/MockGamepadProvider.h: >+ * workers/service/server/SWServer.h: >+ (WebCore::SWServer::Connection::~Connection): >+ > 2018-06-19 Youenn Fablet <youenn@apple.com> > > Need to properly handle removal of worker in SWServer::unregisterServiceWorkerClient timer lambda >diff --git a/Source/WebCore/animation/AnimationTimeline.h b/Source/WebCore/animation/AnimationTimeline.h >index 139272ca941bcc0eb83e37599a404de5281f212b..2bda80045338f0e836f8d14f5a0a02f29ba9ac70 100644 >--- a/Source/WebCore/animation/AnimationTimeline.h >+++ b/Source/WebCore/animation/AnimationTimeline.h >@@ -53,7 +53,7 @@ public: > virtual std::optional<Seconds> currentTime() { return m_currentTime; } > WEBCORE_EXPORT void setCurrentTime(Seconds); > WEBCORE_EXPORT String description(); >- WEBCORE_EXPORT virtual void pause() { }; >+ virtual void pause() { }; > > virtual void timingModelDidChange() { }; > >diff --git a/Source/WebCore/page/CacheStorageProvider.h b/Source/WebCore/page/CacheStorageProvider.h >index 0cb6ce21771408d365ade6ce5aa537db1e7e2494..e1fcc2b9c286055ff528c609dd2938ec25325f90 100644 >--- a/Source/WebCore/page/CacheStorageProvider.h >+++ b/Source/WebCore/page/CacheStorageProvider.h >@@ -31,7 +31,7 @@ > > namespace WebCore { > >-class WEBCORE_EXPORT CacheStorageProvider : public RefCounted<CacheStorageProvider> { >+class CacheStorageProvider : public RefCounted<CacheStorageProvider> { > public: > static Ref<CacheStorageProvider> create() { return adoptRef(*new CacheStorageProvider); } > virtual Ref<CacheStorageConnection> createCacheStorageConnection(PAL::SessionID) { return CacheStorageConnection::create(); } >diff --git a/Source/WebCore/page/scrolling/ScrollingTree.h b/Source/WebCore/page/scrolling/ScrollingTree.h >index 1d9deaadbefb61a33b283be03b607e1f985a68a8..e77b97298b26ecbb2f1f0aae256635539e975591 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTree.h >+++ b/Source/WebCore/page/scrolling/ScrollingTree.h >@@ -91,8 +91,8 @@ public: > // and call scrollingTreeNodeDidScroll(). > WEBCORE_EXPORT virtual void scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID, const WebCore::FloatPoint& scrollPosition, bool inUserInteraction); > >- WEBCORE_EXPORT virtual void reportSynchronousScrollingReasonsChanged(MonotonicTime, SynchronousScrollingReasons) { } >- WEBCORE_EXPORT virtual void reportExposedUnfilledArea(MonotonicTime, unsigned /* unfilledArea */) { } >+ virtual void reportSynchronousScrollingReasonsChanged(MonotonicTime, SynchronousScrollingReasons) { } >+ virtual void reportExposedUnfilledArea(MonotonicTime, unsigned /* unfilledArea */) { } > > FloatPoint mainFrameScrollPosition(); > >diff --git a/Source/WebCore/platform/audio/PlatformMediaSessionManager.h b/Source/WebCore/platform/audio/PlatformMediaSessionManager.h >index b8b7ceadecc8ddcf6530af036c9b120cbd95265e..8dcfd11106620fc9976685319fe83c84cfeb03fb 100644 >--- a/Source/WebCore/platform/audio/PlatformMediaSessionManager.h >+++ b/Source/WebCore/platform/audio/PlatformMediaSessionManager.h >@@ -55,12 +55,12 @@ public: > bool activeAudioSessionRequired() const; > bool canProduceAudio() const; > >- WEBCORE_EXPORT virtual bool hasActiveNowPlayingSession() const { return false; } >- WEBCORE_EXPORT virtual String lastUpdatedNowPlayingTitle() const { return emptyString(); } >- WEBCORE_EXPORT virtual double lastUpdatedNowPlayingDuration() const { return NAN; } >- WEBCORE_EXPORT virtual double lastUpdatedNowPlayingElapsedTime() const { return NAN; } >- WEBCORE_EXPORT virtual uint64_t lastUpdatedNowPlayingInfoUniqueIdentifier() const { return 0; } >- WEBCORE_EXPORT virtual bool registeredAsNowPlayingApplication() const { return false; } >+ virtual bool hasActiveNowPlayingSession() const { return false; } >+ virtual String lastUpdatedNowPlayingTitle() const { return emptyString(); } >+ virtual double lastUpdatedNowPlayingDuration() const { return NAN; } >+ virtual double lastUpdatedNowPlayingElapsedTime() const { return NAN; } >+ virtual uint64_t lastUpdatedNowPlayingInfoUniqueIdentifier() const { return 0; } >+ virtual bool registeredAsNowPlayingApplication() const { return false; } > > bool willIgnoreSystemInterruptions() const { return m_willIgnoreSystemInterruptions; } > void setWillIgnoreSystemInterruptions(bool ignore) { m_willIgnoreSystemInterruptions = ignore; } >diff --git a/Source/WebCore/platform/audio/mac/CARingBuffer.cpp b/Source/WebCore/platform/audio/mac/CARingBuffer.cpp >index 7d6bba76c531982516843f1e99eb2e14dbc315b0..ed7a7a5bc143362f97af9cad921108fb321ff87e 100644 >--- a/Source/WebCore/platform/audio/mac/CARingBuffer.cpp >+++ b/Source/WebCore/platform/audio/mac/CARingBuffer.cpp >@@ -44,6 +44,11 @@ CARingBuffer::CARingBuffer() > { > } > >+CARingBuffer::~CARingBuffer() >+{ >+ deallocate(); >+} >+ > CARingBuffer::CARingBuffer(UniqueRef<CARingBufferStorage>&& storage) > : m_buffers(WTFMove(storage)) > , m_timeBoundsQueue(kGeneralRingTimeBoundsQueueSize) >diff --git a/Source/WebCore/platform/audio/mac/CARingBuffer.h b/Source/WebCore/platform/audio/mac/CARingBuffer.h >index 45022d36453a3d6719bf5ab244ff3cf361d3d3b1..c8ca7dbc39385caad9820ab029d68c685378a540 100644 >--- a/Source/WebCore/platform/audio/mac/CARingBuffer.h >+++ b/Source/WebCore/platform/audio/mac/CARingBuffer.h >@@ -61,10 +61,7 @@ class CARingBuffer { > public: > WEBCORE_EXPORT CARingBuffer(); > WEBCORE_EXPORT CARingBuffer(UniqueRef<CARingBufferStorage>&&); >- WEBCORE_EXPORT ~CARingBuffer() >- { >- deallocate(); >- } >+ WEBCORE_EXPORT ~CARingBuffer(); > > enum Error { > Ok, >diff --git a/Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h b/Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h >index 81f84f501dfde874245becc430da21e8e41fb639..36b18571e2d68cd5eb19ec74ce2971a775b50236 100644 >--- a/Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h >+++ b/Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h >@@ -69,8 +69,8 @@ public: > WEBCORE_EXPORT void setVideoLayerGravity(VideoGravity) override; > WEBCORE_EXPORT void fullscreenModeChanged(HTMLMediaElementEnums::VideoFullscreenMode) override; > WEBCORE_EXPORT bool isVisible() const override; >- WEBCORE_EXPORT FloatSize videoDimensions() const override { return m_videoDimensions; } >- WEBCORE_EXPORT bool hasVideo() const override { return m_hasVideo; } >+ FloatSize videoDimensions() const override { return m_videoDimensions; } >+ bool hasVideo() const override { return m_hasVideo; } > > > protected: >diff --git a/Source/WebCore/platform/gamepad/GamepadProvider.h b/Source/WebCore/platform/gamepad/GamepadProvider.h >index c3b939fd8818633b5edd53fca2ea013d20c2b64c..702dac49a27f8e9b23572cb3f9a52fbf38ad6d72 100644 >--- a/Source/WebCore/platform/gamepad/GamepadProvider.h >+++ b/Source/WebCore/platform/gamepad/GamepadProvider.h >@@ -35,7 +35,7 @@ namespace WebCore { > class GamepadProviderClient; > class PlatformGamepad; > >-class WEBCORE_EXPORT GamepadProvider { >+class GamepadProvider { > public: > virtual ~GamepadProvider() = default; > >@@ -48,7 +48,7 @@ public: > virtual bool isMockGamepadProvider() const { return false; } > > protected: >- void dispatchPlatformGamepadInputActivity(); >+ WEBCORE_EXPORT void dispatchPlatformGamepadInputActivity(); > void setShouldMakeGamepadsVisibile() { m_shouldMakeGamepadsVisible = true; } > HashSet<GamepadProviderClient*> m_clients; > >diff --git a/Source/WebCore/platform/graphics/GraphicsLayer.h b/Source/WebCore/platform/graphics/GraphicsLayer.h >index 10eda15fc3f48fcabf123df167cf9908626cbb4b..67b6393212997ff3ee8e334ce209cb3e5e7e3eb0 100644 >--- a/Source/WebCore/platform/graphics/GraphicsLayer.h >+++ b/Source/WebCore/platform/graphics/GraphicsLayer.h >@@ -542,11 +542,11 @@ public: > WEBCORE_EXPORT String layerTreeAsText(LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const; > > // For testing. >- WEBCORE_EXPORT virtual String displayListAsText(DisplayList::AsTextFlags) const { return String(); } >+ virtual String displayListAsText(DisplayList::AsTextFlags) const { return String(); } > >- WEBCORE_EXPORT virtual void setIsTrackingDisplayListReplay(bool isTracking) { m_isTrackingDisplayListReplay = isTracking; } >- WEBCORE_EXPORT virtual bool isTrackingDisplayListReplay() const { return m_isTrackingDisplayListReplay; } >- WEBCORE_EXPORT virtual String replayDisplayListAsText(DisplayList::AsTextFlags) const { return String(); } >+ virtual void setIsTrackingDisplayListReplay(bool isTracking) { m_isTrackingDisplayListReplay = isTracking; } >+ virtual bool isTrackingDisplayListReplay() const { return m_isTrackingDisplayListReplay; } >+ virtual String replayDisplayListAsText(DisplayList::AsTextFlags) const { return String(); } > > // Return an estimate of the backing store memory cost (in bytes). May be incorrect for tiled layers. > WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const; >diff --git a/Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.h b/Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.h >index 5b812da6d6a2acd0bb65cfad4961098eac46be2b..ea34ca7260b324e33cb0006e8a332e73c681a1eb 100644 >--- a/Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.h >+++ b/Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.h >@@ -50,7 +50,7 @@ public: > PlaybackSessionModel* playbackSessionModel() const { return m_playbackSessionModel; } > > // PlaybackSessionInterface >- WEBCORE_EXPORT void resetMediaState() final { } >+ void resetMediaState() final { } > > // PlaybackSessionModelClient > WEBCORE_EXPORT void durationChanged(double) final; >diff --git a/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h b/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h >index 0c725f9809d6be97393ccb33dff7d81916598f9d..403e7d1955dd61cde284ebe18f3c8c75811fa29e 100644 >--- a/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h >+++ b/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h >@@ -71,8 +71,8 @@ public: > > const RealtimeMediaSourceSupportedConstraints& supportedConstraints() { return m_supportedConstraints; } > >- WEBCORE_EXPORT virtual void setAudioFactory(RealtimeMediaSource::AudioCaptureFactory&) { } >- WEBCORE_EXPORT virtual void unsetAudioFactory(RealtimeMediaSource::AudioCaptureFactory&) { } >+ virtual void setAudioFactory(RealtimeMediaSource::AudioCaptureFactory&) { } >+ virtual void unsetAudioFactory(RealtimeMediaSource::AudioCaptureFactory&) { } > WEBCORE_EXPORT virtual RealtimeMediaSource::AudioCaptureFactory& audioFactory() = 0; > > virtual RealtimeMediaSource::VideoCaptureFactory& videoFactory() = 0; >diff --git a/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp b/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp >index 0e48ddd24fa2fb4af0efdeaa7a8c9aba03d643b9..f2363ba0ce4d282a273b97c99450e88b44a6f916 100644 >--- a/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp >+++ b/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp >@@ -51,6 +51,10 @@ UniqueRef<LibWebRTCProvider> LibWebRTCProvider::create() > } > #endif > >+void LibWebRTCProvider::setActive(bool) >+{ >+} >+ > #if USE(LIBWEBRTC) > static inline rtc::SocketAddress prepareSocketAddress(const rtc::SocketAddress& address, bool disableNonLocalhostConnections) > { >@@ -195,11 +199,31 @@ rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> LibWebRTCProvider::cr > return webrtc::CreatePeerConnectionFactory(networkThread, networkThread, signalingThread, audioModule, webrtc::CreateBuiltinAudioEncoderFactory(), webrtc::CreateBuiltinAudioDecoderFactory(), createEncoderFactory(), createDecoderFactory(), nullptr, nullptr); > } > >+std::unique_ptr<webrtc::VideoDecoderFactory> LibWebRTCProvider::createDecoderFactory() >+{ >+ return nullptr; >+} >+ >+std::unique_ptr<webrtc::VideoEncoderFactory> LibWebRTCProvider::createEncoderFactory() >+{ >+ return nullptr; >+} >+ > void LibWebRTCProvider::setPeerConnectionFactory(rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface>&& factory) > { > m_factory = webrtc::PeerConnectionFactoryProxy::Create(getStaticFactoryAndThreads(m_useNetworkThreadWithSocketServer).signalingThread.get(), WTFMove(factory)); > } > >+void LibWebRTCProvider::disableEnumeratingAllNetworkInterfaces() >+{ >+ m_enableEnumeratingAllNetworkInterfaces = false; >+} >+ >+void LibWebRTCProvider::enableEnumeratingAllNetworkInterfaces() >+{ >+ m_enableEnumeratingAllNetworkInterfaces = true; >+} >+ > rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration) > { > // Default WK1 implementation. >diff --git a/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h b/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h >index 9d2d13a795380f322a87f9bbbedf150f27b4bcf9..0b4b9bd5b3a03b52c63bacc43bb55e1a56f716ac 100644 >--- a/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h >+++ b/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h >@@ -67,7 +67,7 @@ public: > > static bool webRTCAvailable(); > >- virtual void setActive(bool) { }; >+ virtual void setActive(bool); > > virtual void setH264HardwareEncoderAllowed(bool) { } > >@@ -104,8 +104,8 @@ public: > // Used for mock testing > void setPeerConnectionFactory(rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface>&&); > >- void disableEnumeratingAllNetworkInterfaces() { m_enableEnumeratingAllNetworkInterfaces = false; } >- void enableEnumeratingAllNetworkInterfaces() { m_enableEnumeratingAllNetworkInterfaces = true; } >+ void disableEnumeratingAllNetworkInterfaces(); >+ void enableEnumeratingAllNetworkInterfaces(); > > virtual void disableNonLocalhostConnections() { m_disableNonLocalhostConnections = true; } > >@@ -115,8 +115,8 @@ protected: > rtc::scoped_refptr<webrtc::PeerConnectionInterface> createPeerConnection(webrtc::PeerConnectionObserver&, rtc::NetworkManager&, rtc::PacketSocketFactory&, webrtc::PeerConnectionInterface::RTCConfiguration&&); > > rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> createPeerConnectionFactory(rtc::Thread* networkThread, rtc::Thread* signalingThread, LibWebRTCAudioModule*); >- virtual std::unique_ptr<webrtc::VideoDecoderFactory> createDecoderFactory() { return nullptr; } >- virtual std::unique_ptr<webrtc::VideoEncoderFactory> createEncoderFactory() { return nullptr; } >+ virtual std::unique_ptr<webrtc::VideoDecoderFactory> createDecoderFactory(); >+ virtual std::unique_ptr<webrtc::VideoEncoderFactory> createEncoderFactory(); > > bool m_enableEnumeratingAllNetworkInterfaces { false }; > // FIXME: Remove m_useNetworkThreadWithSocketServer member variable and make it a global. >diff --git a/Source/WebCore/platform/network/ResourceHandleClient.h b/Source/WebCore/platform/network/ResourceHandleClient.h >index 676e74e5faf3a1d4a853f992b16663f3e724e340..d6edb6d618adc3bcce23f01fb97ff13997a6fac2 100644 >--- a/Source/WebCore/platform/network/ResourceHandleClient.h >+++ b/Source/WebCore/platform/network/ResourceHandleClient.h >@@ -84,9 +84,9 @@ public: > #endif > > #if USE(CFURLCONNECTION) >- WEBCORE_EXPORT virtual void willCacheResponseAsync(ResourceHandle*, CFCachedURLResponseRef response, CompletionHandler<void(CFCachedURLResponseRef)>&& completionHandler) { completionHandler(response); } >+ virtual void willCacheResponseAsync(ResourceHandle*, CFCachedURLResponseRef response, CompletionHandler<void(CFCachedURLResponseRef)>&& completionHandler) { completionHandler(response); } > #elif PLATFORM(COCOA) >- WEBCORE_EXPORT virtual void willCacheResponseAsync(ResourceHandle*, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) { completionHandler(response); } >+ virtual void willCacheResponseAsync(ResourceHandle*, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) { completionHandler(response); } > #endif > > virtual bool shouldUseCredentialStorage(ResourceHandle*) { return false; } >diff --git a/Source/WebCore/testing/MockGamepadProvider.h b/Source/WebCore/testing/MockGamepadProvider.h >index 4e790a2aa82211a85e19613511c53980114c7d5a..40419b9233fe3907a9826b70512ed611e15588d5 100644 >--- a/Source/WebCore/testing/MockGamepadProvider.h >+++ b/Source/WebCore/testing/MockGamepadProvider.h >@@ -41,7 +41,7 @@ public: > > WEBCORE_EXPORT void startMonitoringGamepads(GamepadProviderClient&) final; > WEBCORE_EXPORT void stopMonitoringGamepads(GamepadProviderClient&) final; >- WEBCORE_EXPORT const Vector<PlatformGamepad*>& platformGamepads() final { return m_connectedGamepadVector; } >+ const Vector<PlatformGamepad*>& platformGamepads() final { return m_connectedGamepadVector; } > bool isMockGamepadProvider() const final { return true; } > > void setMockGamepadDetails(unsigned index, const String& gamepadID, unsigned axisCount, unsigned buttonCount); >diff --git a/Source/WebCore/workers/service/server/SWServer.h b/Source/WebCore/workers/service/server/SWServer.h >index c913094216b36f65ea0aded51dbc7187ee6cae49..5cdb7cb2f0e7a94400891b4883d4ff30622c4e79 100644 >--- a/Source/WebCore/workers/service/server/SWServer.h >+++ b/Source/WebCore/workers/service/server/SWServer.h >@@ -69,7 +69,7 @@ public: > WTF_MAKE_FAST_ALLOCATED; > friend class SWServer; > public: >- WEBCORE_EXPORT virtual ~Connection() { } >+ virtual ~Connection() { } > > using Identifier = SWServerConnectionIdentifier; > Identifier identifier() const { return m_identifier; }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186944
:
343380
|
343565