Bring the state of WEBCORE_EXPORT annotations closer to what the exports file specifies.
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Dec 2014 21:25:15 +0000 (21:25 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Dec 2014 21:25:15 +0000 (21:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=136172

Reviewed by Darin Adler.

* bridge/NP_jsobject.cpp: Give functions from npruntime_impl.h defined in this file default
using a compiler pragma, in lieu of introducing WebCore-specific macros into that header.
* bridge/npruntime.cpp: Ditto.

* platform/mac/WebCoreSystemInterface.mm: Similarly for WebCoreSystemInterface.h.

Added or removed WEBCORE_EXPORT in these files as necessary to match what is currently in
the exports file:

* Modules/mediasource/SourceBuffer.h:
* bindings/js/JSDOMBinding.h:
* css/CSSComputedStyleDeclaration.h:
* dom/ContainerNode.h:
* dom/Document.h:
* dom/MouseEvent.h:
* dom/Range.h:
* dom/SecurityContext.h:
* editing/Editor.h:
* editing/mac/DictionaryLookup.h:
* loader/FrameLoaderClient.h:
* loader/LoaderStrategy.h:
* loader/icon/IconDatabaseBase.h:
* page/ChromeClient.h:
* page/EventHandler.h:
* page/FrameSnapshotting.h:
* page/Page.h:
* page/PageOverlay.h:
* page/PageOverlayController.h:
* page/TextIndicator.h:
* page/UserContentController.h:
* page/WheelEventDeltaTracker.h:
* page/mac/TextIndicatorWindow.h:
* platform/DatabaseStrategy.h:
* platform/ScrollableArea.h:
* platform/SuddenTermination.h:
* platform/URL.h:
* platform/animation/Animation.h:
* platform/cocoa/MachSendRight.h:
* platform/graphics/FloatRoundedRect.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/Path.h:
* platform/graphics/TextRun.h:
* platform/graphics/ca/TileController.h:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/mac/ColorMac.h:
* platform/mac/SoftLinking.h:
* platform/mac/WebCoreNSStringExtras.h:
* platform/mock/mediasource/MockMediaPlayerMediaSource.h:
* platform/network/BlobRegistry.h:
* platform/network/ResourceRequestBase.h:
* platform/network/ResourceResponseBase.h:
* rendering/HitTestResult.h:
* rendering/RenderInline.h:
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderView.h:
* storage/StorageNamespaceImpl.h:
* storage/StorageNamespaceProvider.h:
* testing/Internals.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

55 files changed:
Source/WebCore/ChangeLog
Source/WebCore/Modules/mediasource/SourceBuffer.h
Source/WebCore/bindings/js/JSDOMBinding.h
Source/WebCore/bridge/NP_jsobject.cpp
Source/WebCore/bridge/npruntime.cpp
Source/WebCore/css/CSSComputedStyleDeclaration.h
Source/WebCore/dom/ContainerNode.h
Source/WebCore/dom/Document.h
Source/WebCore/dom/MouseEvent.h
Source/WebCore/dom/Range.h
Source/WebCore/dom/SecurityContext.h
Source/WebCore/editing/Editor.h
Source/WebCore/editing/mac/DictionaryLookup.h
Source/WebCore/loader/FrameLoaderClient.h
Source/WebCore/loader/LoaderStrategy.h
Source/WebCore/loader/icon/IconDatabaseBase.h
Source/WebCore/page/ChromeClient.h
Source/WebCore/page/EventHandler.h
Source/WebCore/page/FrameSnapshotting.h
Source/WebCore/page/Page.h
Source/WebCore/page/PageOverlay.h
Source/WebCore/page/PageOverlayController.h
Source/WebCore/page/TextIndicator.h
Source/WebCore/page/UserContentController.h
Source/WebCore/page/WheelEventDeltaTracker.h
Source/WebCore/page/mac/TextIndicatorWindow.h
Source/WebCore/platform/DatabaseStrategy.h
Source/WebCore/platform/ScrollableArea.h
Source/WebCore/platform/SuddenTermination.h
Source/WebCore/platform/URL.h
Source/WebCore/platform/animation/Animation.h
Source/WebCore/platform/cocoa/MachSendRight.h
Source/WebCore/platform/graphics/FloatRoundedRect.h
Source/WebCore/platform/graphics/GraphicsContext.h
Source/WebCore/platform/graphics/GraphicsLayer.h
Source/WebCore/platform/graphics/Path.h
Source/WebCore/platform/graphics/TextRun.h
Source/WebCore/platform/graphics/ca/TileController.h
Source/WebCore/platform/graphics/cocoa/IOSurface.h
Source/WebCore/platform/graphics/mac/ColorMac.h
Source/WebCore/platform/mac/SoftLinking.h
Source/WebCore/platform/mac/WebCoreNSStringExtras.h
Source/WebCore/platform/mac/WebCoreSystemInterface.mm
Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h
Source/WebCore/platform/network/BlobRegistry.h
Source/WebCore/platform/network/ResourceRequestBase.h
Source/WebCore/platform/network/ResourceResponseBase.h
Source/WebCore/rendering/HitTestResult.h
Source/WebCore/rendering/RenderInline.h
Source/WebCore/rendering/RenderLayerBacking.h
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebCore/rendering/RenderView.h
Source/WebCore/storage/StorageNamespaceImpl.h
Source/WebCore/storage/StorageNamespaceProvider.h
Source/WebCore/testing/Internals.h

index 7ccd4ef..d0403e1 100644 (file)
@@ -1,3 +1,71 @@
+2014-12-25  Dan Bernstein  <mitz@apple.com>
+
+        Bring the state of WEBCORE_EXPORT annotations closer to what the exports file specifies.
+        https://bugs.webkit.org/show_bug.cgi?id=136172
+
+        Reviewed by Darin Adler.
+
+        * bridge/NP_jsobject.cpp: Give functions from npruntime_impl.h defined in this file default
+        using a compiler pragma, in lieu of introducing WebCore-specific macros into that header.
+        * bridge/npruntime.cpp: Ditto.
+
+        * platform/mac/WebCoreSystemInterface.mm: Similarly for WebCoreSystemInterface.h.
+
+        Added or removed WEBCORE_EXPORT in these files as necessary to match what is currently in
+        the exports file:
+
+        * Modules/mediasource/SourceBuffer.h:
+        * bindings/js/JSDOMBinding.h:
+        * css/CSSComputedStyleDeclaration.h:
+        * dom/ContainerNode.h:
+        * dom/Document.h:
+        * dom/MouseEvent.h:
+        * dom/Range.h:
+        * dom/SecurityContext.h:
+        * editing/Editor.h:
+        * editing/mac/DictionaryLookup.h:
+        * loader/FrameLoaderClient.h:
+        * loader/LoaderStrategy.h:
+        * loader/icon/IconDatabaseBase.h:
+        * page/ChromeClient.h:
+        * page/EventHandler.h:
+        * page/FrameSnapshotting.h:
+        * page/Page.h:
+        * page/PageOverlay.h:
+        * page/PageOverlayController.h:
+        * page/TextIndicator.h:
+        * page/UserContentController.h:
+        * page/WheelEventDeltaTracker.h:
+        * page/mac/TextIndicatorWindow.h:
+        * platform/DatabaseStrategy.h:
+        * platform/ScrollableArea.h:
+        * platform/SuddenTermination.h:
+        * platform/URL.h:
+        * platform/animation/Animation.h:
+        * platform/cocoa/MachSendRight.h:
+        * platform/graphics/FloatRoundedRect.h:
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/GraphicsLayer.h:
+        * platform/graphics/Path.h:
+        * platform/graphics/TextRun.h:
+        * platform/graphics/ca/TileController.h:
+        * platform/graphics/cocoa/IOSurface.h:
+        * platform/graphics/mac/ColorMac.h:
+        * platform/mac/SoftLinking.h:
+        * platform/mac/WebCoreNSStringExtras.h:
+        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
+        * platform/network/BlobRegistry.h:
+        * platform/network/ResourceRequestBase.h:
+        * platform/network/ResourceResponseBase.h:
+        * rendering/HitTestResult.h:
+        * rendering/RenderInline.h:
+        * rendering/RenderLayerBacking.h:
+        * rendering/RenderLayerCompositor.cpp:
+        * rendering/RenderView.h:
+        * storage/StorageNamespaceImpl.h:
+        * storage/StorageNamespaceProvider.h:
+        * testing/Internals.h:
+
 2014-12-25  Chris Dumez  <cdumez@apple.com>
 
         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
index 8c6f3fe..7436f1e 100644 (file)
@@ -185,7 +185,7 @@ private:
 
     // Internals
     friend class Internals;
-    Vector<String> bufferedSamplesForTrackID(const AtomicString&);
+    WEBCORE_EXPORT Vector<String> bufferedSamplesForTrackID(const AtomicString&);
 
     Ref<SourceBufferPrivate> m_private;
     MediaSource* m_source;
index 8d7f008..ab684d7 100644 (file)
@@ -75,7 +75,7 @@ void throwAttributeTypeError(JSC::ExecState&, const char* interfaceName, const c
 WEBCORE_EXPORT void throwSequenceTypeError(JSC::ExecState&);
 WEBCORE_EXPORT void throwSetterTypeError(JSC::ExecState&, const char* interfaceName, const char* attributeName);
 
-JSC::EncodedJSValue throwArgumentMustBeEnumError(JSC::ExecState&, unsigned argumentIndex, const char* argumentName, const char* functionInterfaceName, const char* functionName, const char* expectedValues);
+WEBCORE_EXPORT JSC::EncodedJSValue throwArgumentMustBeEnumError(JSC::ExecState&, unsigned argumentIndex, const char* argumentName, const char* functionInterfaceName, const char* functionName, const char* expectedValues);
 JSC::EncodedJSValue throwArgumentMustBeFunctionError(JSC::ExecState&, unsigned argumentIndex, const char* argumentName, const char* functionInterfaceName, const char* functionName);
 JSC::EncodedJSValue throwArgumentTypeError(JSC::ExecState&, unsigned argumentIndex, const char* argumentName, const char* functionInterfaceName, const char* functionName, const char* expectedType);
 JSC::EncodedJSValue throwConstructorDocumentUnavailableError(JSC::ExecState&, const char* interfaceName);
index 2323c76..ca2e62d 100644 (file)
@@ -34,7 +34,6 @@
 #include "c_instance.h"
 #include "IdentifierRep.h"
 #include "JSDOMBinding.h"
-#include "npruntime_impl.h"
 #include "npruntime_priv.h"
 #include "runtime_root.h"
 #include <runtime/Error.h>
 #include <wtf/NeverDestroyed.h>
 #include <wtf/text/WTFString.h>
 
+#pragma GCC visibility push(default)
+#include "npruntime_impl.h"
+#pragma GCC visibility pop
+
 using namespace JSC;
 using namespace JSC::Bindings;
 using namespace WebCore;
index d6ad801..a40b7cc 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "IdentifierRep.h"
 #include "npruntime_internal.h"
-#include "npruntime_impl.h"
 #include "npruntime_priv.h"
 
 #include "c_utility.h"
 #include <wtf/Assertions.h>
 #include <wtf/HashMap.h>
 
+#pragma GCC visibility push(default)
+#include "npruntime_impl.h"
+#pragma GCC visibility pop
+
 using namespace JSC::Bindings;
 using namespace WebCore;
 
index 3a4c1a9..efdc157 100644 (file)
@@ -91,8 +91,8 @@ public:
     }
     virtual ~CSSComputedStyleDeclaration();
 
-    virtual void ref() override;
-    virtual void deref() override;
+    WEBCORE_EXPORT virtual void ref() override;
+    WEBCORE_EXPORT virtual void deref() override;
 
     String getPropertyValue(CSSPropertyID) const;
 
index f1855c8..4dff992 100644 (file)
@@ -75,7 +75,7 @@ public:
 
 private:
 #ifndef NDEBUG
-    static unsigned s_count;
+    WEBCORE_EXPORT static unsigned s_count;
 #endif
 };
 
index ec48f2a..9836ea9 100644 (file)
@@ -1256,7 +1256,7 @@ public:
 
     virtual void addConsoleMessage(MessageSource, MessageLevel, const String& message, unsigned long requestIdentifier = 0) override final;
 
-    virtual SecurityOrigin* topOrigin() const override final;
+    WEBCORE_EXPORT virtual SecurityOrigin* topOrigin() const override final;
 
 #if ENABLE(FONT_LOAD_EVENTS)
     RefPtr<FontLoader> fonts();
@@ -1275,10 +1275,10 @@ public:
     bool hasStyleWithViewportUnits() const { return m_hasStyleWithViewportUnits; }
     void updateViewportUnitsOnResize();
 
-    void addAudioProducer(AudioProducer*);
-    void removeAudioProducer(AudioProducer*);
+    WEBCORE_EXPORT void addAudioProducer(AudioProducer*);
+    WEBCORE_EXPORT void removeAudioProducer(AudioProducer*);
     bool isPlayingAudio() const { return m_isPlayingAudio; }
-    void updateIsPlayingAudio();
+    WEBCORE_EXPORT void updateIsPlayingAudio();
     void pageMutedStateDidChange();
 
 protected:
index 9deb803..5b29bc3 100644 (file)
@@ -53,7 +53,7 @@ public:
         return adoptRef(*new MouseEvent);
     }
 
-    WEBCORE_EXPORT static Ref<MouseEvent> create(const AtomicString& type, bool canBubble, bool cancelable, double timestamp, PassRefPtr<AbstractView>,
+    static Ref<MouseEvent> create(const AtomicString& type, bool canBubble, bool cancelable, double timestamp, PassRefPtr<AbstractView>,
         int detail, int screenX, int screenY, int pageX, int pageY,
 #if ENABLE(POINTER_LOCK)
         int movementX, int movementY,
index a9d01f9..793d35b 100644 (file)
@@ -183,7 +183,7 @@ private:
     RangeBoundaryPoint m_end;
 };
 
-Ref<Range> rangeOfContents(Node&);
+WEBCORE_EXPORT Ref<Range> rangeOfContents(Node&);
 
 WEBCORE_EXPORT bool areRangesEqual(const Range*, const Range*);
 bool rangesOverlap(const Range*, const Range*);
index 60dd968..0750db2 100644 (file)
@@ -73,7 +73,7 @@ public:
     //       that already contains content.
     void setSecurityOriginPolicy(RefPtr<SecurityOriginPolicy>&&);
 
-    SecurityOrigin* securityOrigin() const;
+    WEBCORE_EXPORT SecurityOrigin* securityOrigin() const;
 
     static SandboxFlags parseSandboxPolicy(const String& policy, String& invalidTokensErrorMessage);
 
index 671f4c3..5b83ae9 100644 (file)
@@ -101,7 +101,7 @@ public:
     ~Editor();
 
     WEBCORE_EXPORT EditorClient* client() const;
-    TextCheckerClient* textChecker() const;
+    WEBCORE_EXPORT TextCheckerClient* textChecker() const;
 
     CompositeEditCommand* lastEditCommand() { return m_lastEditCommand.get(); }
 
@@ -135,7 +135,7 @@ public:
     WEBCORE_EXPORT void copyURL(const URL&, const String& title);
     void copyURL(const URL&, const String& title, Pasteboard&);
 #if !PLATFORM(IOS)
-    void copyImage(const HitTestResult&);
+    WEBCORE_EXPORT void copyImage(const HitTestResult&);
 #endif
 
     String readPlainTextFromPasteboard(Pasteboard&);
index 2e25da1..ea937b2 100644 (file)
@@ -45,8 +45,8 @@ bool isPositionInRange(const VisiblePosition&, Range*);
 bool shouldUseSelection(const VisiblePosition&, const VisibleSelection&);
 
 PassRefPtr<Range> rangeExpandedAroundPositionByCharacters(const VisiblePosition&, int numberOfCharactersToExpand);
-PassRefPtr<Range> rangeForDictionaryLookupForSelection(const VisibleSelection&, NSDictionary **options);
-PassRefPtr<Range> rangeForDictionaryLookupAtHitTestResult(const HitTestResult&, NSDictionary **options);
+WEBCORE_EXPORT PassRefPtr<Range> rangeForDictionaryLookupForSelection(const VisibleSelection&, NSDictionary **options);
+WEBCORE_EXPORT PassRefPtr<Range> rangeForDictionaryLookupAtHitTestResult(const HitTestResult&, NSDictionary **options);
 
 } // namespace WebCore
 
index 2dfae64..fb25473 100644 (file)
@@ -104,7 +104,7 @@ namespace WebCore {
 
     typedef std::function<void (PolicyAction)> FramePolicyFunction;
 
-    class FrameLoaderClient {
+    class WEBCORE_EXPORT FrameLoaderClient {
     public:
         // An inline function cannot be the first non-abstract virtual function declared
         // in the class as it results in the vtable being generated as a weak symbol.
index c267eed..05ddb48 100644 (file)
@@ -38,7 +38,7 @@ class ResourceLoadScheduler;
 class ResourceRequest;
 class ResourceResponse;
 
-class LoaderStrategy {
+class WEBCORE_EXPORT LoaderStrategy {
 public:
     WEBCORE_EXPORT virtual ResourceLoadScheduler* resourceLoadScheduler();
 
index df87704..97d79de 100644 (file)
@@ -155,7 +155,7 @@ private:
 typedef EnumCallback<IconLoadDecision> IconLoadDecisionCallback;
 typedef ObjectCallback<SharedBuffer*> IconDataCallback;
 
-class IconDatabaseBase {
+class WEBCORE_EXPORT IconDatabaseBase {
     WTF_MAKE_NONCOPYABLE(IconDatabaseBase);
 
 protected:
index ccb62ff..092bd6b 100644 (file)
@@ -93,7 +93,7 @@ struct GraphicsDeviceAdapter;
 struct ViewportArguments;
 struct WindowFeatures;
 
-class ChromeClient {
+class WEBCORE_EXPORT ChromeClient {
 public:
     virtual void chromeDestroyed() = 0;
 
index 2f44949..2492ab8 100644 (file)
@@ -144,7 +144,7 @@ public:
     bool mouseDownWasInSubframe() const { return m_mouseDownWasInSubframe; }
     bool panScrollInProgress() const;
 
-    void dispatchFakeMouseMoveEventSoon();
+    WEBCORE_EXPORT void dispatchFakeMouseMoveEventSoon();
     void dispatchFakeMouseMoveEventSoonInQuad(const FloatQuad&);
 
     WEBCORE_EXPORT HitTestResult hitTestResultAtPoint(const LayoutPoint&,
index f74767b..ecb1a8b 100644 (file)
@@ -50,7 +50,7 @@ typedef unsigned SnapshotOptions;
 
 std::unique_ptr<ImageBuffer> snapshotFrameRect(Frame&, const IntRect&, SnapshotOptions = SnapshotOptionsNone);
 std::unique_ptr<ImageBuffer> snapshotNode(Frame&, Node&);
-std::unique_ptr<ImageBuffer> snapshotSelection(Frame&, SnapshotOptions = SnapshotOptionsNone);
+WEBCORE_EXPORT std::unique_ptr<ImageBuffer> snapshotSelection(Frame&, SnapshotOptions = SnapshotOptionsNone);
 
 } // namespace WebCore
 
index 42997f0..2797758 100644 (file)
@@ -406,10 +406,10 @@ public:
     void setStorageNamespaceProvider(Ref<StorageNamespaceProvider>&&);
 
     UserContentController* userContentController() { return m_userContentController.get(); }
-    void setUserContentController(UserContentController*);
+    WEBCORE_EXPORT void setUserContentController(UserContentController*);
 
     VisitedLinkStore& visitedLinkStore();
-    void setVisitedLinkStore(Ref<VisitedLinkStore>&&);
+    WEBCORE_EXPORT void setVisitedLinkStore(Ref<VisitedLinkStore>&&);
 
     WEBCORE_EXPORT SessionID sessionID() const;
     WEBCORE_EXPORT void setSessionID(SessionID);
index 87f56e0..ce39c0d 100644 (file)
@@ -69,17 +69,17 @@ public:
         Document, // Scales and scrolls with the document.
     };
 
-    static PassRefPtr<PageOverlay> create(Client&, OverlayType = OverlayType::View);
+    WEBCORE_EXPORT static PassRefPtr<PageOverlay> create(Client&, OverlayType = OverlayType::View);
     virtual ~PageOverlay();
 
-    PageOverlayController* controller() const;
+    WEBCORE_EXPORT PageOverlayController* controller() const;
 
     typedef uint64_t PageOverlayID;
     virtual PageOverlayID pageOverlayID() const { return m_pageOverlayID; }
 
     void setPage(Page*);
-    void setNeedsDisplay(const IntRect& dirtyRect);
-    void setNeedsDisplay();
+    WEBCORE_EXPORT void setNeedsDisplay(const IntRect& dirtyRect);
+    WEBCORE_EXPORT void setNeedsDisplay();
 
     void drawRect(GraphicsContext&, const IntRect& dirtyRect);
     bool mouseEvent(const PlatformMouseEvent&);
@@ -91,9 +91,9 @@ public:
     
     void startFadeInAnimation();
     void startFadeOutAnimation();
-    void stopFadeOutAnimation();
+    WEBCORE_EXPORT void stopFadeOutAnimation();
 
-    void clear();
+    WEBCORE_EXPORT void clear();
 
     Client& client() const { return m_client; }
 
@@ -101,7 +101,7 @@ public:
 
     OverlayType overlayType() { return m_overlayType; }
 
-    IntRect bounds() const;
+    WEBCORE_EXPORT IntRect bounds() const;
     IntRect frame() const;
     void setFrame(IntRect);
 
@@ -109,7 +109,7 @@ public:
     void setBackgroundColor(RGBA32);
 
     // FIXME: PageOverlay should own its layer, instead of PageOverlayController.
-    GraphicsLayer& layer();
+    WEBCORE_EXPORT GraphicsLayer& layer();
 
 private:
     explicit PageOverlay(Client&, OverlayType);
index 970299b..18ddcfc 100644 (file)
@@ -46,13 +46,13 @@ public:
     PageOverlayController(MainFrame&);
     virtual ~PageOverlayController();
 
-    GraphicsLayer& documentOverlayRootLayer();
-    GraphicsLayer& viewOverlayRootLayer();
+    WEBCORE_EXPORT GraphicsLayer& documentOverlayRootLayer();
+    WEBCORE_EXPORT GraphicsLayer& viewOverlayRootLayer();
 
     const Vector<RefPtr<PageOverlay>>& pageOverlays() const { return m_pageOverlays; }
 
-    void installPageOverlay(PassRefPtr<PageOverlay>, PageOverlay::FadeMode);
-    void uninstallPageOverlay(PageOverlay*, PageOverlay::FadeMode);
+    WEBCORE_EXPORT void installPageOverlay(PassRefPtr<PageOverlay>, PageOverlay::FadeMode);
+    WEBCORE_EXPORT void uninstallPageOverlay(PageOverlay*, PageOverlay::FadeMode);
 
     void setPageOverlayNeedsDisplay(PageOverlay&, const IntRect&);
     void setPageOverlayOpacity(PageOverlay&, float);
@@ -75,9 +75,9 @@ public:
 
     bool handleMouseEvent(const PlatformMouseEvent&);
 
-    bool copyAccessibilityAttributeStringValueForPoint(String attribute, FloatPoint, String& value);
-    bool copyAccessibilityAttributeBoolValueForPoint(String attribute, FloatPoint, bool& value);
-    Vector<String> copyAccessibilityAttributesNames(bool parameterizedNames);
+    WEBCORE_EXPORT bool copyAccessibilityAttributeStringValueForPoint(String attribute, FloatPoint, String& value);
+    WEBCORE_EXPORT bool copyAccessibilityAttributeBoolValueForPoint(String attribute, FloatPoint, bool& value);
+    WEBCORE_EXPORT Vector<String> copyAccessibilityAttributesNames(bool parameterizedNames);
 
 private:
     void createRootLayersIfNeeded();
index 5764138..0844bd5 100644 (file)
@@ -64,11 +64,11 @@ struct TextIndicatorData {
 
 class TextIndicator : public RefCounted<TextIndicator> {
 public:
-    static PassRefPtr<TextIndicator> create(const TextIndicatorData&);
-    static PassRefPtr<TextIndicator> createWithSelectionInFrame(Frame&, TextIndicatorPresentationTransition);
-    static PassRefPtr<TextIndicator> createWithRange(const Range&, TextIndicatorPresentationTransition);
+    WEBCORE_EXPORT static PassRefPtr<TextIndicator> create(const TextIndicatorData&);
+    WEBCORE_EXPORT static PassRefPtr<TextIndicator> createWithSelectionInFrame(Frame&, TextIndicatorPresentationTransition);
+    WEBCORE_EXPORT static PassRefPtr<TextIndicator> createWithRange(const Range&, TextIndicatorPresentationTransition);
 
-    ~TextIndicator();
+    WEBCORE_EXPORT ~TextIndicator();
 
     FloatRect selectionRectInWindowCoordinates() const { return m_data.selectionRectInWindowCoordinates; }
     FloatRect textBoundingRectInWindowCoordinates() const { return m_data.textBoundingRectInWindowCoordinates; }
index b28b603..6dadc9d 100644 (file)
@@ -56,16 +56,16 @@ public:
     const UserScriptMap* userScripts() const { return m_userScripts.get(); }
 
     WEBCORE_EXPORT void addUserScript(DOMWrapperWorld&, std::unique_ptr<UserScript>);
-    void removeUserScript(DOMWrapperWorld&, const URL&);
+    WEBCORE_EXPORT void removeUserScript(DOMWrapperWorld&, const URL&);
     WEBCORE_EXPORT void removeUserScripts(DOMWrapperWorld&);
 
     const UserStyleSheetMap* userStyleSheets() const { return m_userStyleSheets.get(); }
 
     WEBCORE_EXPORT void addUserStyleSheet(DOMWrapperWorld&, std::unique_ptr<UserStyleSheet>, UserStyleInjectionTime);
-    void removeUserStyleSheet(DOMWrapperWorld&, const URL&);
+    WEBCORE_EXPORT void removeUserStyleSheet(DOMWrapperWorld&, const URL&);
     WEBCORE_EXPORT void removeUserStyleSheets(DOMWrapperWorld&);
 
-    void removeAllUserContent();
+    WEBCORE_EXPORT void removeAllUserContent();
 
 #if ENABLE(USER_MESSAGE_HANDLERS)
     const UserMessageHandlerDescriptorMap* userMessageHandlerDescriptors() const { return m_userMessageHandlerDescriptors.get(); }
index 9dfaa93..f5cae9e 100644 (file)
@@ -45,7 +45,7 @@ enum class DominantScrollGestureDirection {
 class WheelEventDeltaTracker final {
 public:
     WEBCORE_EXPORT WheelEventDeltaTracker();
-    ~WheelEventDeltaTracker();
+    WEBCORE_EXPORT ~WheelEventDeltaTracker();
 
     WEBCORE_EXPORT void beginTrackingDeltas();
     WEBCORE_EXPORT void endTrackingDeltas();
index 7c3dcc6..4744159 100644 (file)
@@ -44,12 +44,12 @@ class TextIndicatorWindow {
     WTF_MAKE_NONCOPYABLE(TextIndicatorWindow);
 
 public:
-    explicit TextIndicatorWindow(NSView *);
-    ~TextIndicatorWindow();
+    WEBCORE_EXPORT explicit TextIndicatorWindow(NSView *);
+    WEBCORE_EXPORT ~TextIndicatorWindow();
 
-    void setTextIndicator(PassRefPtr<TextIndicator>, CGRect contentRect, bool fadeOut);
+    WEBCORE_EXPORT void setTextIndicator(PassRefPtr<TextIndicator>, CGRect contentRect, bool fadeOut);
 
-    void setAnimationProgress(float);
+    WEBCORE_EXPORT void setAnimationProgress(float);
 
 private:
     void closeWindow();
index 929e2bd..70e167a 100644 (file)
@@ -34,7 +34,7 @@ namespace WebCore {
 class AbstractDatabaseServer;
 class IDBFactoryBackendInterface;
 
-class DatabaseStrategy {
+class WEBCORE_EXPORT DatabaseStrategy {
 public:
 #if ENABLE(SQL_DATABASE)
     WEBCORE_EXPORT virtual AbstractDatabaseServer* getDatabaseServer();
index 7cd068a..32ef9ec 100644 (file)
@@ -262,7 +262,7 @@ protected:
     void setScrollOrigin(const IntPoint&);
     void resetScrollOriginChanged() { m_scrollOriginChanged = false; }
 
-    virtual float adjustScrollStepForFixedContent(float step, ScrollbarOrientation, ScrollGranularity);
+    WEBCORE_EXPORT virtual float adjustScrollStepForFixedContent(float step, ScrollbarOrientation, ScrollGranularity);
     virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) = 0;
     virtual void invalidateScrollCornerRect(const IntRect&) = 0;
 
index 0c78636..a7e5bc4 100644 (file)
@@ -33,8 +33,8 @@ namespace WebCore {
     // Once disabled via one or more more calls to disableSuddenTermination(), fast shutdown
     // is not valid until enableSuddenTermination() has been called an equal number of times.
     // On Mac, these are thin wrappers around Mac OS X functions of the same name.
-    void disableSuddenTermination();
-    void enableSuddenTermination();
+    WEBCORE_EXPORT void disableSuddenTermination();
+    WEBCORE_EXPORT void enableSuddenTermination();
 
 #if !PLATFORM(MAC)
     inline void disableSuddenTermination() { }
index 7e8b236..b760dbc 100644 (file)
@@ -235,9 +235,9 @@ WEBCORE_EXPORT const URL& blankURL();
 // These are also different from the URL functions in that they don't require the string to be a valid and parsable URL.
 // This is especially important because valid javascript URLs are not necessarily considered valid by URL.
 
-bool protocolIs(const String& url, const char* protocol);
+WEBCORE_EXPORT bool protocolIs(const String& url, const char* protocol);
 WEBCORE_EXPORT bool protocolIsJavaScript(const String& url);
-bool protocolIsInHTTPFamily(const String& url);
+WEBCORE_EXPORT bool protocolIsInHTTPFamily(const String& url);
 
 bool isDefaultPortForProtocol(unsigned short port, const String& protocol);
 bool portAllowed(const URL&); // Blacklist ports that should never be used for Web resources.
index b2dc133..f88c009 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 class Animation : public RefCounted<Animation> {
 public:
-    ~Animation();
+    WEBCORE_EXPORT ~Animation();
 
     static Ref<Animation> create() { return adoptRef(*new Animation); }
     static Ref<Animation> create(const Animation& other) { return adoptRef(*new Animation(other)); }
@@ -147,7 +147,7 @@ public:
     bool fillsForwards() const { return m_fillModeSet && (m_fillMode == AnimationFillModeForwards || m_fillMode == AnimationFillModeBoth); }
 
 private:
-    Animation();
+    WEBCORE_EXPORT Animation();
     Animation(const Animation& o);
     
     String m_name;
index 7b04479..7c02df6 100644 (file)
@@ -32,8 +32,8 @@ namespace WebCore {
 
 class MachSendRight {
 public:
-    static MachSendRight adopt(mach_port_t);
-    static MachSendRight create(mach_port_t);
+    WEBCORE_EXPORT static MachSendRight adopt(mach_port_t);
+    WEBCORE_EXPORT static MachSendRight create(mach_port_t);
 
     MachSendRight()
         : m_port(MACH_PORT_NULL)
@@ -41,14 +41,14 @@ public:
     }
 
     MachSendRight(MachSendRight&&);
-    ~MachSendRight();
+    WEBCORE_EXPORT ~MachSendRight();
 
-    MachSendRight& operator=(MachSendRight&&);
+    WEBCORE_EXPORT MachSendRight& operator=(MachSendRight&&);
 
     mach_port_t sendRight() const { return m_port; }
 
-    MachSendRight copySendRight() const;
-    mach_port_t leakSendRight() WARN_UNUSED_RETURN;
+    WEBCORE_EXPORT MachSendRight copySendRight() const;
+    WEBCORE_EXPORT mach_port_t leakSendRight() WARN_UNUSED_RETURN;
 
 private:
     explicit MachSendRight(mach_port_t);
index e43ea1a..6c655be 100644 (file)
@@ -83,7 +83,7 @@ public:
         FloatSize m_bottomRight;
     };
 
-    explicit FloatRoundedRect(const FloatRect& = FloatRect(), const Radii& = Radii());
+    WEBCORE_EXPORT explicit FloatRoundedRect(const FloatRect& = FloatRect(), const Radii& = Radii());
     explicit FloatRoundedRect(const RoundedRect&);
     FloatRoundedRect(float x, float y, float width, float height);
     FloatRoundedRect(const FloatRect&, const FloatSize& topLeft, const FloatSize& topRight, const FloatSize& bottomLeft, const FloatSize& bottomRight);
index 0ef4be0..ce28b44 100644 (file)
@@ -329,7 +329,7 @@ namespace WebCore {
         void drawTiledImage(Image*, ColorSpace, const FloatRect& destination, const FloatRect& source, const FloatSize& tileScaleFactor,
             Image::TileRule, Image::TileRule, const ImagePaintingOptions& = ImagePaintingOptions());
 
-        void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatPoint& destination, const ImagePaintingOptions& = ImagePaintingOptions());
+        WEBCORE_EXPORT void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatPoint& destination, const ImagePaintingOptions& = ImagePaintingOptions());
         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect& destination, const ImagePaintingOptions& = ImagePaintingOptions());
         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect& destination, const FloatRect& source, const ImagePaintingOptions& = ImagePaintingOptions());
 
index 8333322..375e9a0 100644 (file)
@@ -183,7 +183,7 @@ public:
     const AnimationValue& at(size_t i) const { return *m_values.at(i); }
     
     // Insert, sorted by keyTime.
-    void insert(std::unique_ptr<const AnimationValue>);
+    WEBCORE_EXPORT void insert(std::unique_ptr<const AnimationValue>);
     
 protected:
     Vector<std::unique_ptr<const AnimationValue>> m_values;
@@ -462,7 +462,7 @@ public:
 
     // Return a string with a human readable form of the layer tree, If debug is true
     // pointers for the layers and timing data will be included in the returned string.
-    String layerTreeAsText(LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const;
+    WEBCORE_EXPORT String layerTreeAsText(LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const;
 
     // Return an estimate of the backing store memory cost (in bytes). May be incorrect for tiled layers.
     WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const;
index 48c329a..536bb2d 100644 (file)
@@ -130,7 +130,7 @@ namespace WebCore {
         };
 
         WEBCORE_EXPORT void addRoundedRect(const FloatRect&, const FloatSize& roundingRadii, RoundedRectStrategy = PreferNativeRoundedRect);
-        void addRoundedRect(const FloatRoundedRect&, RoundedRectStrategy = PreferNativeRoundedRect);
+        WEBCORE_EXPORT void addRoundedRect(const FloatRoundedRect&, RoundedRectStrategy = PreferNativeRoundedRect);
         void addRoundedRect(const RoundedRect&);
 
         void addPath(const Path&, const AffineTransform&);
index 3034b99..1af7411 100644 (file)
@@ -212,7 +212,7 @@ public:
     WEBCORE_EXPORT static bool allowsRoundingHacks();
 
 private:
-    static bool s_allowsRoundingHacks;
+    WEBCORE_EXPORT static bool s_allowsRoundingHacks;
     
     RefPtr<RenderingContext> m_renderingContext;
 
index 822d2c4..1529ced 100644 (file)
@@ -53,7 +53,7 @@ class TileController final : public TiledBacking {
     friend class TileCoverageMap;
     friend class TileGrid;
 public:
-    explicit TileController(PlatformCALayer*);
+    WEBCORE_EXPORT explicit TileController(PlatformCALayer*);
     ~TileController();
 
     WEBCORE_EXPORT void tileCacheLayerBoundsChanged();
index 96d4730..f5fb25d 100644 (file)
@@ -46,7 +46,7 @@ public:
 
     static IntSize maximumSize();
 
-    MachSendRight createSendRight() const;
+    WEBCORE_EXPORT MachSendRight createSendRight() const;
 
     // Any images created from a surface need to be released before releasing
     // the surface, or an expensive GPU readback can result.
index 74093ae..376f79f 100644 (file)
@@ -39,7 +39,7 @@ namespace WebCore {
     
 #if USE(APPKIT)
     // These functions assume NSColors are in DeviceRGB colorspace
-    Color colorFromNSColor(NSColor *);
+    WEBCORE_EXPORT Color colorFromNSColor(NSColor *);
     WEBCORE_EXPORT NSColor *nsColor(const Color&);
 #endif
 
index 832c010..c125cf0 100644 (file)
         return loaded; \
     } \
     \
-    resultType functionName parameterDeclarations \
+    __attribute__((visibility("hidden"))) resultType functionName parameterDeclarations \
     { \
         ASSERT(softLink##functionName); \
         return softLink##functionName parameterNames; \
index 19e777c..4656978 100644 (file)
@@ -48,7 +48,7 @@ WEBCORE_EXPORT NSString *filenameByFixingIllegalCharacters(NSString *);
 WEBCORE_EXPORT CFStringEncoding stringEncodingForResource(Handle resource);
 #endif
 
-NSString *preferredBundleLocalizationName();
+WEBCORE_EXPORT NSString *preferredBundleLocalizationName();
 NSString *canonicalLocaleName(NSString *);
 
 #ifdef __cplusplus
index 89b4c9a..ba0a78b 100644 (file)
  */
 
 #import "config.h"
+#pragma GCC visibility push(default)
 #import "WebCoreSystemInterface.h"
+#pragma GCC visibility pop
+
 #import <Foundation/Foundation.h>
 
 void (*wkAdvanceDefaultButtonPulseAnimation)(NSButtonCell *);
index b6694d8..f93c8c8 100644 (file)
@@ -39,7 +39,7 @@ class MockMediaSourcePrivate;
 class MockMediaPlayerMediaSource : public MediaPlayerPrivateInterface {
 public:
     // MediaPlayer Engine Support
-    static void registerMediaEngine(MediaEngineRegistrar);
+    WEBCORE_EXPORT static void registerMediaEngine(MediaEngineRegistrar);
     static PassOwnPtr<MediaPlayerPrivateInterface> create(MediaPlayer*);
     static void getSupportedTypes(HashSet<String>& types);
     static MediaPlayer::SupportsType supportsType(const MediaEngineSupportParameters&);
index 28e260a..b919f6f 100644 (file)
@@ -44,7 +44,7 @@ class URL;
 WEBCORE_EXPORT BlobRegistry& blobRegistry();
 
 // BlobRegistry is not thread-safe. It should only be called from main thread.
-class BlobRegistry {
+class WEBCORE_EXPORT BlobRegistry {
 public:
 
     // Registers a blob URL referring to the specified file.
index c2c134e..3f89ebe 100644 (file)
@@ -124,8 +124,8 @@ namespace WebCore {
         bool allowCookies() const;
         void setAllowCookies(bool allowCookies);
 
-        ResourceLoadPriority priority() const;
-        void setPriority(ResourceLoadPriority);
+        WEBCORE_EXPORT ResourceLoadPriority priority() const;
+        WEBCORE_EXPORT void setPriority(ResourceLoadPriority);
 
         bool isConditional() const;
         void makeUnconditional();
index 17a13e2..16b306e 100644 (file)
@@ -93,9 +93,9 @@ public:
     WEBCORE_EXPORT bool isAttachment() const;
     WEBCORE_EXPORT String suggestedFilename() const;
 
-    void includeCertificateInfo() const;
+    WEBCORE_EXPORT void includeCertificateInfo() const;
     bool containsCertificateInfo() const { return m_includesCertificateInfo; }
-    CertificateInfo certificateInfo() const;
+    WEBCORE_EXPORT CertificateInfo certificateInfo() const;
     
     // These functions return parsed values of the corresponding response headers.
     // NaN means that the header was not present or had invalid value.
@@ -116,8 +116,8 @@ public:
     void setConnectionReused(bool);
 
     enum class Source { Unknown, Network, DiskCache, DiskCacheAfterValidation };
-    Source source() const;
-    void setSource(Source);
+    WEBCORE_EXPORT Source source() const;
+    WEBCORE_EXPORT void setSource(Source);
 
     ResourceLoadTiming& resourceLoadTiming() const { return m_resourceLoadTiming; }
 
@@ -143,7 +143,7 @@ protected:
     WEBCORE_EXPORT ResourceResponseBase();
     ResourceResponseBase(const URL&, const String& mimeType, long long expectedLength, const String& textEncodingName);
 
-    void lazyInit(InitLevel) const;
+    WEBCORE_EXPORT void lazyInit(InitLevel) const;
 
     // The ResourceResponse subclass should shadow these functions to lazily initialize platform specific fields
     void platformLazyInit(InitLevel) { }
index 5d09da3..2584c88 100644 (file)
@@ -49,14 +49,14 @@ class HitTestResult {
 public:
     typedef ListHashSet<RefPtr<Node>> NodeSet;
 
-    HitTestResult();
+    WEBCORE_EXPORT HitTestResult();
     WEBCORE_EXPORT explicit HitTestResult(const LayoutPoint&);
     // Pass non-negative padding values to perform a rect-based hit test.
     WEBCORE_EXPORT HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
     explicit HitTestResult(const HitTestLocation&);
     WEBCORE_EXPORT HitTestResult(const HitTestResult&);
     WEBCORE_EXPORT ~HitTestResult();
-    HitTestResult& operator=(const HitTestResult&);
+    WEBCORE_EXPORT HitTestResult& operator=(const HitTestResult&);
 
     Node* innerNode() const { return m_innerNode.get(); }
     WEBCORE_EXPORT Element* innerElement() const;
@@ -124,9 +124,9 @@ public:
     WEBCORE_EXPORT bool mediaIsVideo() const;
     bool mediaMuted() const;
     void toggleMediaMuteState() const;
-    bool isDownloadableMedia() const;
-    bool isOverTextInsideFormControlElement() const;
-    bool allowsCopy() const;
+    WEBCORE_EXPORT bool isDownloadableMedia() const;
+    WEBCORE_EXPORT bool isOverTextInsideFormControlElement() const;
+    WEBCORE_EXPORT bool allowsCopy() const;
 
     // Returns true if it is rect-based hit test and needs to continue until the rect is fully
     // enclosed by the boundaries of a node.
index 13c52e1..c0d1392 100644 (file)
@@ -59,7 +59,7 @@ public:
         return IntRect(0, 0, boundingBox.width(), boundingBox.height());
     }
 
-    IntRect linesBoundingBox() const;
+    WEBCORE_EXPORT IntRect linesBoundingBox() const;
     LayoutRect linesVisualOverflowBoundingBox() const;
     LayoutRect linesVisualOverflowBoundingBoxInRegion(const RenderRegion*) const;
 
index ccbbf5e..1ff8f54 100644 (file)
@@ -237,7 +237,7 @@ public:
 #endif
 
     // Return an estimate of the backing store area (in pixels) allocated by this object's GraphicsLayers.
-    double backingStoreMemoryEstimate() const;
+    WEBCORE_EXPORT double backingStoreMemoryEstimate() const;
 
     LayoutSize devicePixelFractionFromRenderer() const { return m_devicePixelFractionFromRenderer; }
 
index 184aa35..f33ef38 100644 (file)
@@ -79,7 +79,7 @@
 
 #if ENABLE(3D_RENDERING)
 // This symbol is used to determine from a script whether 3D rendering is enabled (via 'nm').
-bool WebCoreHas3DRendering = true;
+WEBCORE_EXPORT bool WebCoreHas3DRendering = true;
 #endif
 
 #if !PLATFORM(MAC) && !PLATFORM(IOS)
index 9b1502a..d4c3690 100644 (file)
@@ -224,7 +224,7 @@ public:
     void didCreateRenderer() { ++m_rendererCount; }
     void didDestroyRenderer() { --m_rendererCount; }
 
-    WEBCORE_EXPORT void resumePausedImageAnimationsIfNeeded();
+    void resumePausedImageAnimationsIfNeeded();
     void addRendererWithPausedImageAnimations(RenderElement&);
     void removeRendererWithPausedImageAnimations(RenderElement&);
 
index 7e7cc08..81bc505 100644 (file)
@@ -39,8 +39,8 @@ class StorageAreaImpl;
 
 class StorageNamespaceImpl : public StorageNamespace {
 public:
-    static RefPtr<StorageNamespaceImpl> createSessionStorageNamespace(unsigned quota);
-    static RefPtr<StorageNamespaceImpl> getOrCreateLocalStorageNamespace(const String& databasePath, unsigned quota);
+    WEBCORE_EXPORT static RefPtr<StorageNamespaceImpl> createSessionStorageNamespace(unsigned quota);
+    WEBCORE_EXPORT static RefPtr<StorageNamespaceImpl> getOrCreateLocalStorageNamespace(const String& databasePath, unsigned quota);
     virtual ~StorageNamespaceImpl();
 
     virtual PassRefPtr<StorageArea> storageArea(PassRefPtr<SecurityOrigin>)  override;
index 8391bd4..85fbf2c 100644 (file)
@@ -42,8 +42,8 @@ class StorageNamespace;
 
 class StorageNamespaceProvider : public RefCounted<StorageNamespaceProvider> {
 public:
-    StorageNamespaceProvider();
-    virtual ~StorageNamespaceProvider();
+    WEBCORE_EXPORT StorageNamespaceProvider();
+    WEBCORE_EXPORT virtual ~StorageNamespaceProvider();
 
     virtual RefPtr<StorageNamespace> createSessionStorageNamespace(Page&, unsigned quota) = 0;
     RefPtr<StorageArea> localStorageArea(Document&);
index 4c5a534..7b60295 100644 (file)
@@ -265,7 +265,7 @@ public:
     void webkitDidExitFullScreenForElement(Element*);
 #endif
 
-    void setApplicationCacheOriginQuota(unsigned long long);
+    WEBCORE_EXPORT void setApplicationCacheOriginQuota(unsigned long long);
 
     void registerURLSchemeAsBypassingContentSecurityPolicy(const String& scheme);
     void removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(const String& scheme);
@@ -333,7 +333,7 @@ public:
     bool isPluginSnapshotted(Element*, ExceptionCode&);
 
 #if ENABLE(MEDIA_SOURCE)
-    void initializeMockMediaSource();
+    WEBCORE_EXPORT void initializeMockMediaSource();
     Vector<String> bufferedSamplesForTrackID(SourceBuffer*, const AtomicString&);
 #endif