Unreviewed, rolling out r172844.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Aug 2014 18:25:37 +0000 (18:25 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Aug 2014 18:25:37 +0000 (18:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=136164

re-applying WEBCORE_EXPORTS patch (Requested by
alexchristensen on #webkit).

Reverted changeset:

"Revert r172831, it broke the Windows build."
http://trac.webkit.org/changeset/172844

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

138 files changed:
Source/WTF/ChangeLog
Source/WTF/wtf/ExportMacros.h
Source/WebCore/ChangeLog
Source/WebCore/Modules/geolocation/Geolocation.h
Source/WebCore/Modules/geolocation/GeolocationController.h
Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.h
Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h
Source/WebCore/Modules/indexeddb/IDBKey.h
Source/WebCore/Modules/indexeddb/IDBKeyData.h
Source/WebCore/Modules/indexeddb/IDBKeyPath.h
Source/WebCore/Modules/indexeddb/IDBKeyRange.h
Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h
Source/WebCore/Modules/notifications/Notification.h
Source/WebCore/Modules/notifications/NotificationController.h
Source/WebCore/bindings/js/GCController.h
Source/WebCore/bridge/IdentifierRep.h
Source/WebCore/css/StyleProperties.h
Source/WebCore/dom/ExceptionCodePlaceholder.h
Source/WebCore/dom/KeyboardEvent.h
Source/WebCore/dom/MouseEvent.h
Source/WebCore/dom/MouseRelatedEvent.h
Source/WebCore/dom/Node.h
Source/WebCore/dom/NodeTraversal.h
Source/WebCore/dom/Position.h
Source/WebCore/dom/Range.h
Source/WebCore/editing/FrameSelection.h
Source/WebCore/history/HistoryItem.h
Source/WebCore/history/PageCache.h
Source/WebCore/html/FormController.h
Source/WebCore/html/HTMLElement.h
Source/WebCore/html/HTMLFormElement.h
Source/WebCore/html/HTMLFrameOwnerElement.h
Source/WebCore/html/HTMLInputElement.h
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/html/HTMLOptGroupElement.h
Source/WebCore/html/HTMLOptionElement.h
Source/WebCore/html/HTMLPlugInElement.h
Source/WebCore/html/HTMLPlugInImageElement.h
Source/WebCore/html/HTMLSelectElement.h
Source/WebCore/html/HTMLTableCellElement.h
Source/WebCore/html/HTMLTextAreaElement.h
Source/WebCore/html/HTMLTextFormControlElement.h
Source/WebCore/html/HTMLVideoElement.h
Source/WebCore/html/ImageDocument.h
Source/WebCore/html/PluginDocument.h
Source/WebCore/html/forms/FileIconLoader.h
Source/WebCore/html/shadow/InsertionPoint.h
Source/WebCore/inspector/InspectorClient.h
Source/WebCore/inspector/InspectorController.h
Source/WebCore/inspector/InspectorFrontendClientLocal.h
Source/WebCore/inspector/InspectorInstrumentation.h
Source/WebCore/loader/FrameLoadRequest.h
Source/WebCore/loader/FrameLoader.h
Source/WebCore/loader/FrameLoaderStateMachine.h
Source/WebCore/loader/HistoryController.h
Source/WebCore/loader/LoaderStrategy.h
Source/WebCore/loader/NavigationAction.h
Source/WebCore/loader/NetscapePlugInStreamLoader.h
Source/WebCore/loader/ProgressTracker.h
Source/WebCore/loader/archive/cf/LegacyWebArchive.h
Source/WebCore/loader/cache/MemoryCache.h
Source/WebCore/loader/icon/IconController.h
Source/WebCore/loader/icon/IconDatabase.h
Source/WebCore/loader/icon/IconDatabaseBase.h
Source/WebCore/page/FocusController.h
Source/WebCore/page/Frame.h
Source/WebCore/page/FrameDestructionObserver.h
Source/WebCore/page/FrameTree.h
Source/WebCore/page/FrameView.h
Source/WebCore/page/Page.h
Source/WebCore/page/PageConsole.h
Source/WebCore/page/PageGroup.h
Source/WebCore/page/PageThrottler.h
Source/WebCore/page/PrintContext.h
Source/WebCore/page/scrolling/ScrollingConstraints.h
Source/WebCore/page/scrolling/ScrollingStateNode.h
Source/WebCore/platform/FileChooser.h
Source/WebCore/platform/GamepadProvider.h
Source/WebCore/platform/Length.h
Source/WebCore/platform/MIMETypeRegistry.h
Source/WebCore/platform/MemoryPressureHandler.h
Source/WebCore/platform/Pasteboard.h
Source/WebCore/platform/PlatformExportMacros.h
Source/WebCore/platform/PlatformKeyboardEvent.h
Source/WebCore/platform/PlatformPasteboard.h
Source/WebCore/platform/PlatformSpeechSynthesisVoice.h
Source/WebCore/platform/PlatformSpeechSynthesizer.h
Source/WebCore/platform/audio/MediaSessionManager.h
Source/WebCore/platform/graphics/FloatPoint.h
Source/WebCore/platform/graphics/FloatQuad.h
Source/WebCore/platform/graphics/FloatRect.h
Source/WebCore/platform/graphics/FloatSize.h
Source/WebCore/platform/graphics/Font.h
Source/WebCore/platform/graphics/FontCache.h
Source/WebCore/platform/graphics/FontGlyphs.h
Source/WebCore/platform/graphics/FontPlatformData.h
Source/WebCore/platform/graphics/GlyphPageTreeNode.h
Source/WebCore/platform/graphics/Gradient.h
Source/WebCore/platform/graphics/GraphicsContext.h
Source/WebCore/platform/graphics/GraphicsLayer.h
Source/WebCore/platform/graphics/Icon.h
Source/WebCore/platform/graphics/Image.h
Source/WebCore/platform/graphics/ImageBuffer.h
Source/WebCore/platform/graphics/IntPoint.h
Source/WebCore/platform/graphics/IntRect.h
Source/WebCore/platform/graphics/IntSize.h
Source/WebCore/platform/graphics/LayoutRect.h
Source/WebCore/platform/graphics/MediaPlayer.h
Source/WebCore/platform/graphics/Path.h
Source/WebCore/platform/graphics/Region.h
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h
Source/WebCore/platform/graphics/ca/LayerPool.h
Source/WebCore/platform/graphics/ca/PlatformCAFilters.h
Source/WebCore/platform/graphics/ca/PlatformCALayer.h
Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h
Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h
Source/WebCore/platform/graphics/cg/IOSurfacePool.h
Source/WebCore/platform/graphics/cocoa/IOSurface.h
Source/WebCore/platform/graphics/filters/FilterOperations.h
Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h
Source/WebCore/platform/ios/LegacyTileCache.h
Source/WebCore/platform/ios/PlatformEventFactoryIOS.h
Source/WebCore/platform/ios/wak/FloatingPointEnvironment.h
Source/WebCore/platform/mac/HIDGamepadProvider.h
Source/WebCore/platform/mock/MockMediaStreamCenter.h
Source/WebCore/platform/network/FormData.h
Source/WebCore/platform/network/HTTPHeaderMap.h
Source/WebCore/platform/network/NetworkStorageSession.h
Source/WebCore/platform/network/ProtectionSpaceBase.h
Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h
Source/WebCore/platform/network/ios/QuickLook.h
Source/WebCore/platform/text/TextBreakIterator.h
Source/WebCore/plugins/PluginData.h
Source/WebCore/plugins/PluginMainThreadScheduler.h
Source/WebCore/rendering/HitTestLocation.h
Source/WebCore/rendering/HitTestResult.h
Source/WebCore/rendering/InlineBox.h

index 895cd18..cebead3 100644 (file)
@@ -1,3 +1,16 @@
+2014-08-22  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r172844.
+        https://bugs.webkit.org/show_bug.cgi?id=136164
+
+        re-applying WEBCORE_EXPORTS patch (Requested by
+        alexchristensen on #webkit).
+
+        Reverted changeset:
+
+        "Revert r172831, it broke the Windows build."
+        http://trac.webkit.org/changeset/172844
+
 2014-08-22  Jon Lee  <jonlee@apple.com>
 
         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
index 5a4af5f..c90b9f0 100644 (file)
 
 #endif // USE(EXPORT_MACROS)
 
-// WTF_TESTING (and WEBCORE_TESTING in PlatformExportMacros.h) is used for
-// exporting symbols which are referred from WebCoreTestSupport library.
-// Since the set of APIs is common between ports,
-// it is rather worth annotating inside the code than maintaining port specific export lists.
-#if USE(EXPORT_MACROS_FOR_TESTING)
-
-#if defined(WTF_IS_LINKED_IN_SAME_BINARY)
-#define WTF_TESTING WTF_EXPORT_DECLARATION
-#else
-#define WTF_TESTING WTF_IMPORT_DECLARATION
-#endif
-
-#else // USE(EXPORT_MACROS_FOR_TESTING)
-
-#define WTF_TESTING
-
-#endif // USE(EXPORT_MACROS_FOR_TESTING)
-
 #if defined(WTF_IS_LINKED_IN_SAME_BINARY)
 #define WTF_EXPORT_PRIVATE WTF_EXPORT
 #else
index 8dda880..5cf591a 100644 (file)
@@ -1,3 +1,16 @@
+2014-08-22  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r172844.
+        https://bugs.webkit.org/show_bug.cgi?id=136164
+
+        re-applying WEBCORE_EXPORTS patch (Requested by
+        alexchristensen on #webkit).
+
+        Reverted changeset:
+
+        "Revert r172831, it broke the Windows build."
+        http://trac.webkit.org/changeset/172844
+
 2014-08-21  David Hyatt  <hyatt@apple.com>
 
         Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
index 180514a..644dbfb 100644 (file)
@@ -52,22 +52,22 @@ class Geolocation : public ScriptWrappable, public RefCounted<Geolocation>, publ
 {
 public:
     static PassRef<Geolocation> create(ScriptExecutionContext*);
-    ~Geolocation();
+    WEBCORE_EXPORT ~Geolocation();
 
 #if PLATFORM(IOS)
     virtual bool canSuspend() const override;
     virtual void suspend(ReasonForSuspension) override;
     virtual void resume() override;
-    void resetAllGeolocationPermission();
+    WEBCORE_EXPORT void resetAllGeolocationPermission();
 #endif // PLATFORM(IOS)
     Document* document() const;
-    Frame* frame() const;
+    WEBCORE_EXPORT Frame* frame() const;
 
     void getCurrentPosition(PassRefPtr<PositionCallback>, PassRefPtr<PositionErrorCallback>, PassRefPtr<PositionOptions>);
     int watchPosition(PassRefPtr<PositionCallback>, PassRefPtr<PositionErrorCallback>, PassRefPtr<PositionOptions>);
     void clearWatch(int watchID);
 
-    void setIsAllowed(bool);
+    WEBCORE_EXPORT void setIsAllowed(bool);
     bool isAllowed() const { return m_allowGeolocation == Yes; }
 
     void positionChanged();
index d285e25..246e892 100644 (file)
@@ -54,14 +54,14 @@ public:
     void requestPermission(Geolocation*);
     void cancelPermissionRequest(Geolocation*);
 
-    void positionChanged(GeolocationPosition*);
-    void errorOccurred(GeolocationError*);
+    WEBCORE_EXPORT void positionChanged(GeolocationPosition*);
+    WEBCORE_EXPORT void errorOccurred(GeolocationError*);
 
     GeolocationPosition* lastPosition();
 
     GeolocationClient* client() { return m_client; }
 
-    static const char* supplementName();
+    WEBCORE_EXPORT static const char* supplementName();
     static GeolocationController* from(Page* page) { return static_cast<GeolocationController*>(Supplement<Page>::from(page, supplementName())); }
 
 private:
index ec4350a..43e36fb 100644 (file)
@@ -59,8 +59,8 @@ typedef int ExceptionCode;
 
 class IDBDatabaseBackend : public RefCounted<IDBDatabaseBackend> {
 public:
-    static PassRefPtr<IDBDatabaseBackend> create(const String& name, const String& uniqueIdentifier, IDBFactoryBackendInterface*, IDBServerConnection&);
-    ~IDBDatabaseBackend();
+    WEBCORE_EXPORT static PassRefPtr<IDBDatabaseBackend> create(const String& name, const String& uniqueIdentifier, IDBFactoryBackendInterface*, IDBServerConnection&);
+    WEBCORE_EXPORT ~IDBDatabaseBackend();
 
     IDBServerConnection& serverConnection() { return m_serverConnection.get(); }
 
@@ -71,8 +71,8 @@ public:
     void addIndex(int64_t objectStoreId, const IDBIndexMetadata&, int64_t newMaxIndexId);
     void removeIndex(int64_t objectStoreId, int64_t indexId);
 
-    void openConnection(PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, uint64_t version);
-    void deleteDatabase(PassRefPtr<IDBCallbacks>);
+    WEBCORE_EXPORT void openConnection(PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, uint64_t version);
+    WEBCORE_EXPORT void deleteDatabase(PassRefPtr<IDBCallbacks>);
 
     // IDBDatabaseBackend
     void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement);
index c393696..15b7c28 100644 (file)
@@ -76,7 +76,7 @@ struct IDBDatabaseMetadata {
     typedef HashMap<int64_t, IDBObjectStoreMetadata> ObjectStoreMap;
     ObjectStoreMap objectStores;
 
-    IDBDatabaseMetadata isolatedCopy() const;
+    WEBCORE_EXPORT IDBDatabaseMetadata isolatedCopy() const;
 };
 
 } // namespace WebCore
index 5b80f9a..78530b3 100644 (file)
@@ -94,7 +94,7 @@ public:
         return adoptRef(new IDBKey(array, sizeEstimate));
     }
 
-    ~IDBKey();
+    WEBCORE_EXPORT ~IDBKey();
 
     // In order of the least to the highest precedent in terms of sort order.
     enum Type {
@@ -108,7 +108,7 @@ public:
     };
 
     Type type() const { return m_type; }
-    bool isValid() const;
+    WEBCORE_EXPORT bool isValid() const;
 
     const KeyArray& array() const
     {
index 7014b15..d7265be 100644 (file)
@@ -43,7 +43,7 @@ struct IDBKeyData {
     {
     }
 
-    IDBKeyData(const IDBKey*);
+    WEBCORE_EXPORT IDBKeyData(const IDBKey*);
 
     static IDBKeyData minimum()
     {
@@ -61,26 +61,26 @@ struct IDBKeyData {
         return result;
     }
 
-    PassRefPtr<IDBKey> maybeCreateIDBKey() const;
+    WEBCORE_EXPORT PassRefPtr<IDBKey> maybeCreateIDBKey() const;
 
     IDBKeyData isolatedCopy() const;
 
-    void encode(KeyedEncoder&) const;
-    static bool decode(KeyedDecoder&, IDBKeyData&);
+    WEBCORE_EXPORT void encode(KeyedEncoder&) const;
+    WEBCORE_EXPORT static bool decode(KeyedDecoder&, IDBKeyData&);
 
     // compare() has the same semantics as strcmp().
     //   - Returns negative if this IDBKeyData is less than other.
     //   - Returns positive if this IDBKeyData is greater than other.
     //   - Returns zero if this IDBKeyData is equal to other.
-    int compare(const IDBKeyData& other) const;
+    WEBCORE_EXPORT int compare(const IDBKeyData& other) const;
 
     void setArrayValue(const Vector<IDBKeyData>&);
     void setStringValue(const String&);
     void setDateValue(double);
-    void setNumberValue(double);
+    WEBCORE_EXPORT void setNumberValue(double);
 
 #ifndef NDEBUG
-    String loggingString() const;
+    WEBCORE_EXPORT String loggingString() const;
 #endif
 
     IDBKey::Type type;
index 6dcd7de..11b2b19 100644 (file)
@@ -48,8 +48,8 @@ void IDBParseKeyPath(const String&, Vector<String>&, IDBKeyPathParseError&);
 class IDBKeyPath {
 public:
     IDBKeyPath() : m_type(NullType) { }
-    explicit IDBKeyPath(const String&);
-    explicit IDBKeyPath(const Vector<String>& array);
+    WEBCORE_EXPORT explicit IDBKeyPath(const String&);
+    WEBCORE_EXPORT explicit IDBKeyPath(const Vector<String>& array);
 
     enum Type {
         NullType = 0,
@@ -77,8 +77,8 @@ public:
 
     IDBKeyPath isolatedCopy() const;
 
-    void encode(KeyedEncoder&) const;
-    static bool decode(KeyedDecoder&, IDBKeyPath&);
+    WEBCORE_EXPORT void encode(KeyedEncoder&) const;
+    WEBCORE_EXPORT static bool decode(KeyedDecoder&, IDBKeyPath&);
 
 private:
     Type m_type;
index e551cf4..a168db4 100644 (file)
@@ -77,7 +77,7 @@ public:
     static PassRefPtr<IDBKeyRange> bound(ScriptExecutionContext* context, const Deprecated::ScriptValue& lower, const Deprecated::ScriptValue& upper, bool lowerOpen, ExceptionCode& ec) { return bound(context, lower, upper, lowerOpen, false, ec); }
     static PassRefPtr<IDBKeyRange> bound(ScriptExecutionContext*, const Deprecated::ScriptValue& lower, const Deprecated::ScriptValue& upper, bool lowerOpen, bool upperOpen, ExceptionCode&);
 
-    bool isOnlyKey() const;
+    WEBCORE_EXPORT bool isOnlyKey() const;
 
 private:
     IDBKeyRange(PassRefPtr<IDBKey> lower, PassRefPtr<IDBKey> upper, LowerBoundType lowerType, UpperBoundType upperType);
index 7154192..56cf461 100644 (file)
@@ -57,9 +57,9 @@ struct IDBKeyRangeData {
 
     IDBKeyRangeData isolatedCopy() const;
 
-    PassRefPtr<IDBKeyRange> maybeCreateIDBKeyRange() const;
+    WEBCORE_EXPORT PassRefPtr<IDBKeyRange> maybeCreateIDBKeyRange() const;
 
-    bool isExactlyOneKey() const;
+    WEBCORE_EXPORT bool isExactlyOneKey() const;
 
     bool isNull;
 
index 90193ba..a980100 100644 (file)
@@ -64,7 +64,7 @@ typedef int ExceptionCode;
 class Notification final : public RefCounted<Notification>, public ActiveDOMObject, public EventTargetWithInlineData {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    Notification();
+    WEBCORE_EXPORT Notification();
 #if ENABLE(LEGACY_NOTIFICATIONS)
     static PassRef<Notification> create(const String& title, const String& body, const String& iconURI, ScriptExecutionContext*, ExceptionCode&, PassRefPtr<NotificationCenter> provider);
 #endif
@@ -72,7 +72,7 @@ public:
     static PassRef<Notification> create(ScriptExecutionContext&, const String& title, const Dictionary& options);
 #endif
     
-    virtual ~Notification();
+    WEBCORE_EXPORT virtual ~Notification();
 
     void show();
 #if ENABLE(LEGACY_NOTIFICATIONS)
@@ -111,10 +111,10 @@ public:
     DEFINE_ATTRIBUTE_EVENT_LISTENER(close);
     DEFINE_ATTRIBUTE_EVENT_LISTENER(click);
     
-    void dispatchClickEvent();
-    void dispatchCloseEvent();
-    void dispatchErrorEvent();
-    void dispatchShowEvent();
+    WEBCORE_EXPORT void dispatchClickEvent();
+    WEBCORE_EXPORT void dispatchCloseEvent();
+    WEBCORE_EXPORT void dispatchErrorEvent();
+    WEBCORE_EXPORT void dispatchShowEvent();
 
     using RefCounted<Notification>::ref;
     using RefCounted<Notification>::deref;
@@ -128,11 +128,11 @@ public:
     // Deprecated. Use functions from NotificationCenter.
     void detachPresenter() { }
 
-    void finalize();
+    WEBCORE_EXPORT void finalize();
 
 #if ENABLE(NOTIFICATIONS)
     static const String permission(ScriptExecutionContext*);
-    static const String permissionString(NotificationClient::Permission);
+    WEBCORE_EXPORT static const String permissionString(NotificationClient::Permission);
     static void requestPermission(ScriptExecutionContext*, PassRefPtr<NotificationPermissionCallback> = 0);
 #endif
 
index 58f4f96..c565133 100644 (file)
@@ -44,7 +44,7 @@ public:
 
     static const char* supplementName();
     static NotificationController* from(Page* page) { return static_cast<NotificationController*>(Supplement<Page>::from(page, supplementName())); }
-    static NotificationClient* clientFrom(Page*);
+    WEBCORE_EXPORT static NotificationClient* clientFrom(Page*);
 
     NotificationClient* client() { return m_client; }
     
index f02a632..1c2d914 100644 (file)
@@ -40,13 +40,13 @@ namespace WebCore {
         friend GCController& gcController();
 
     public:
-        void garbageCollectSoon();
-        void garbageCollectNow(); // It's better to call garbageCollectSoon, unless you have a specific reason not to.
+        WEBCORE_EXPORT void garbageCollectSoon();
+        WEBCORE_EXPORT void garbageCollectNow(); // It's better to call garbageCollectSoon, unless you have a specific reason not to.
 
-        void garbageCollectOnAlternateThreadForDebugging(bool waitUntilDone); // Used for stress testing.
-        void releaseExecutableMemory();
-        void setJavaScriptGarbageCollectorTimerEnabled(bool);
-        void discardAllCompiledCode();
+        WEBCORE_EXPORT void garbageCollectOnAlternateThreadForDebugging(bool waitUntilDone); // Used for stress testing.
+        WEBCORE_EXPORT void releaseExecutableMemory();
+        WEBCORE_EXPORT void setJavaScriptGarbageCollectorTimerEnabled(bool);
+        WEBCORE_EXPORT void discardAllCompiledCode();
 
     private:
         GCController(); // Use gcController() instead
index 8c10316..248ef89 100644 (file)
@@ -36,10 +36,10 @@ namespace WebCore {
 class IdentifierRep {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    static IdentifierRep* get(int);
-    static IdentifierRep* get(const char*);
+    WEBCORE_EXPORT static IdentifierRep* get(int);
+    WEBCORE_EXPORT static IdentifierRep* get(const char*);
 
-    static bool isValid(IdentifierRep*);
+    WEBCORE_EXPORT static bool isValid(IdentifierRep*);
     
     bool isString() const { return m_isString; }
 
index a9c2fa6..9206dc9 100644 (file)
@@ -156,7 +156,7 @@ private:
 
 class ImmutableStyleProperties : public StyleProperties {
 public:
-    ~ImmutableStyleProperties();
+    WEBCORE_EXPORT ~ImmutableStyleProperties();
     static PassRef<ImmutableStyleProperties> create(const CSSProperty* properties, unsigned count, CSSParserMode);
 
     unsigned propertyCount() const { return m_arraySize; }
@@ -186,7 +186,7 @@ public:
     static PassRef<MutableStyleProperties> create(CSSParserMode = CSSQuirksMode);
     static PassRef<MutableStyleProperties> create(const CSSProperty* properties, unsigned count);
 
-    ~MutableStyleProperties();
+    WEBCORE_EXPORT ~MutableStyleProperties();
 
     unsigned propertyCount() const { return m_propertyVector.size(); }
 
@@ -216,7 +216,7 @@ public:
     void clear();
     void parseDeclaration(const String& styleDeclaration, StyleSheetContents* contextStyleSheet);
 
-    CSSStyleDeclaration* ensureCSSStyleDeclaration();
+    WEBCORE_EXPORT CSSStyleDeclaration* ensureCSSStyleDeclaration();
     CSSStyleDeclaration* ensureInlineCSSStyleDeclaration(StyledElement* parentElement);
 
     int findPropertyIndex(CSSPropertyID) const;
index aadd527..976f255 100644 (file)
@@ -68,8 +68,8 @@ class IgnorableExceptionCode : public ExceptionCodePlaceholder {
 
 class NoExceptionAssertionChecker : public ExceptionCodePlaceholder {
 public:
-    NoExceptionAssertionChecker(const char* file, int line);
-    ~NoExceptionAssertionChecker();
+    WEBCORE_EXPORT NoExceptionAssertionChecker(const char* file, int line);
+    WEBCORE_EXPORT ~NoExceptionAssertionChecker();
 
 private:
     static const ExceptionCode defaultExceptionCode = 0xaaaaaaaa;
index 07413b0..8687b1f 100644 (file)
@@ -103,8 +103,8 @@ public:
 #endif
 
 private:
-    KeyboardEvent();
-    KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*);
+    WEBCORE_EXPORT KeyboardEvent();
+    WEBCORE_EXPORT KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*);
     KeyboardEvent(const AtomicString&, const KeyboardEventInit&);
 
     std::unique_ptr<PlatformKeyboardEvent> m_keyEvent;
index 1f5a1ea..6dc76c8 100644 (file)
@@ -53,7 +53,7 @@ public:
         return adoptRef(new MouseEvent);
     }
 
-    static PassRefPtr<MouseEvent> create(const AtomicString& type, bool canBubble, bool cancelable, double timestamp, PassRefPtr<AbstractView>,
+    WEBCORE_EXPORT static PassRefPtr<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,
@@ -61,7 +61,7 @@ public:
         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
         PassRefPtr<EventTarget> relatedTarget);
 
-    static PassRefPtr<MouseEvent> create(const AtomicString& type, bool canBubble, bool cancelable, double timestamp, PassRefPtr<AbstractView>,
+    WEBCORE_EXPORT static PassRefPtr<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,
@@ -69,7 +69,7 @@ public:
         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
         PassRefPtr<EventTarget> relatedTarget, PassRefPtr<DataTransfer>, bool isSimulated = false);
 
-    static PassRefPtr<MouseEvent> create(const AtomicString& eventType, PassRefPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtr<Node> relatedTarget);
+    WEBCORE_EXPORT static PassRefPtr<MouseEvent> create(const AtomicString& eventType, PassRefPtr<AbstractView>, const PlatformMouseEvent&, int detail, PassRefPtr<Node> relatedTarget);
 
     static PassRefPtr<MouseEvent> create(const AtomicString& eventType, const MouseEventInit&);
 
index 85e018b..66fc107 100644 (file)
@@ -46,8 +46,8 @@ namespace WebCore {
         const LayoutPoint& clientLocation() const { return m_clientLocation; }
         int layerX() override;
         int layerY() override;
-        int offsetX();
-        int offsetY();
+        WEBCORE_EXPORT int offsetX();
+        WEBCORE_EXPORT int offsetY();
         bool isSimulated() const { return m_isSimulated; }
         virtual int pageX() const override;
         virtual int pageY() const override;
index 2c61cd9..2f2ed81 100644 (file)
@@ -152,8 +152,8 @@ public:
 
     static bool isSupported(const String& feature, const String& version);
 
-    static void startIgnoringLeaks();
-    static void stopIgnoringLeaks();
+    WEBCORE_EXPORT static void startIgnoringLeaks();
+    WEBCORE_EXPORT static void stopIgnoringLeaks();
 
     static void dumpStatistics();
 
@@ -193,12 +193,12 @@ public:
     // These should all actually return a node, but this is only important for language bindings,
     // which will already know and hold a ref on the right node to return. Returning bool allows
     // these methods to be more efficient since they don't need to return a ref
-    bool insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionCode&);
+    WEBCORE_EXPORT bool insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionCode&);
     bool replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionCode&);
-    bool removeChild(Node* child, ExceptionCode&);
-    bool appendChild(PassRefPtr<Node> newChild, ExceptionCode&);
+    WEBCORE_EXPORT bool removeChild(Node* child, ExceptionCode&);
+    WEBCORE_EXPORT bool appendChild(PassRefPtr<Node> newChild, ExceptionCode&);
 
-    void remove(ExceptionCode&);
+    WEBCORE_EXPORT void remove(ExceptionCode&);
     bool hasChildNodes() const { return firstChild(); }
     virtual PassRefPtr<Node> cloneNode(bool deep) = 0;
     virtual const AtomicString& localName() const;
@@ -214,8 +214,8 @@ public:
     String lookupNamespaceURI(const String& prefix) const;
     String lookupNamespacePrefix(const AtomicString& namespaceURI, const Element* originalElement) const;
     
-    String textContent(bool convertBRsToNewlines = false) const;
-    void setTextContent(const String&, ExceptionCode&);
+    WEBCORE_EXPORT String textContent(bool convertBRsToNewlines = false) const;
+    WEBCORE_EXPORT void setTextContent(const String&, ExceptionCode&);
     
     Node* lastDescendant() const;
     Node* firstDescendant() const;
@@ -270,7 +270,7 @@ public:
     Element* shadowHost() const;
     // If this node is in a shadow tree, returns its shadow host. Otherwise, returns this.
     // Deprecated. Should use shadowHost() and check the return value.
-    Node* deprecatedShadowAncestorNode() const;
+    WEBCORE_EXPORT Node* deprecatedShadowAncestorNode() const;
     ShadowRoot* containingShadowRoot() const;
     ShadowRoot* shadowRoot() const;
 
@@ -301,7 +301,7 @@ public:
     virtual bool canContainRangeEndPoint() const { return false; }
 
     bool isRootEditableElement() const;
-    Element* rootEditableElement() const;
+    WEBCORE_EXPORT Element* rootEditableElement() const;
     Element* rootEditableElement(EditableType) const;
 
     // Called by the parser when this element's close tag is reached,
@@ -331,7 +331,7 @@ public:
     void setChildNeedsStyleRecalc() { setFlag(ChildNeedsStyleRecalcFlag); }
     void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); }
 
-    void setNeedsStyleRecalc(StyleChangeType changeType = FullStyleChange);
+    WEBCORE_EXPORT void setNeedsStyleRecalc(StyleChangeType = FullStyleChange);
     void clearNeedsStyleRecalc() { m_nodeFlags &= ~StyleChangeMask; }
 
     void setIsLink(bool f) { setFlag(f, IsLinkFlag); }
@@ -348,12 +348,12 @@ public:
         UserSelectAllDoesNotAffectEditability,
         UserSelectAllIsAlwaysNonEditable
     };
-    bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEditability);
+    WEBCORE_EXPORT bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEditability);
     bool isContentRichlyEditable();
 
-    void inspect();
+    WEBCORE_EXPORT void inspect();
 
-    bool hasEditableStyle(EditableType editableType = ContentIsEditable, UserSelectAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
+    WEBCORE_EXPORT bool hasEditableStyle(EditableType editableType = ContentIsEditable, UserSelectAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
     {
         switch (editableType) {
         case ContentIsEditable:
@@ -379,14 +379,14 @@ public:
 
     virtual LayoutRect boundingBox() const;
     IntRect pixelSnappedBoundingBox() const { return pixelSnappedIntRect(boundingBox()); }
-    LayoutRect renderRect(bool* isReplaced);
+    WEBCORE_EXPORT LayoutRect renderRect(bool* isReplaced);
     IntRect pixelSnappedRenderRect(bool* isReplaced) { return pixelSnappedIntRect(renderRect(isReplaced)); }
 
-    unsigned nodeIndex() const;
+    WEBCORE_EXPORT unsigned nodeIndex() const;
 
     // Returns the DOM ownerDocument attribute. This method never returns null, except in the case
     // of a Document node.
-    Document* ownerDocument() const;
+    WEBCORE_EXPORT Document* ownerDocument() const;
 
     // Returns the document associated with this node.
     // A Document node returns itself.
@@ -420,7 +420,7 @@ public:
 
     void checkSetPrefix(const AtomicString& prefix, ExceptionCode&);
 
-    bool isDescendantOf(const Node*) const;
+    WEBCORE_EXPORT bool isDescendantOf(const Node*) const;
     bool isDescendantOrShadowDescendantOf(const Node*) const;
     bool contains(const Node*) const;
     bool containsIncludingShadowDOM(const Node*) const;
@@ -510,7 +510,7 @@ public:
     virtual bool willRespondToMouseClickEvents();
     virtual bool willRespondToMouseWheelEvents();
 
-    unsigned short compareDocumentPosition(Node*);
+    WEBCORE_EXPORT unsigned short compareDocumentPosition(Node*);
 
     virtual Node* toNode() override;
     virtual HTMLInputElement* toInputElement();
@@ -559,7 +559,7 @@ public:
     void unregisterTransientMutationObserver(MutationObserverRegistration*);
     void notifyMutationObserversNodeWillDetach();
 
-    void textRects(Vector<IntRect>&) const;
+    WEBCORE_EXPORT void textRects(Vector<IntRect>&) const;
 
     unsigned connectedSubframeCount() const;
     void incrementConnectedSubframeCount(unsigned amount = 1);
@@ -677,12 +677,12 @@ private:
         return NOPSEUDO;
     }
 
-    void removedLastRef();
+    WEBCORE_EXPORT void removedLastRef();
     bool hasTreeSharedParent() const { return !!parentNode(); }
 
     enum EditableLevel { Editable, RichlyEditable };
     bool hasEditableStyle(EditableLevel, UserSelectAllTreatment = UserSelectAllIsAlwaysNonEditable) const;
-    bool isEditableToAccessibility(EditableLevel) const;
+    WEBCORE_EXPORT bool isEditableToAccessibility(EditableLevel) const;
 
     virtual void refEventTarget() override;
     virtual void derefEventTarget() override;
index 4187064..0811386 100644 (file)
@@ -71,9 +71,9 @@ Node* nextIncludingPseudoSkippingChildren(const Node*, const Node* = 0);
 
 namespace NodeTraversal {
 
-Node* nextAncestorSibling(const Node*);
-Node* nextAncestorSibling(const Node*, const Node* stayWithin);
-Node* deepLastChild(Node*);
+WEBCORE_EXPORT Node* nextAncestorSibling(const Node*);
+WEBCORE_EXPORT Node* nextAncestorSibling(const Node*, const Node* stayWithin);
+WEBCORE_EXPORT Node* deepLastChild(Node*);
 
 template <class NodeType>
 inline Node* traverseNextTemplate(NodeType* current)
index f9653f8..0808b58 100644 (file)
@@ -61,7 +61,7 @@ public:
         PositionIsAfterChildren,
     };
 
-    Position()
+    WEBCORE_EXPORT Position()
         : m_offset(0)
         , m_anchorType(PositionIsOffsetInAnchor)
         , m_isLegacyEditingPosition(false)
@@ -80,7 +80,7 @@ public:
 
         int m_offset;
     };
-    Position(PassRefPtr<Node> anchorNode, LegacyEditingOffset);
+    WEBCORE_EXPORT Position(PassRefPtr<Node> anchorNode, LegacyEditingOffset);
 
     // For creating before/after positions:
     Position(PassRefPtr<Node> anchorNode, AnchorType);
@@ -88,7 +88,7 @@ public:
 
     // For creating offset positions:
     // FIXME: This constructor should eventually go away. See bug 63040.
-    Position(PassRefPtr<Node> anchorNode, int offset, AnchorType);
+    WEBCORE_EXPORT Position(PassRefPtr<Node> anchorNode, int offset, AnchorType);
 
     AnchorType anchorType() const { return static_cast<AnchorType>(m_anchorType); }
 
@@ -96,11 +96,11 @@ public:
 
     // These are always DOM compliant values.  Editing positions like [img, 0] (aka [img, before])
     // will return img->parentNode() and img->nodeIndex() from these functions.
-    Node* containerNode() const; // NULL for a before/after position anchored to a node with no parent
+    WEBCORE_EXPORT Node* containerNode() const; // null for a before/after position anchored to a node with no parent
     Text* containerText() const;
 
     int computeOffsetInContainerNode() const;  // O(n) for before/after-anchored positions, O(1) for parent-anchored positions
-    Position parentAnchoredEquivalent() const; // Convenience method for DOM positions that also fixes up some positions for editing
+    WEBCORE_EXPORT Position parentAnchoredEquivalent() const; // Convenience method for DOM positions that also fixes up some positions for editing
 
     // Inline O(1) access for Positions which callers know to be parent-anchored
     int offsetInContainerNode() const
@@ -149,7 +149,7 @@ public:
     // Move up or down the DOM by one position.
     // Offsets are computed using render text for nodes that have renderers - but note that even when
     // using composed characters, the result may be inside a single user-visible character if a ligature is formed.
-    Position previous(PositionMoveType = CodePoint) const;
+    WEBCORE_EXPORT Position previous(PositionMoveType = CodePoint) const;
     Position next(PositionMoveType = CodePoint) const;
     static int uncheckedPreviousOffset(const Node*, int current);
     static int uncheckedPreviousOffsetForBackwardDeletion(const Node*, int current);
@@ -170,12 +170,12 @@ public:
 
     // FIXME: Make these non-member functions and put them somewhere in the editing directory.
     // These aren't really basic "position" operations. More high level editing helper functions.
-    Position leadingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
-    Position trailingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
+    WEBCORE_EXPORT Position leadingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
+    WEBCORE_EXPORT Position trailingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
     
     // These return useful visually equivalent positions.
-    Position upstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
-    Position downstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
+    WEBCORE_EXPORT Position upstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
+    WEBCORE_EXPORT Position downstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
     
     bool isCandidate() const;
     bool isRenderedCharacter() const;
@@ -209,7 +209,7 @@ public:
 #endif
     
 private:
-    int offsetForPositionAfterAnchor() const;
+    WEBCORE_EXPORT int offsetForPositionAfterAnchor() const;
     
     Position previousCharacterPosition(EAffinity) const;
     Position nextCharacterPosition(EAffinity) const;
index c4b31af..5e65e45 100644 (file)
@@ -52,43 +52,43 @@ class VisiblePosition;
 
 class Range : public RefCounted<Range> {
 public:
-    static PassRefPtr<Range> create(Document&);
-    static PassRefPtr<Range> create(Document&, PassRefPtr<Node> startContainer, int startOffset, PassRefPtr<Node> endContainer, int endOffset);
-    static PassRefPtr<Range> create(Document&, const Position&, const Position&);
-    static PassRefPtr<Range> create(ScriptExecutionContext&);
+    WEBCORE_EXPORT static PassRefPtr<Range> create(Document&);
+    WEBCORE_EXPORT static PassRefPtr<Range> create(Document&, PassRefPtr<Node> startContainer, int startOffset, PassRefPtr<Node> endContainer, int endOffset);
+    WEBCORE_EXPORT static PassRefPtr<Range> create(Document&, const Position&, const Position&);
+    WEBCORE_EXPORT static PassRefPtr<Range> create(ScriptExecutionContext&);
 #if PLATFORM(IOS)
     // FIXME: Consider making this a static non-member, non-friend function.
-    static PassRefPtr<Range> create(Document&, const VisiblePosition&, const VisiblePosition&);
+    WEBCORE_EXPORT static PassRefPtr<Range> create(Document&, const VisiblePosition&, const VisiblePosition&);
 #endif
-    ~Range();
+    WEBCORE_EXPORT ~Range();
 
     Document& ownerDocument() const { return const_cast<Document&>(m_ownerDocument.get()); }
 
-    Node* startContainer() const { return m_start.container(); }
-    int startOffset() const { return m_start.offset(); }
-    Node* endContainer() const { return m_end.container(); }
-    int endOffset() const { return m_end.offset(); }
+    WEBCORE_EXPORT Node* startContainer() const { return m_start.container(); }
+    WEBCORE_EXPORT int startOffset() const { return m_start.offset(); }
+    WEBCORE_EXPORT Node* endContainer() const { return m_end.container(); }
+    WEBCORE_EXPORT int endOffset() const { return m_end.offset(); }
 
     Node* startContainer(ExceptionCode&) const;
     int startOffset(ExceptionCode&) const;
     Node* endContainer(ExceptionCode&) const;
     int endOffset(ExceptionCode&) const;
-    bool collapsed(ExceptionCode&) const;
+    WEBCORE_EXPORT bool collapsed(ExceptionCode&) const;
 
-    Node* commonAncestorContainer(ExceptionCode&) const;
+    WEBCORE_EXPORT Node* commonAncestorContainer(ExceptionCode&) const;
     static Node* commonAncestorContainer(Node* containerA, Node* containerB);
-    void setStart(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void collapse(bool toStart, ExceptionCode&);
-    bool isPointInRange(Node* refNode, int offset, ExceptionCode&);
+    WEBCORE_EXPORT void setStart(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void collapse(bool toStart, ExceptionCode&);
+    WEBCORE_EXPORT bool isPointInRange(Node* refNode, int offset, ExceptionCode&);
     short comparePoint(Node* refNode, int offset, ExceptionCode&) const;
     enum CompareResults { NODE_BEFORE, NODE_AFTER, NODE_BEFORE_AND_AFTER, NODE_INSIDE };
     CompareResults compareNode(Node* refNode, ExceptionCode&) const;
     enum CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START };
-    short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&) const;
+    WEBCORE_EXPORT short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&) const;
     static short compareBoundaryPoints(Node* containerA, int offsetA, Node* containerB, int offsetB, ExceptionCode&);
     static short compareBoundaryPoints(const RangeBoundaryPoint& boundaryA, const RangeBoundaryPoint& boundaryB, ExceptionCode&);
-    bool boundaryPointsValid() const;
+    WEBCORE_EXPORT bool boundaryPointsValid() const;
     bool intersectsNode(Node* refNode, ExceptionCode&);
     void deleteContents(ExceptionCode&);
     PassRefPtr<DocumentFragment> extractContents(ExceptionCode&);
@@ -97,28 +97,28 @@ public:
     String toString(ExceptionCode&) const;
 
     String toHTML() const;
-    String text() const;
+    WEBCORE_EXPORT String text() const;
 
     PassRefPtr<DocumentFragment> createContextualFragment(const String& html, ExceptionCode&);
 
     void detach(ExceptionCode&);
-    PassRefPtr<Range> cloneRange(ExceptionCode&) const;
+    WEBCORE_EXPORT PassRefPtr<Range> cloneRange(ExceptionCode&) const;
 
-    void setStartAfter(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void setEndBefore(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void setEndAfter(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void selectNode(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void selectNodeContents(Node*, ExceptionCode&);
+    WEBCORE_EXPORT void setStartAfter(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEndBefore(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEndAfter(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void selectNode(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void selectNodeContents(Node*, ExceptionCode&);
     void surroundContents(PassRefPtr<Node>, ExceptionCode&);
-    void setStartBefore(Node*, ExceptionCode&);
+    WEBCORE_EXPORT void setStartBefore(Node*, ExceptionCode&);
 
     const Position startPosition() const { return m_start.toPosition(); }
     const Position endPosition() const { return m_end.toPosition(); }
-    void setStart(const Position&, ExceptionCode& = ASSERT_NO_EXCEPTION);
-    void setEnd(const Position&, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setStart(const Position&, ExceptionCode& = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEnd(const Position&, ExceptionCode& = ASSERT_NO_EXCEPTION);
 
-    Node* firstNode() const;
-    Node* pastLastNode() const;
+    WEBCORE_EXPORT Node* firstNode() const;
+    WEBCORE_EXPORT Node* pastLastNode() const;
 
     ShadowRoot* shadowRoot() const;
 
@@ -130,14 +130,14 @@ public:
 
     // Not transform-friendly
     void textRects(Vector<IntRect>&, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
-    IntRect boundingBox() const;
+    WEBCORE_EXPORT IntRect boundingBox() const;
 
     // Transform-friendly
-    void textQuads(Vector<FloatQuad>&, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
+    WEBCORE_EXPORT void textQuads(Vector<FloatQuad>&, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
     void getBorderAndTextQuads(Vector<FloatQuad>&) const;
-    FloatRect boundingRect() const;
+    WEBCORE_EXPORT FloatRect boundingRect() const;
 #if PLATFORM(IOS)
-    void collectSelectionRects(Vector<SelectionRect>&);
+    WEBCORE_EXPORT void collectSelectionRects(Vector<SelectionRect>&);
 #endif
 
     void nodeChildrenChanged(ContainerNode&);
@@ -161,7 +161,7 @@ public:
     void formatForDebugger(char* buffer, unsigned length) const;
 #endif
 
-    bool contains(const Range&) const;
+    WEBCORE_EXPORT bool contains(const Range&) const;
 
 private:
     explicit Range(Document&);
index 3a6ed69..6c5545b 100644 (file)
@@ -101,7 +101,7 @@ public:
     bool hasCaret() const { return m_position.isNotNull(); }
     const VisiblePosition& caretPosition() { return m_position; }
     void setCaretPosition(const VisiblePosition&);
-    void clear() { setCaretPosition(VisiblePosition()); }
+    WEBCORE_EXPORT void clear() { setCaretPosition(VisiblePosition()); }
 
     void nodeWillBeRemoved(Node*);
 
@@ -131,21 +131,21 @@ public:
         return CloseTyping | ClearTypingStyle | (userTriggered ? (RevealSelection | FireSelectEvent) : 0);
     }
 
-    explicit FrameSelection(Frame* = 0);
+    WEBCORE_EXPORT explicit FrameSelection(Frame* = nullptr);
 
-    Element* rootEditableElementOrDocumentElement() const;
+    WEBCORE_EXPORT Element* rootEditableElementOrDocumentElement() const;
      
     void moveTo(const Range*);
     void moveTo(const VisiblePosition&, EUserTriggered = NotUserTriggered, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
-    void moveTo(const VisiblePosition&, const VisiblePosition&, EUserTriggered = NotUserTriggered);
+    WEBCORE_EXPORT void moveTo(const VisiblePosition&, const VisiblePosition&, EUserTriggered = NotUserTriggered);
     void moveTo(const Position&, EAffinity, EUserTriggered = NotUserTriggered);
     void moveTo(const Position&, const Position&, EAffinity, EUserTriggered = NotUserTriggered);
     void moveWithoutValidationTo(const Position&, const Position&, bool selectionHasDirection, bool shouldSetFocus);
 
     const VisibleSelection& selection() const { return m_selection; }
-    void setSelection(const VisibleSelection&, SetSelectionOptions = defaultSetSelectionOptions(), CursorAlignOnScroll = AlignCursorOnScrollIfNeeded, TextGranularity = CharacterGranularity);
-    bool setSelectedRange(Range*, EAffinity, bool closeTyping);
-    void selectAll();
+    WEBCORE_EXPORT void setSelection(const VisibleSelection&, SetSelectionOptions = defaultSetSelectionOptions(), CursorAlignOnScroll = AlignCursorOnScrollIfNeeded, TextGranularity = CharacterGranularity);
+    WEBCORE_EXPORT bool setSelectedRange(Range*, EAffinity, bool closeTyping);
+    WEBCORE_EXPORT void selectAll();
     void clear();
     void prepareForDestruction();
 
@@ -154,7 +154,7 @@ public:
 
     bool contains(const LayoutPoint&);
 
-    bool modify(EAlteration, SelectionDirection, TextGranularity, EUserTriggered = NotUserTriggered);
+    WEBCORE_EXPORT bool modify(EAlteration, SelectionDirection, TextGranularity, EUserTriggered = NotUserTriggered);
     enum VerticalDirection { DirectionUp, DirectionDown };
     bool modify(EAlteration, unsigned verticalDistance, VerticalDirection, EUserTriggered = NotUserTriggered, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
 
@@ -172,7 +172,7 @@ public:
     RenderObject* caretRendererWithoutUpdatingLayout() const;
 
     // Bounds of (possibly transformed) caret in absolute coords
-    IntRect absoluteCaretBounds();
+    WEBCORE_EXPORT IntRect absoluteCaretBounds();
     void setCaretRectNeedsUpdate() { CaretBase::setCaretRectNeedsUpdate(); }
 
     void willBeModified(EAlteration, SelectionDirection);
@@ -198,13 +198,13 @@ public:
     bool isCaretBlinkingSuspended() const { return m_isCaretBlinkingSuspended; }
 
     // Focus
-    void setFocused(bool);
+    WEBCORE_EXPORT void setFocused(bool);
     bool isFocused() const { return m_focused; }
-    bool isFocusedAndActive() const;
+    WEBCORE_EXPORT bool isFocusedAndActive() const;
     void pageActivationChanged();
 
     // Painting.
-    void updateAppearance();
+    WEBCORE_EXPORT void updateAppearance();
 
 #ifndef NDEBUG
     void formatForDebugger(char* buffer, unsigned length) const;
@@ -213,26 +213,26 @@ public:
 
 #if PLATFORM(IOS)
 public:
-    void expandSelectionToElementContainingCaretSelection();
-    PassRefPtr<Range> elementRangeContainingCaretSelection() const;
-    void expandSelectionToWordContainingCaretSelection();
-    PassRefPtr<Range> wordRangeContainingCaretSelection();
-    void expandSelectionToStartOfWordContainingCaretSelection();
-    UChar characterInRelationToCaretSelection(int amount) const;
-    UChar characterBeforeCaretSelection() const;
-    UChar characterAfterCaretSelection() const;
-    int wordOffsetInRange(const Range*) const;
-    bool spaceFollowsWordInRange(const Range*) const;
-    bool selectionAtDocumentStart() const;
-    bool selectionAtSentenceStart() const;
-    bool selectionAtWordStart() const;
-    PassRefPtr<Range> rangeByMovingCurrentSelection(int amount) const;
-    PassRefPtr<Range> rangeByExtendingCurrentSelection(int amount) const;
-    void selectRangeOnElement(unsigned location, unsigned length, Node*);
-    void clearCurrentSelection();
+    WEBCORE_EXPORT void expandSelectionToElementContainingCaretSelection();
+    WEBCORE_EXPORT PassRefPtr<Range> elementRangeContainingCaretSelection() const;
+    WEBCORE_EXPORT void expandSelectionToWordContainingCaretSelection();
+    WEBCORE_EXPORT PassRefPtr<Range> wordRangeContainingCaretSelection();
+    WEBCORE_EXPORT void expandSelectionToStartOfWordContainingCaretSelection();
+    WEBCORE_EXPORT UChar characterInRelationToCaretSelection(int amount) const;
+    WEBCORE_EXPORT UChar characterBeforeCaretSelection() const;
+    WEBCORE_EXPORT UChar characterAfterCaretSelection() const;
+    WEBCORE_EXPORT int wordOffsetInRange(const Range*) const;
+    WEBCORE_EXPORT bool spaceFollowsWordInRange(const Range*) const;
+    WEBCORE_EXPORT bool selectionAtDocumentStart() const;
+    WEBCORE_EXPORT bool selectionAtSentenceStart() const;
+    WEBCORE_EXPORT bool selectionAtWordStart() const;
+    WEBCORE_EXPORT PassRefPtr<Range> rangeByMovingCurrentSelection(int amount) const;
+    WEBCORE_EXPORT PassRefPtr<Range> rangeByExtendingCurrentSelection(int amount) const;
+    WEBCORE_EXPORT void selectRangeOnElement(unsigned location, unsigned length, Node*);
+    WEBCORE_EXPORT void clearCurrentSelection();
     void setCaretBlinks(bool caretBlinks = true);
-    void setCaretColor(const Color&);
-    static VisibleSelection wordSelectionContainingCaretSelection(const VisibleSelection&);
+    WEBCORE_EXPORT void setCaretColor(const Color&);
+    WEBCORE_EXPORT static VisibleSelection wordSelectionContainingCaretSelection(const VisibleSelection&);
     void setUpdateAppearanceEnabled(bool enabled) { m_updateAppearanceEnabled = enabled; }
     void suppressScrolling() { ++m_scrollingSuppressCount; }
     void restoreScrolling()
@@ -252,18 +252,18 @@ public:
     void setSelectionByMouseIfDifferent(const VisibleSelection&, TextGranularity, EndPointsAdjustmentMode = DoNotAdjsutEndpoints);
 
     EditingStyle* typingStyle() const;
-    PassRefPtr<MutableStyleProperties> copyTypingStyle() const;
+    WEBCORE_EXPORT PassRefPtr<MutableStyleProperties> copyTypingStyle() const;
     void setTypingStyle(PassRefPtr<EditingStyle>);
     void clearTypingStyle();
 
-    FloatRect selectionBounds(bool clipToVisibleContent = true) const;
+    WEBCORE_EXPORT FloatRect selectionBounds(bool clipToVisibleContent = true) const;
 
-    void getClippedVisibleTextRectangles(Vector<FloatRect>&) const;
+    WEBCORE_EXPORT void getClippedVisibleTextRectangles(Vector<FloatRect>&) const;
 
-    HTMLFormElement* currentForm() const;
+    WEBCORE_EXPORT HTMLFormElement* currentForm() const;
 
-    void revealSelection(const ScrollAlignment& = ScrollAlignment::alignCenterIfNeeded, RevealExtentOption = DoNotRevealExtent);
-    void setSelectionFromNone();
+    WEBCORE_EXPORT void revealSelection(const ScrollAlignment& = ScrollAlignment::alignCenterIfNeeded, RevealExtentOption = DoNotRevealExtent);
+    WEBCORE_EXPORT void setSelectionFromNone();
 
     bool shouldShowBlockCursor() const { return m_shouldShowBlockCursor; }
     void setShouldShowBlockCursor(bool);
index ac788da..6a207de 100644 (file)
@@ -76,56 +76,56 @@ public:
         return adoptRef(new HistoryItem(url, target, parent, title));
     }
     
-    ~HistoryItem();
+    WEBCORE_EXPORT ~HistoryItem();
 
-    PassRefPtr<HistoryItem> copy() const;
+    WEBCORE_EXPORT PassRefPtr<HistoryItem> copy() const;
 
     // Resets the HistoryItem to its initial state, as returned by create().
     void reset();
     
-    const String& originalURLString() const;
-    const String& urlString() const;
-    const String& title() const;
+    WEBCORE_EXPORT const String& originalURLString() const;
+    WEBCORE_EXPORT const String& urlString() const;
+    WEBCORE_EXPORT const String& title() const;
     
     bool isInPageCache() const { return m_cachedPage.get(); }
-    bool hasCachedPageExpired() const;
+    WEBCORE_EXPORT bool hasCachedPageExpired() const;
 
-    void setAlternateTitle(const String& alternateTitle);
-    const String& alternateTitle() const;
+    WEBCORE_EXPORT void setAlternateTitle(const String&);
+    WEBCORE_EXPORT const String& alternateTitle() const;
     
     const String& parent() const;
-    URL url() const;
-    URL originalURL() const;
-    const String& referrer() const;
-    const String& target() const;
-    bool isTargetItem() const;
+    WEBCORE_EXPORT URL url() const;
+    WEBCORE_EXPORT URL originalURL() const;
+    WEBCORE_EXPORT const String& referrer() const;
+    WEBCORE_EXPORT const String& target() const;
+    WEBCORE_EXPORT bool isTargetItem() const;
     
-    FormData* formData();
-    String formContentType() const;
+    WEBCORE_EXPORT FormData* formData();
+    WEBCORE_EXPORT String formContentType() const;
     
     bool lastVisitWasFailure() const { return m_lastVisitWasFailure; }
 
-    const IntPoint& scrollPoint() const;
-    void setScrollPoint(const IntPoint&);
+    WEBCORE_EXPORT const IntPoint& scrollPoint() const;
+    WEBCORE_EXPORT void setScrollPoint(const IntPoint&);
     void clearScrollPoint();
     
-    float pageScaleFactor() const;
-    void setPageScaleFactor(float);
+    WEBCORE_EXPORT float pageScaleFactor() const;
+    WEBCORE_EXPORT void setPageScaleFactor(float);
     
-    const Vector<String>& documentState() const;
-    void setDocumentState(const Vector<String>&);
+    WEBCORE_EXPORT const Vector<String>& documentState() const;
+    WEBCORE_EXPORT void setDocumentState(const Vector<String>&);
     void clearDocumentState();
 
     void setURL(const URL&);
-    void setURLString(const String&);
-    void setOriginalURLString(const String&);
-    void setReferrer(const String&);
-    void setTarget(const String&);
+    WEBCORE_EXPORT void setURLString(const String&);
+    WEBCORE_EXPORT void setOriginalURLString(const String&);
+    WEBCORE_EXPORT void setReferrer(const String&);
+    WEBCORE_EXPORT void setTarget(const String&);
     void setParent(const String&);
-    void setTitle(const String&);
-    void setIsTargetItem(bool);
+    WEBCORE_EXPORT void setTitle(const String&);
+    WEBCORE_EXPORT void setIsTargetItem(bool);
     
-    void setStateObject(PassRefPtr<SerializedScriptValue> object);
+    WEBCORE_EXPORT void setStateObject(PassRefPtr<SerializedScriptValue>);
     PassRefPtr<SerializedScriptValue> stateObject() const { return m_stateObject; }
 
     void setItemSequenceNumber(long long number) { m_itemSequenceNumber = number; }
@@ -135,38 +135,38 @@ public:
     long long documentSequenceNumber() const { return m_documentSequenceNumber; }
 
     void setFormInfoFromRequest(const ResourceRequest&);
-    void setFormData(PassRefPtr<FormData>);
-    void setFormContentType(const String&);
+    WEBCORE_EXPORT void setFormData(PassRefPtr<FormData>);
+    WEBCORE_EXPORT void setFormContentType(const String&);
 
     void setLastVisitWasFailure(bool wasFailure) { m_lastVisitWasFailure = wasFailure; }
 
-    void addChildItem(PassRefPtr<HistoryItem>);
+    WEBCORE_EXPORT void addChildItem(PassRefPtr<HistoryItem>);
     void setChildItem(PassRefPtr<HistoryItem>);
-    HistoryItem* childItemWithTarget(const String&) const;
+    WEBCORE_EXPORT HistoryItem* childItemWithTarget(const String&) const;
     HistoryItem* childItemWithDocumentSequenceNumber(long long number) const;
-    HistoryItem* targetItem();
-    const HistoryItemVector& children() const;
-    bool hasChildren() const;
+    WEBCORE_EXPORT HistoryItem* targetItem();
+    WEBCORE_EXPORT const HistoryItemVector& children() const;
+    WEBCORE_EXPORT bool hasChildren() const;
     void clearChildren();
     bool isAncestorOf(const HistoryItem*) const;
     
     bool shouldDoSameDocumentNavigationTo(HistoryItem* otherItem) const;
     bool hasSameFrames(HistoryItem* otherItem) const;
 
-    void addRedirectURL(const String&);
-    Vector<String>* redirectURLs() const;
-    void setRedirectURLs(std::unique_ptr<Vector<String>>);
+    WEBCORE_EXPORT void addRedirectURL(const String&);
+    WEBCORE_EXPORT Vector<String>* redirectURLs() const;
+    WEBCORE_EXPORT void setRedirectURLs(std::unique_ptr<Vector<String>>);
 
     bool isCurrentDocument(Document*) const;
     
 #if PLATFORM(COCOA)
-    id viewState() const;
-    void setViewState(id);
+    WEBCORE_EXPORT id viewState() const;
+    WEBCORE_EXPORT void setViewState(id);
     
     // Transient properties may be of any ObjC type.  They are intended to be used to store state per back/forward list entry.
     // The properties will not be persisted; when the history item is removed, the properties will be lost.
-    id getTransientProperty(const String&) const;
-    void setTransientProperty(const String&, id);
+    WEBCORE_EXPORT id getTransientProperty(const String&) const;
+    WEBCORE_EXPORT void setTransientProperty(const String&, id);
 #endif
 
 #ifndef NDEBUG
@@ -206,10 +206,10 @@ public:
 #endif
 
 private:
-    HistoryItem();
-    HistoryItem(const String& urlString, const String& title);
-    HistoryItem(const String& urlString, const String& title, const String& alternateTitle);
-    HistoryItem(const URL& url, const String& frameName, const String& parent, const String& title);
+    WEBCORE_EXPORT HistoryItem();
+    WEBCORE_EXPORT HistoryItem(const String& urlString, const String& title);
+    WEBCORE_EXPORT HistoryItem(const String& urlString, const String& title, const String& alternateTitle);
+    WEBCORE_EXPORT HistoryItem(const URL&, const String& frameName, const String& parent, const String& title);
 
     explicit HistoryItem(const HistoryItem&);
 
index 62ca7e6..ced4d62 100644 (file)
@@ -45,18 +45,18 @@ namespace WebCore {
         
         bool canCache(Page*) const;
 
-        void setCapacity(int); // number of pages to cache
+        WEBCORE_EXPORT void setCapacity(int); // number of pages to cache
         int capacity() { return m_capacity; }
         
         void add(PassRefPtr<HistoryItem>, Page&); // Prunes if capacity() is exceeded.
-        void remove(HistoryItem*);
+        WEBCORE_EXPORT void remove(HistoryItem*);
         CachedPage* get(HistoryItem* item);
         std::unique_ptr<CachedPage> take(HistoryItem*);
 
         int pageCount() const { return m_size; }
-        int frameCount() const;
+        WEBCORE_EXPORT int frameCount() const;
 
-        void markPagesForVistedLinkStyleRecalc();
+        WEBCORE_EXPORT void markPagesForVistedLinkStyleRecalc();
 
         // Will mark all cached pages associated with the given page as needing style recalc.
         void markPagesForFullStyleRecalc(Page*);
index d7188d9..0b1571f 100644 (file)
@@ -92,7 +92,7 @@ public:
     void restoreControlStateFor(HTMLFormControlElementWithState&);
     void restoreControlStateIn(HTMLFormElement&);
 
-    static Vector<String> getReferencedFilePaths(const Vector<String>& stateVector);
+    WEBCORE_EXPORT static Vector<String> getReferencedFilePaths(const Vector<String>& stateVector);
 
 private:
     typedef ListHashSet<RefPtr<HTMLFormControlElementWithState>, 64> FormElementListHashSet;
index d2bb404..65a6c2e 100644 (file)
@@ -44,7 +44,7 @@ public:
 
     PassRefPtr<HTMLCollection> children();
 
-    virtual String title() const override final;
+    WEBCORE_EXPORT virtual String title() const override final;
 
     virtual short tabIndex() const override;
 
index 1518833..fbaac1b 100644 (file)
@@ -66,10 +66,10 @@ public:
     bool shouldAutocomplete() const;
 
 #if ENABLE(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE)
-    bool autocorrect() const;
+    WEBCORE_EXPORT bool autocorrect() const;
     void setAutocorrect(bool);
 
-    WebAutocapitalizeType autocapitalizeType() const;
+    WEBCORE_EXPORT WebAutocapitalizeType autocapitalizeType() const;
     const AtomicString& autocapitalize() const;
     void setAutocapitalize(const AtomicString&);
 #endif
index ddbf4df..d586d8d 100644 (file)
@@ -37,7 +37,7 @@ public:
 
     Frame* contentFrame() const { return m_contentFrame; }
     DOMWindow* contentWindow() const;
-    Document* contentDocument() const;
+    WEBCORE_EXPORT Document* contentDocument() const;
 
     void setContentFrame(Frame*);
     void clearContentFrame();
index f608d74..b2bb547 100644 (file)
@@ -70,7 +70,7 @@ public:
 
     virtual HTMLInputElement* toInputElement() override { return this; }
 
-    virtual bool shouldAutocomplete() const override;
+    WEBCORE_EXPORT virtual bool shouldAutocomplete() const override;
 
     // For ValidityState
     virtual bool hasBadInput() const override;
@@ -108,10 +108,10 @@ public:
     bool isTextButton() const;
 
     bool isRadioButton() const;
-    bool isTextField() const;
-    bool isSearchField() const;
+    WEBCORE_EXPORT bool isTextField() const;
+    WEBCORE_EXPORT bool isSearchField() const;
     bool isInputTypeHidden() const;
-    bool isPasswordField() const;
+    WEBCORE_EXPORT bool isPasswordField() const;
     bool isCheckbox() const;
     bool isRangeControl() const;
 
@@ -123,21 +123,21 @@ public:
     // be using a different one. Many input elements behave like text fields, and in addition
     // any unknown input type is treated as text. Consider, for example, isTextField or
     // isTextField && !isPasswordField.
-    bool isText() const;
+    WEBCORE_EXPORT bool isText() const;
 
-    bool isEmailField() const;
+    WEBCORE_EXPORT bool isEmailField() const;
     bool isFileUpload() const;
     bool isImageButton() const;
-    bool isNumberField() const;
+    WEBCORE_EXPORT bool isNumberField() const;
     bool isSubmitButton() const;
-    bool isTelephoneField() const;
-    bool isURLField() const;
-    bool isDateField() const;
-    bool isDateTimeField() const;
-    bool isDateTimeLocalField() const;
-    bool isMonthField() const;
-    bool isTimeField() const;
-    bool isWeekField() const;
+    WEBCORE_EXPORT bool isTelephoneField() const;
+    WEBCORE_EXPORT bool isURLField() const;
+    WEBCORE_EXPORT bool isDateField() const;
+    WEBCORE_EXPORT bool isDateTimeField() const;
+    WEBCORE_EXPORT bool isDateTimeLocalField() const;
+    WEBCORE_EXPORT bool isMonthField() const;
+    WEBCORE_EXPORT bool isTimeField() const;
+    WEBCORE_EXPORT bool isWeekField() const;
 
 #if PLATFORM(IOS)
     DateComponents::Type dateType() const;
@@ -171,8 +171,8 @@ public:
 
     virtual String value() const override;
     void setValue(const String&, ExceptionCode&, TextFieldEventBehavior = DispatchNoEvent);
-    void setValue(const String&, TextFieldEventBehavior = DispatchNoEvent);
-    void setValueForUser(const String&);
+    WEBCORE_EXPORT void setValue(const String&, TextFieldEventBehavior = DispatchNoEvent);
+    WEBCORE_EXPORT void setValueForUser(const String&);
     // Checks if the specified string would be a valid value.
     // We should not call this for types with no string value such as CHECKBOX and RADIO.
     bool isValidValue(const String&) const;
@@ -185,13 +185,13 @@ public:
     // The value which is drawn by a renderer.
     String visibleValue() const;
 
-    void setEditingValue(const String&);
+    WEBCORE_EXPORT void setEditingValue(const String&);
 
     double valueAsDate() const;
     void setValueAsDate(double, ExceptionCode&);
 
-    double valueAsNumber() const;
-    void setValueAsNumber(double, ExceptionCode&, TextFieldEventBehavior = DispatchNoEvent);
+    WEBCORE_EXPORT double valueAsNumber() const;
+    WEBCORE_EXPORT void setValueAsNumber(double, ExceptionCode&, TextFieldEventBehavior = DispatchNoEvent);
 
     String valueWithDefault() const;
 
@@ -237,7 +237,7 @@ public:
     bool multiple() const;
 
     bool isAutofilled() const { return m_isAutofilled; }
-    void setAutofilled(bool = true);
+    WEBCORE_EXPORT void setAutofilled(bool = true);
 
     FileList* files();
     void setFiles(PassRefPtr<FileList>);
@@ -283,7 +283,7 @@ public:
 
 #if ENABLE(INPUT_TYPE_COLOR)
     // For test purposes.
-    void selectColorInColorChooser(const Color&);
+    WEBCORE_EXPORT void selectColorInColorChooser(const Color&);
 #endif
 
     String defaultToolTip() const;
index 0471381..c630546 100644 (file)
@@ -109,7 +109,7 @@ public:
     virtual bool hasAudio() const override;
 
     void rewind(double timeDelta);
-    virtual void returnToRealtime() override;
+    WEBCORE_EXPORT virtual void returnToRealtime() override;
 
     // Eventually overloaded in HTMLVideoElement
     virtual bool supportsFullscreen() const override { return false; };
@@ -119,7 +119,7 @@ public:
     
     virtual bool doesHaveAttribute(const AtomicString&, AtomicString* value = nullptr) const override;
 
-    PlatformMedia platformMedia() const;
+    WEBCORE_EXPORT PlatformMedia platformMedia() const;
     PlatformLayer* platformLayer() const;
 #if PLATFORM(IOS)
     void setVideoFullscreenLayer(PlatformLayer*);
@@ -167,26 +167,26 @@ public:
     bool seeking() const;
 
 // playback state
-    virtual double currentTime() const override;
+    WEBCORE_EXPORT virtual double currentTime() const override;
     virtual void setCurrentTime(double) override;
     virtual void setCurrentTime(double, ExceptionCode&);
-    virtual double duration() const override;
-    virtual bool paused() const override;
+    WEBCORE_EXPORT virtual double duration() const override;
+    WEBCORE_EXPORT virtual bool paused() const override;
     virtual double defaultPlaybackRate() const override;
     virtual void setDefaultPlaybackRate(double) override;
-    virtual double playbackRate() const override;
+    WEBCORE_EXPORT virtual double playbackRate() const override;
     virtual void setPlaybackRate(double) override;
     void updatePlaybackRate();
     bool webkitPreservesPitch() const;
     void setWebkitPreservesPitch(bool);
     virtual PassRefPtr<TimeRanges> played() override;
     virtual PassRefPtr<TimeRanges> seekable() const override;
-    bool ended() const;
+    WEBCORE_EXPORT bool ended() const;
     bool autoplay() const;
     bool loop() const;    
     void setLoop(bool b);
-    virtual void play() override;
-    virtual void pause() override;
+    WEBCORE_EXPORT virtual void play() override;
+    WEBCORE_EXPORT virtual void pause() override;
     virtual void setShouldBufferData(bool) override;
     void fastSeek(double);
     double minFastReverseRate() const;
@@ -235,20 +235,20 @@ public:
 // controls
     bool controls() const;
     void setControls(bool);
-    virtual double volume() const override;
+    WEBCORE_EXPORT virtual double volume() const override;
     virtual void setVolume(double, ExceptionCode&) override;
-    virtual bool muted() const override;
-    virtual void setMuted(bool) override;
+    WEBCORE_EXPORT virtual bool muted() const override;
+    WEBCORE_EXPORT virtual void setMuted(bool) override;
 
-    void togglePlayState();
-    virtual void beginScrubbing() override;
-    virtual void endScrubbing() override;
+    WEBCORE_EXPORT void togglePlayState();
+    WEBCORE_EXPORT virtual void beginScrubbing() override;
+    WEBCORE_EXPORT virtual void endScrubbing() override;
 
     virtual void beginScanning(ScanDirection) override;
     virtual void endScanning() override;
     double nextScanRate();
 
-    virtual bool canPlay() const override;
+    WEBCORE_EXPORT virtual bool canPlay() const override;
 
     double percentLoaded() const;
 
@@ -377,10 +377,10 @@ public:
 
     bool hasSingleSecurityOrigin() const { return !m_player || m_player->hasSingleSecurityOrigin(); }
     
-    virtual bool isFullscreen() const override;
+    WEBCORE_EXPORT virtual bool isFullscreen() const override;
     void toggleFullscreenState();
     virtual void enterFullscreen() override;
-    void exitFullscreen();
+    WEBCORE_EXPORT void exitFullscreen();
 
     virtual bool hasClosedCaptions() const override;
     virtual bool closedCaptionsVisible() const override;
@@ -394,9 +394,9 @@ public:
     virtual void privateBrowsingStateDidChange() override;
 
     // Media cache management.
-    static void getSitesInMediaCache(Vector<String>&);
-    static void clearMediaCache();
-    static void clearMediaCacheForSite(const String&);
+    WEBCORE_EXPORT static void getSitesInMediaCache(Vector<String>&);
+    WEBCORE_EXPORT static void clearMediaCache();
+    WEBCORE_EXPORT static void clearMediaCacheForSite(const String&);
     static void resetMediaEngines();
 
     bool isPlaying() const { return m_playing; }
index 017d146..689ce4b 100644 (file)
@@ -37,7 +37,7 @@ public:
     virtual bool isDisabledFormControl() const override;
     HTMLSelectElement* ownerSelectElement() const;
     
-    String groupLabelText() const;
+    WEBCORE_EXPORT String groupLabelText() const;
 
 private:
     HTMLOptGroupElement(const QualifiedName&, Document&);
index 1d0b743..647d01e 100644 (file)
@@ -39,7 +39,7 @@ public:
     static PassRefPtr<HTMLOptionElement> createForJSConstructor(Document&, const String& data, const String& value,
        bool defaultSelected, bool selected, ExceptionCode&);
 
-    virtual String text() const;
+    WEBCORE_EXPORT virtual String text() const;
     void setText(const String&, ExceptionCode&);
 
     int index() const;
@@ -47,7 +47,7 @@ public:
     String value() const;
     void setValue(const String&);
 
-    bool selected();
+    WEBCORE_EXPORT bool selected();
     void setSelected(bool);
 
 #if ENABLE(DATALIST_ELEMENT)
index 605d3d3..5c7eaeb 100644 (file)
@@ -51,7 +51,7 @@ public:
 
     PassRefPtr<JSC::Bindings::Instance> getInstance();
 
-    Widget* pluginWidget() const;
+    WEBCORE_EXPORT Widget* pluginWidget() const;
 
     enum DisplayState {
         WaitingForSnapshot,
@@ -71,7 +71,7 @@ public:
     JSC::JSObject* scriptObjectForPluginReplacement();
 
 #if ENABLE(NETSCAPE_PLUGIN_API)
-    NPObject* getNPObject();
+    WEBCORE_EXPORT NPObject* getNPObject();
 #endif
 
     bool isCapturingMouseEvents() const { return m_isCapturingMouseEvents; }
index 3645483..856fc26 100644 (file)
@@ -70,13 +70,13 @@ public:
     void userDidClickSnapshot(PassRefPtr<MouseEvent>, bool forwardEvent);
     void checkSnapshotStatus();
     Image* snapshotImage() const { return m_snapshotImage.get(); }
-    void restartSnapshottedPlugIn();
+    WEBCORE_EXPORT void restartSnapshottedPlugIn();
 
     // Plug-in URL might not be the same as url() with overriding parameters.
     void subframeLoaderWillCreatePlugIn(const URL& plugInURL);
     void subframeLoaderDidCreatePlugIn(const Widget*);
 
-    void setIsPrimarySnapshottedPlugIn(bool);
+    WEBCORE_EXPORT void setIsPrimarySnapshottedPlugIn(bool);
     bool partOfSnapshotOverlay(Node*);
 
     bool needsCheckForSizeChange() const { return m_needsCheckForSizeChange; }
index 086d824..fa9cbe4 100644 (file)
@@ -40,10 +40,10 @@ class HTMLSelectElement : public HTMLFormControlElementWithState, public TypeAhe
 public:
     static PassRefPtr<HTMLSelectElement> create(const QualifiedName&, Document&, HTMLFormElement*);
 
-    int selectedIndex() const;
+    WEBCORE_EXPORT int selectedIndex() const;
     void setSelectedIndex(int);
 
-    void optionSelectedByUser(int index, bool dispatchChangeEvent, bool allowMultipleSelection = false);
+    WEBCORE_EXPORT void optionSelectedByUser(int index, bool dispatchChangeEvent, bool allowMultipleSelection = false);
 
     // For ValidityState
     virtual String validationMessage() const override;
@@ -63,7 +63,7 @@ public:
     void removeByIndex(int);
     void remove(HTMLOptionElement*);
 
-    String value() const;
+    WEBCORE_EXPORT String value() const;
     void setValue(const String&);
 
     PassRefPtr<HTMLOptionsCollection> options();
@@ -75,7 +75,7 @@ public:
     void invalidateSelectedItems();
     void updateListItemSelectedStates();
 
-    const Vector<HTMLElement*>& listItems() const;
+    WEBCORE_EXPORT const Vector<HTMLElement*>& listItems() const;
 
     virtual void accessKeyAction(bool sendMouseEvents) override;
     void accessKeySetSelectedIndex(int);
index 125eba5..2cfdf46 100644 (file)
@@ -47,7 +47,7 @@ public:
     String headers() const;
     String scope() const;
 
-    HTMLTableCellElement* cellAbove() const;
+    WEBCORE_EXPORT HTMLTableCellElement* cellAbove() const;
 
 private:
     HTMLTableCellElement(const QualifiedName&, Document&);
index 193ed33..1598910 100644 (file)
@@ -40,8 +40,8 @@ public:
 
     bool shouldWrapText() const { return m_wrap != NoWrap; }
 
-    virtual String value() const override;
-    void setValue(const String&);
+    WEBCORE_EXPORT virtual String value() const override;
+    WEBCORE_EXPORT void setValue(const String&);
     String defaultValue() const;
     void setDefaultValue(const String&);
     int textLength() const { return value().length(); }
index c22f59c..970f7ab 100644 (file)
@@ -57,7 +57,7 @@ public:
     void updatePlaceholderVisibility();
 
     int indexForVisiblePosition(const VisiblePosition&) const;
-    VisiblePosition visiblePositionForIndex(int index) const;
+    WEBCORE_EXPORT VisiblePosition visiblePositionForIndex(int index) const;
     int selectionStart() const;
     int selectionEnd() const;
     const AtomicString& selectionDirection() const;
@@ -80,7 +80,7 @@ public:
     virtual TextControlInnerTextElement* innerTextElement() const = 0;
 
     void selectionChanged(bool shouldFireSelectEvent);
-    bool lastChangeWasUserEdit() const;
+    WEBCORE_EXPORT bool lastChangeWasUserEdit() const;
     void setInnerTextValue(const String&);
     String innerTextValue() const;
 
@@ -88,8 +88,8 @@ public:
 
     void setTextAsOfLastFormControlChangeEvent(const String& text) { m_textAsOfLastFormControlChangeEvent = text; }
 #if PLATFORM(IOS)
-    void hidePlaceholder();
-    void showPlaceholderIfNecessary();
+    WEBCORE_EXPORT void hidePlaceholder();
+    WEBCORE_EXPORT void showPlaceholderIfNecessary();
 #endif
 
 protected:
index 1b62723..c4d4f9d 100644 (file)
@@ -39,8 +39,8 @@ class HTMLVideoElement final : public HTMLMediaElement {
 public:
     static PassRefPtr<HTMLVideoElement> create(const QualifiedName&, Document&, bool);
 
-    unsigned videoWidth() const;
-    unsigned videoHeight() const;
+    WEBCORE_EXPORT unsigned videoWidth() const;
+    WEBCORE_EXPORT unsigned videoHeight() const;
     
     // Fullscreen
     void webkitEnterFullscreen(ExceptionCode&);
index 7890ee4..39625b9 100644 (file)
@@ -39,7 +39,7 @@ public:
         return adoptRef(new ImageDocument(frame, url));
     }
 
-    HTMLImageElement* imageElement() const;
+    WEBCORE_EXPORT HTMLImageElement* imageElement() const;
 
     void updateDuringParsing();
     void finishedParsing();
index 7934747..78491d0 100644 (file)
@@ -41,7 +41,7 @@ public:
 
     void setPluginElement(PassRefPtr<HTMLPlugInElement>);
 
-    Widget* pluginWidget();
+    WEBCORE_EXPORT Widget* pluginWidget();
     HTMLPlugInElement* pluginElement() { return m_pluginElement.get(); }
 
     void detachFromPluginElement();
index 4001664..1fb4c2d 100644 (file)
@@ -50,7 +50,7 @@ public:
     explicit FileIconLoader(FileIconLoaderClient&);
 
     void invalidate();
-    void notifyFinished(PassRefPtr<Icon>);
+    WEBCORE_EXPORT void notifyFinished(PassRefPtr<Icon>);
 
 private:
     FileIconLoaderClient* m_client;
index c7927d2..a4e6994 100644 (file)
@@ -51,7 +51,7 @@ public:
     bool hasDistribution() const { return m_hasDistribution; }
     void setHasDistribution() { m_hasDistribution = true; }
     void clearDistribution() { m_hasDistribution = false; }
-    bool isActive() const;
+    WEBCORE_EXPORT bool isActive() const;
 
     virtual MatchType matchTypeFor(Node*) const { return AlwaysMatches; }
 
index faac2aa..fb4f51b 100644 (file)
@@ -76,7 +76,7 @@ public:
 
     virtual bool handleJavaScriptDialog(bool, const String*) { return false; }
 
-    static bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
+    WEBCORE_EXPORT static bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
 };
 
 } // namespace WebCore
index e9844f0..1d20c38 100644 (file)
@@ -81,21 +81,21 @@ public:
     bool enabled() const;
     Page& inspectedPage() const;
 
-    void show();
-    void close();
+    WEBCORE_EXPORT void show();
+    WEBCORE_EXPORT void close();
 
-    void setInspectorFrontendClient(std::unique_ptr<InspectorFrontendClient>);
+    WEBCORE_EXPORT void setInspectorFrontendClient(std::unique_ptr<InspectorFrontendClient>);
     bool hasInspectorFrontendClient() const;
     void didClearWindowObjectInWorld(Frame*, DOMWrapperWorld&);
 
-    void dispatchMessageFromFrontend(const String& message);
+    WEBCORE_EXPORT void dispatchMessageFromFrontend(const String& message);
 
     bool hasFrontend() const { return !!m_inspectorFrontendChannel; }
     bool hasLocalFrontend() const;
     bool hasRemoteFrontend() const;
 
-    void connectFrontend(Inspector::InspectorFrontendChannel*);
-    void disconnectFrontend(Inspector::InspectorDisconnectReason);
+    WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel*);
+    WEBCORE_EXPORT void disconnectFrontend(Inspector::InspectorDisconnectReason);
     void setProcessId(long);
 
 #if ENABLE(REMOTE_INSPECTOR)
@@ -103,21 +103,21 @@ public:
 #endif
 
     void inspect(Node*);
-    void drawHighlight(GraphicsContext&) const;
-    void getHighlight(Highlight*, InspectorOverlay::CoordinateSystem) const;
+    WEBCORE_EXPORT void drawHighlight(GraphicsContext&) const;
+    WEBCORE_EXPORT void getHighlight(Highlight*, InspectorOverlay::CoordinateSystem) const;
     void hideHighlight();
     Node* highlightedNode() const;
 
     void setIndicating(bool);
 
-    PassRefPtr<Inspector::InspectorObject> buildObjectForHighlightedNode() const;
+    WEBCORE_EXPORT PassRefPtr<Inspector::InspectorObject> buildObjectForHighlightedNode() const;
 
     bool isUnderTest() const { return m_isUnderTest; }
     void setIsUnderTest(bool isUnderTest) { m_isUnderTest = isUnderTest; }
-    void evaluateForTestInFrontend(const String& script);
+    WEBCORE_EXPORT void evaluateForTestInFrontend(const String& script);
 
-    bool profilerEnabled() const;
-    void setProfilerEnabled(bool);
+    WEBCORE_EXPORT bool profilerEnabled() const;
+    WEBCORE_EXPORT void setProfilerEnabled(bool);
 
     void resume();
 
index 2f637b0..17cc05b 100644 (file)
@@ -55,18 +55,18 @@ public:
         virtual void setProperty(const String& name, const String& value);
     };
 
-    InspectorFrontendClientLocal(InspectorController*, Page*, std::unique_ptr<Settings>);
-    virtual ~InspectorFrontendClientLocal();
+    WEBCORE_EXPORT InspectorFrontendClientLocal(InspectorController*, Page*, std::unique_ptr<Settings>);
+    WEBCORE_EXPORT virtual ~InspectorFrontendClientLocal();
 
-    virtual void windowObjectCleared() override;
-    virtual void frontendLoaded() override;
+    WEBCORE_EXPORT virtual void windowObjectCleared() override;
+    WEBCORE_EXPORT virtual void frontendLoaded() override;
 
-    virtual void moveWindowBy(float x, float y) override;
+    WEBCORE_EXPORT virtual void moveWindowBy(float x, float y) override;
 
-    virtual void requestSetDockSide(DockSide) override;
-    virtual void changeAttachedWindowHeight(unsigned) override;
-    virtual void changeAttachedWindowWidth(unsigned) override;
-    virtual void openInNewTab(const String& url) override;
+    WEBCORE_EXPORT virtual void requestSetDockSide(DockSide) override;
+    WEBCORE_EXPORT virtual void changeAttachedWindowHeight(unsigned) override;
+    WEBCORE_EXPORT virtual void changeAttachedWindowWidth(unsigned) override;
+    WEBCORE_EXPORT virtual void openInNewTab(const String& url) override;
     virtual bool canSave()  override { return false; }
     virtual void save(const String&, const String&, bool, bool) override { }
     virtual void append(const String&, const String&) override { }
@@ -74,39 +74,39 @@ public:
     virtual void attachWindow(DockSide) = 0;
     virtual void detachWindow() = 0;
 
-    virtual void sendMessageToBackend(const String& message) override;
+    WEBCORE_EXPORT virtual void sendMessageToBackend(const String& message) override;
 
-    virtual bool isUnderTest() override;
+    WEBCORE_EXPORT virtual bool isUnderTest() override;
 
-    bool canAttachWindow();
-    void setDockingUnavailable(bool);
+    WEBCORE_EXPORT bool canAttachWindow();
+    WEBCORE_EXPORT void setDockingUnavailable(bool);
 
-    static unsigned constrainedAttachedWindowHeight(unsigned preferredHeight, unsigned totalWindowHeight);
-    static unsigned constrainedAttachedWindowWidth(unsigned preferredWidth, unsigned totalWindowWidth);
+    WEBCORE_EXPORT static unsigned constrainedAttachedWindowHeight(unsigned preferredHeight, unsigned totalWindowHeight);
+    WEBCORE_EXPORT static unsigned constrainedAttachedWindowWidth(unsigned preferredWidth, unsigned totalWindowWidth);
 
     // Direct Frontend API
-    bool isDebuggingEnabled();
-    void setDebuggingEnabled(bool);
+    WEBCORE_EXPORT bool isDebuggingEnabled();
+    WEBCORE_EXPORT void setDebuggingEnabled(bool);
 
-    bool isTimelineProfilingEnabled();
-    void setTimelineProfilingEnabled(bool);
+    WEBCORE_EXPORT bool isTimelineProfilingEnabled();
+    WEBCORE_EXPORT void setTimelineProfilingEnabled(bool);
 
-    bool isProfilingJavaScript();
-    void startProfilingJavaScript();
-    void stopProfilingJavaScript();
+    WEBCORE_EXPORT bool isProfilingJavaScript();
+    WEBCORE_EXPORT void startProfilingJavaScript();
+    WEBCORE_EXPORT void stopProfilingJavaScript();
 
-    void showConsole();
+    WEBCORE_EXPORT void showConsole();
 
-    void showMainResourceForFrame(Frame*);
+    WEBCORE_EXPORT void showMainResourceForFrame(Frame*);
 
-    void showResources();
+    WEBCORE_EXPORT void showResources();
 
-    void setAttachedWindow(DockSide);
+    WEBCORE_EXPORT void setAttachedWindow(DockSide);
 
 protected:
     virtual void setAttachedWindowHeight(unsigned) = 0;
     virtual void setAttachedWindowWidth(unsigned) = 0;
-    void restoreAttachedWindowHeight();
+    WEBCORE_EXPORT void restoreAttachedWindowHeight();
 
 private:
     bool evaluateAsBoolean(const String& expression);
index 0163d47..123910a 100644 (file)
@@ -473,7 +473,7 @@ private:
     static void networkStateChangedImpl(InstrumentingAgents*);
     static void updateApplicationCacheStatusImpl(InstrumentingAgents*, Frame*);
 
-    static InstrumentingAgents* instrumentingAgentsForPage(Page*);
+    WEBCORE_EXPORT static InstrumentingAgents* instrumentingAgentsForPage(Page*);
     static InstrumentingAgents* instrumentingAgentsForFrame(Frame*);
     static InstrumentingAgents* instrumentingAgentsForContext(ScriptExecutionContext*);
     static InstrumentingAgents* instrumentingAgentsForDocument(Document*);
@@ -490,7 +490,7 @@ private:
     static void renderLayerDestroyedImpl(InstrumentingAgents*, const RenderLayer*);
     static void pseudoElementDestroyedImpl(InstrumentingAgents*, PseudoElement*);
 
-    static int s_frontendCounter;
+    WEBCORE_EXPORT static int s_frontendCounter;
 #endif
 };
 
index 1a2bbf8..81e3f65 100644 (file)
@@ -56,7 +56,7 @@ public:
     {
     }
 
-    FrameLoadRequest(Frame*, const ResourceRequest&, const SubstituteData& = SubstituteData());
+    WEBCORE_EXPORT FrameLoadRequest(Frame*, const ResourceRequest&, const SubstituteData& = SubstituteData());
 
     bool isEmpty() const { return m_resourceRequest.isEmpty(); }
 
index e48951b..52efa3c 100644 (file)
@@ -88,7 +88,7 @@ public:
     FrameLoader(Frame&, FrameLoaderClient&);
     ~FrameLoader();
 
-    void init();
+    WEBCORE_EXPORT void init();
 #if PLATFORM(IOS)
     void initForSynthesizedDocument(const URL&);
 #endif
@@ -106,14 +106,14 @@ public:
     void setupForReplace();
 
     // FIXME: These are all functions which start loads. We have too many.
-    void loadURLIntoChildFrame(const URL&, const String& referer, Frame*);
-    void loadFrameRequest(const FrameLoadRequest&, LockHistory, LockBackForwardList,  // Called by submitForm, calls loadPostRequest and loadURL.
+    WEBCORE_EXPORT void loadURLIntoChildFrame(const URL&, const String& referer, Frame*);
+    WEBCORE_EXPORT void loadFrameRequest(const FrameLoadRequest&, LockHistory, LockBackForwardList, // Called by submitForm, calls loadPostRequest and loadURL.
         PassRefPtr<Event>, PassRefPtr<FormState>, ShouldSendReferrer, AllowNavigationToInvalidURL);
 
-    void load(const FrameLoadRequest&);
+    WEBCORE_EXPORT void load(const FrameLoadRequest&);
 
 #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
-    void loadArchive(PassRefPtr<Archive>);
+    WEBCORE_EXPORT void loadArchive(PassRefPtr<Archive>);
 #endif
     unsigned long loadResourceSynchronously(const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data);
 
@@ -122,8 +122,8 @@ public:
     void urlSelected(const URL&, const String& target, PassRefPtr<Event>, LockHistory, LockBackForwardList, ShouldSendReferrer);
     void submitForm(PassRefPtr<FormSubmission>);
 
-    void reload(bool endToEndReload = false);
-    void reloadWithOverrideEncoding(const String& overrideEncoding);
+    WEBCORE_EXPORT void reload(bool endToEndReload = false);
+    WEBCORE_EXPORT void reloadWithOverrideEncoding(const String& overrideEncoding);
 
     void open(CachedFrameBase&);
     void loadItem(HistoryItem*, FrameLoadType);
@@ -135,7 +135,7 @@ public:
 
     // FIXME: These are all functions which stop loads. We have too many.
     void stopAllLoaders(ClearProvisionalItemPolicy = ShouldClearProvisionalItem);
-    void stopForUserCancel(bool deferCheckLoadComplete = false);
+    WEBCORE_EXPORT void stopForUserCancel(bool deferCheckLoadComplete = false);
     void stop();
     void stopLoading(UnloadEventPolicy);
     bool closeURL();
@@ -144,14 +144,14 @@ public:
     void clear(Document* newDocument, bool clearWindowProperties = true, bool clearScriptObjects = true, bool clearFrameView = true);
 
     bool isLoading() const;
-    bool frameHasLoaded() const;
+    WEBCORE_EXPORT bool frameHasLoaded() const;
 
-    int numPendingOrLoadingRequests(bool recurse) const;
+    WEBCORE_EXPORT int numPendingOrLoadingRequests(bool recurse) const;
     String referrer() const;
-    String outgoingReferrer() const;
+    WEBCORE_EXPORT String outgoingReferrer() const;
     String outgoingOrigin() const;
 
-    DocumentLoader* activeDocumentLoader() const;
+    WEBCORE_EXPORT DocumentLoader* activeDocumentLoader() const;
     DocumentLoader* documentLoader() const { return m_documentLoader.get(); }
     DocumentLoader* policyDocumentLoader() const { return m_policyDocumentLoader.get(); }
     DocumentLoader* provisionalDocumentLoader() const { return m_provisionalDocumentLoader.get(); }
@@ -168,7 +168,7 @@ public:
 
     void handleFallbackContent();
 
-    ResourceError cancelledError(const ResourceRequest&) const;
+    WEBCORE_EXPORT ResourceError cancelledError(const ResourceRequest&) const;
 
     bool isHostedByObjectElement() const;
 
@@ -181,7 +181,7 @@ public:
 
     bool shouldTreatURLAsSrcdocDocument(const URL&) const;
 
-    FrameLoadType loadType() const;
+    WEBCORE_EXPORT FrameLoadType loadType() const;
 
     CachePolicy subresourceCachePolicy() const;
 
@@ -192,7 +192,7 @@ public:
     void tellClientAboutPastMemoryCacheLoads();
 
     void checkLoadComplete();
-    void detachFromParent();
+    WEBCORE_EXPORT void detachFromParent();
     void detachViewsAndDocumentLoader();
 
     void addExtraFieldsToSubresourceRequest(ResourceRequest&);
@@ -225,7 +225,7 @@ public:
     bool checkIfFormActionAllowedByCSP(const URL&) const;
 
     Frame* opener();
-    void setOpener(Frame*);
+    WEBCORE_EXPORT void setOpener(Frame*);
 
     void resetMultipleFormSubmissionProtection();
 
@@ -239,7 +239,7 @@ public:
     void finishedParsing();
     void checkCompleted();
 
-    bool isComplete() const;
+    WEBCORE_EXPORT bool isComplete() const;
 
     void commitProvisionalLoad();
 
@@ -248,7 +248,7 @@ public:
 
     FrameLoaderStateMachine& stateMachine() { return m_stateMachine; }
 
-    Frame* findFrameForNavigation(const AtomicString& name, Document* activeDocument = 0);
+    WEBCORE_EXPORT Frame* findFrameForNavigation(const AtomicString& name, Document* activeDocument = 0);
 
     void applyUserAgent(ResourceRequest&);
 
@@ -264,7 +264,7 @@ public:
     // introduce a proper callback type for this function, we should make it private again.
     void continueLoadAfterWillSubmitForm();
 
-    void setOriginalURLForDownloadRequest(ResourceRequest&);
+    WEBCORE_EXPORT void setOriginalURLForDownloadRequest(ResourceRequest&);
 
     bool suppressOpenerInNewFrame() const { return m_suppressOpenerInNewFrame; }
 
@@ -272,7 +272,7 @@ public:
 
     bool quickRedirectComing() const { return m_quickRedirectComing; }
 
-    bool shouldClose();
+    WEBCORE_EXPORT bool shouldClose();
     
     void started();
 
@@ -284,7 +284,7 @@ public:
     };
     PageDismissalType pageDismissalEventBeingDispatched() const { return m_pageDismissalEventBeingDispatched; }
 
-    NetworkingContext* networkingContext() const;
+    WEBCORE_EXPORT NetworkingContext* networkingContext() const;
 
     void loadProgressingStatusChanged();
 
@@ -342,7 +342,7 @@ private:
 
     void dispatchDidCommitLoad();
 
-    void urlSelected(const FrameLoadRequest&, PassRefPtr<Event>, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL);
+    WEBCORE_EXPORT void urlSelected(const FrameLoadRequest&, PassRefPtr<Event>, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL);
 
     void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr<FormState>, AllowNavigationToInvalidURL); // Calls continueLoadAfterNavigationPolicy
     void load(DocumentLoader*);                                                         // Calls loadWithDocumentLoader   
@@ -359,7 +359,7 @@ private:
 
     void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&);
 
-    void detachChildren();
+    WEBCORE_EXPORT void detachChildren();
     void closeAndRemoveChild(Frame*);
 
     void loadInSameDocument(const URL&, PassRefPtr<SerializedScriptValue> stateObject, bool isNewNavigation);
@@ -407,7 +407,7 @@ private:
 
     bool m_quickRedirectComing;
     bool m_sentRedirectNotification;
-    bool m_inStopAllLoaders;
+    WEBCORE_EXPORT bool m_inStopAllLoaders;
 
     String m_outgoingReferrer;
 
index 8bce923..5c5e470 100644 (file)
@@ -51,11 +51,11 @@ public:
         FirstLayoutDone
     };
 
-    bool committingFirstRealLoad() const;
+    WEBCORE_EXPORT bool committingFirstRealLoad() const;
     bool committedFirstRealDocumentLoad() const;
     bool creatingInitialEmptyDocument() const;
     bool isDisplayingInitialEmptyDocument() const;
-    bool firstLayoutDone() const;
+    WEBCORE_EXPORT bool firstLayoutDone() const;
     void advanceTo(State);
 
 private:
index 3d3ec68..431f30e 100644 (file)
@@ -54,12 +54,12 @@ public:
 
     void saveScrollPositionAndViewStateToItem(HistoryItem*);
     void clearScrollPositionAndViewState();
-    void restoreScrollPositionAndViewState();
+    WEBCORE_EXPORT void restoreScrollPositionAndViewState();
 
     void updateBackForwardListForFragmentScroll();
 
     void saveDocumentState();
-    void saveDocumentAndScrollState();
+    WEBCORE_EXPORT void saveDocumentAndScrollState();
     void restoreDocumentState();
 
     void invalidateCurrentItemCachedPage();
@@ -77,7 +77,7 @@ public:
     void setCurrentItem(HistoryItem*);
     void setCurrentItemTitle(const StringWithDirection&);
     bool currentItemShouldBeReplaced() const;
-    void replaceCurrentItem(HistoryItem*);
+    WEBCORE_EXPORT void replaceCurrentItem(HistoryItem*);
 
     HistoryItem* previousItem() const { return m_previousItem.get(); }
     void clearPreviousItem();
index d2783ae..c267eed 100644 (file)
@@ -40,11 +40,11 @@ class ResourceResponse;
 
 class LoaderStrategy {
 public:
-    virtual ResourceLoadScheduler* resourceLoadScheduler();
+    WEBCORE_EXPORT virtual ResourceLoadScheduler* resourceLoadScheduler();
 
-    virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data);
+    WEBCORE_EXPORT virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data);
 
-    virtual BlobRegistry* createBlobRegistry();
+    WEBCORE_EXPORT virtual BlobRegistry* createBlobRegistry();
 
 protected:
     virtual ~LoaderStrategy()
index 835491a..1b48d0c 100644 (file)
@@ -39,10 +39,10 @@ namespace WebCore {
 
     class NavigationAction {
     public:
-        NavigationAction();
-        explicit NavigationAction(const ResourceRequest&);
-        NavigationAction(const ResourceRequest&, NavigationType);
-        NavigationAction(const ResourceRequest&, FrameLoadType, bool isFormSubmission);
+        WEBCORE_EXPORT NavigationAction();
+        WEBCORE_EXPORT explicit NavigationAction(const ResourceRequest&);
+        WEBCORE_EXPORT NavigationAction(const ResourceRequest&, NavigationType);
+        WEBCORE_EXPORT NavigationAction(const ResourceRequest&, FrameLoadType, bool isFormSubmission);
         NavigationAction(const ResourceRequest&, NavigationType, PassRefPtr<Event>);
         NavigationAction(const ResourceRequest&, FrameLoadType, bool isFormSubmission, PassRefPtr<Event>);
 
index bf7cc18..32f54b9 100644 (file)
@@ -50,10 +50,10 @@ protected:
 
 class NetscapePlugInStreamLoader final : public ResourceLoader {
 public:
-    static PassRefPtr<NetscapePlugInStreamLoader> create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&);
+    WEBCORE_EXPORT static PassRefPtr<NetscapePlugInStreamLoader> create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&);
     virtual ~NetscapePlugInStreamLoader();
 
-    bool isDone() const;
+    WEBCORE_EXPORT bool isDone() const;
 
 private:
     virtual void didReceiveResponse(const ResourceResponse&) override;
index 0f7aa0a..4403b4d 100644 (file)
@@ -48,7 +48,7 @@ public:
 
     static unsigned long createUniqueIdentifier();
 
-    double estimatedProgress() const;
+    WEBCORE_EXPORT double estimatedProgress() const;
 
     void progressStarted(Frame&);
     void progressCompleted(Frame&);
index f47c4f9..488c7a7 100644 (file)
@@ -40,18 +40,18 @@ class Range;
 
 class LegacyWebArchive : public Archive {
 public:
-    static PassRefPtr<LegacyWebArchive> create();
-    static PassRefPtr<LegacyWebArchive> create(SharedBuffer*);
-    static PassRefPtr<LegacyWebArchive> create(const URL&, SharedBuffer*);
-    static PassRefPtr<LegacyWebArchive> create(PassRefPtr<ArchiveResource> mainResource, Vector<RefPtr<ArchiveResource>> subresources, Vector<RefPtr<LegacyWebArchive>> subframeArchives);
-    static PassRefPtr<LegacyWebArchive> create(Node*, std::function<bool (Frame&)> frameFilter = nullptr);
-    static PassRefPtr<LegacyWebArchive> create(Frame*);
-    static PassRefPtr<LegacyWebArchive> createFromSelection(Frame*);
-    static PassRefPtr<LegacyWebArchive> create(Range*);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create();
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(SharedBuffer*);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(const URL&, SharedBuffer*);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(PassRefPtr<ArchiveResource> mainResource, Vector<RefPtr<ArchiveResource>> subresources, Vector<RefPtr<LegacyWebArchive>> subframeArchives);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(Node*, std::function<bool(Frame&)> frameFilter = nullptr);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(Frame*);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> createFromSelection(Frame*);
+    WEBCORE_EXPORT static PassRefPtr<LegacyWebArchive> create(Range*);
 
     virtual Type type() const override;
 
-    RetainPtr<CFDataRef> rawDataRepresentation();
+    WEBCORE_EXPORT RetainPtr<CFDataRef> rawDataRepresentation();
 
 private:
     LegacyWebArchive() { }
index 12503e0..f36ccbe 100644 (file)
@@ -111,8 +111,8 @@ public:
         TypeStatistic fonts;
     };
 
-    CachedResource* resourceForURL(const URL&);
-    CachedResource* resourceForURL(const URL&, SessionID);
+    WEBCORE_EXPORT CachedResource* resourceForURL(const URL&);
+    WEBCORE_EXPORT CachedResource* resourceForURL(const URL&, SessionID);
     CachedResource* resourceForRequest(const ResourceRequest&, SessionID);
 
     bool add(CachedResource*);
@@ -128,14 +128,14 @@ public:
     //  - minDeadBytes: The maximum number of bytes that dead resources should consume when the cache is under pressure.
     //  - maxDeadBytes: The maximum number of bytes that dead resources should consume when the cache is not under pressure.
     //  - totalBytes: The maximum number of bytes that the cache should consume overall.
-    void setCapacities(unsigned minDeadBytes, unsigned maxDeadBytes, unsigned totalBytes);
+    WEBCORE_EXPORT void setCapacities(unsigned minDeadBytes, unsigned maxDeadBytes, unsigned totalBytes);
 
     // Turn the cache on and off.  Disabling the cache will remove all resources from the cache.  They may
     // still live on if they are referenced by some Web page though.
-    void setDisabled(bool);
+    WEBCORE_EXPORT void setDisabled(bool);
     bool disabled() const { return m_disabled; }
 
-    void evictResources();
+    WEBCORE_EXPORT void evictResources();
     
     void setPruneEnabled(bool enabled) { m_pruneEnabled = enabled; }
     void prune();
@@ -159,7 +159,7 @@ public:
     void removeFromLiveResourcesSize(CachedResource*);
 
 #if ENABLE(DISK_IMAGE_CACHE)
-    void flushCachedImagesToDisk(); // Flush encoded data from resources still referenced by web pages.
+    WEBCORE_EXPORT void flushCachedImagesToDisk(); // Flush encoded data from resources still referenced by web pages.
 #endif
 
     static void removeUrlFromCache(ScriptExecutionContext*, const String& urlString, SessionID);
@@ -167,13 +167,13 @@ public:
     static void removeRequestFromSessionCaches(ScriptExecutionContext*, const ResourceRequest&);
 
     // Function to collect cache statistics for the caches window in the Safari Debug menu.
-    Statistics getStatistics();
+    WEBCORE_EXPORT Statistics getStatistics();
     
     void resourceAccessed(CachedResource*);
 
     typedef HashSet<RefPtr<SecurityOrigin>> SecurityOriginSet;
-    void removeResourcesWithOrigin(SecurityOrigin*);
-    void getOriginsWithCache(SecurityOriginSet& origins);
+    WEBCORE_EXPORT void removeResourcesWithOrigin(SecurityOrigin*);
+    WEBCORE_EXPORT void getOriginsWithCache(SecurityOriginSet& origins);
 
     unsigned minDeadCapacity() const { return m_minDeadCapacity; }
     unsigned maxDeadCapacity() const { return m_maxDeadCapacity; }
@@ -184,14 +184,14 @@ public:
 #if USE(CG)
     // FIXME: Remove the USE(CG) once we either make NativeImagePtr a smart pointer on all platforms or
     // remove the usage of CFRetain() in MemoryCache::addImageToCache() so as to make the code platform-independent.
-    bool addImageToCache(NativeImagePtr, const URL&, const String& cachePartition);
-    void removeImageFromCache(const URL&, const String& cachePartition);
+    WEBCORE_EXPORT bool addImageToCache(NativeImagePtr, const URL&, const String& cachePartition);
+    WEBCORE_EXPORT void removeImageFromCache(const URL&, const String& cachePartition);
 #endif
 
     // pruneDead*() - Flush decoded and encoded data from resources not referenced by Web pages.
     // pruneLive*() - Flush decoded data from resources still referenced by Web pages.
-    void pruneDeadResources(); // Automatically decide how much to prune.
-    void pruneLiveResources(bool shouldDestroyDecodedDataForAllLiveResources = false);
+    WEBCORE_EXPORT void pruneDeadResources(); // Automatically decide how much to prune.
+    WEBCORE_EXPORT void pruneLiveResources(bool shouldDestroyDecodedDataForAllLiveResources = false);
 
 private:
     void pruneDeadResourcesToPercentage(float prunePercentage); // Prune to % current size
@@ -213,7 +213,7 @@ private:
 
     void evict(CachedResource*);
 
-    CachedResource* resourceForRequestImpl(const ResourceRequest&, CachedResourceMap&);
+    WEBCORE_EXPORT CachedResource* resourceForRequestImpl(const ResourceRequest&, CachedResourceMap&);
     static void removeRequestFromCacheImpl(ScriptExecutionContext*, const ResourceRequest&, SessionID);
     static void removeRequestFromSessionCachesImpl(ScriptExecutionContext*, const ResourceRequest&);
     static void crossThreadRemoveRequestFromCache(ScriptExecutionContext&, PassOwnPtr<CrossThreadResourceRequestData>, SessionID);
index 78a00d4..cb0e099 100644 (file)
@@ -47,7 +47,7 @@ public:
     explicit IconController(Frame&);
     ~IconController();
 
-    URL url();
+    WEBCORE_EXPORT URL url();
     IconURLs urlsForTypes(int iconTypesMask);
     IconURL iconURL(IconType) const;
 
index 5713477..91070c8 100644 (file)
@@ -67,46 +67,46 @@ class IconDatabase final : public IconDatabaseBase {
     
 // *** Main Thread Only ***
 public:
-    IconDatabase();
+    WEBCORE_EXPORT IconDatabase();
     ~IconDatabase();
 
-    virtual void setClient(IconDatabaseClient*) override;
+    WEBCORE_EXPORT virtual void setClient(IconDatabaseClient*) override;
 
-    virtual bool open(const String& directory, const String& filename) override;
-    virtual void close() override;
+    WEBCORE_EXPORT virtual bool open(const String& directory, const String& filename) override;
+    WEBCORE_EXPORT virtual void close() override;
             
-    virtual void removeAllIcons() override;
+    WEBCORE_EXPORT virtual void removeAllIcons() override;
 
     void readIconForPageURLFromDisk(const String&);
 
-    virtual Image* defaultIcon(const IntSize&) override;
+    WEBCORE_EXPORT virtual Image* defaultIcon(const IntSize&) override;
 
-    virtual void retainIconForPageURL(const String&) override;
-    virtual void releaseIconForPageURL(const String&) override;
-    virtual void setIconDataForIconURL(PassRefPtr<SharedBuffer> data, const String&) override;
-    virtual void setIconURLForPageURL(const String& iconURL, const String& pageURL) override;
+    WEBCORE_EXPORT virtual void retainIconForPageURL(const String&) override;
+    WEBCORE_EXPORT virtual void releaseIconForPageURL(const String&) override;
+    WEBCORE_EXPORT virtual void setIconDataForIconURL(PassRefPtr<SharedBuffer> data, const String&) override;
+    WEBCORE_EXPORT virtual void setIconURLForPageURL(const String& iconURL, const String& pageURL) override;
 
-    virtual Image* synchronousIconForPageURL(const String&, const IntSize&) override;
+    WEBCORE_EXPORT virtual Image* synchronousIconForPageURL(const String&, const IntSize&) override;
     virtual PassNativeImagePtr synchronousNativeIconForPageURL(const String& pageURLOriginal, const IntSize&) override;
-    virtual String synchronousIconURLForPageURL(const String&) override;
+    WEBCORE_EXPORT virtual String synchronousIconURLForPageURL(const String&) override;
     virtual bool synchronousIconDataKnownForIconURL(const String&) override;
-    virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&, DocumentLoader*) override;
+    WEBCORE_EXPORT virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&, DocumentLoader*) override;
 
-    virtual void setEnabled(bool) override;
+    WEBCORE_EXPORT virtual void setEnabled(bool) override;
     virtual bool isEnabled() const override;
 
-    virtual void setPrivateBrowsingEnabled(bool flag) override;
+    WEBCORE_EXPORT virtual void setPrivateBrowsingEnabled(bool flag) override;
     bool isPrivateBrowsingEnabled() const;
 
-    static void delayDatabaseCleanup();
-    static void allowDatabaseCleanup();
-    static void checkIntegrityBeforeOpening();
+    WEBCORE_EXPORT static void delayDatabaseCleanup();
+    WEBCORE_EXPORT static void allowDatabaseCleanup();
+    WEBCORE_EXPORT static void checkIntegrityBeforeOpening();
 
     // Support for WebCoreStatistics in WebKit
-    virtual size_t pageURLMappingCount() override;
-    virtual size_t retainedPageURLCount() override;
-    virtual size_t iconRecordCount() override;
-    virtual size_t iconRecordCountWithData() override;
+    WEBCORE_EXPORT virtual size_t pageURLMappingCount() override;
+    WEBCORE_EXPORT virtual size_t retainedPageURLCount() override;
+    WEBCORE_EXPORT virtual size_t iconRecordCount() override;
+    WEBCORE_EXPORT virtual size_t iconRecordCountWithData() override;
 
 private:
     friend IconDatabaseBase& iconDatabase();
@@ -130,15 +130,15 @@ private:
 
 // *** Any Thread ***
 public:
-    virtual bool isOpen() const;
-    virtual String databasePath() const;
-    static String defaultDatabaseFilename();
+    WEBCORE_EXPORT virtual bool isOpen() const;
+    WEBCORE_EXPORT virtual String databasePath() const;
+    WEBCORE_EXPORT static String defaultDatabaseFilename();
 
 private:
     PassRefPtr<IconRecord> getOrCreateIconRecord(const String& iconURL);
     PageURLRecord* getOrCreatePageURLRecord(const String& pageURL);
     
-    bool m_isEnabled;
+    WEBCORE_EXPORT bool m_isEnabled;
     bool m_privateBrowsingEnabled;
 
     mutable Mutex m_syncLock;
@@ -178,7 +178,7 @@ private:
 
 // *** Sync Thread Only ***
 public:
-    virtual bool shouldStopThreadActivity() const;
+    WEBCORE_EXPORT virtual bool shouldStopThreadActivity() const;
 
 private:    
     static void iconDatabaseSyncThreadStart(void *);
index f289577..4c9ea1b 100644 (file)
@@ -175,7 +175,7 @@ public:
 
     // Synchronous calls used internally by WebCore.
     // Usage should be replaced by asynchronous calls.
-    virtual String synchronousIconURLForPageURL(const String&);
+    WEBCORE_EXPORT virtual String synchronousIconURLForPageURL(const String&);
     virtual bool synchronousIconDataKnownForIconURL(const String&) { return false; }
     virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&, DocumentLoader*) { return IconLoadNo; }
     virtual Image* synchronousIconForPageURL(const String&, const IntSize&) { return 0; }
@@ -200,7 +200,7 @@ public:
 
     virtual bool shouldStopThreadActivity() const { return true; }
 
-    virtual bool open(const String& directory, const String& filename);
+    WEBCORE_EXPORT virtual bool open(const String& directory, const String& filename);
     virtual void close() { }
     virtual void removeAllIcons() { }
 
@@ -208,7 +208,7 @@ public:
     virtual void setClient(IconDatabaseClient*) { }
     
     virtual bool isOpen() const { return false; }
-    virtual String databasePath() const;
+    WEBCORE_EXPORT virtual String databasePath() const;
 
 };
 
index 2b18c6c..ae3b99b 100644 (file)
@@ -52,7 +52,7 @@ class FocusNavigationScope {
 public:
     ContainerNode* rootNode() const;
     Element* owner() const;
-    static FocusNavigationScope focusNavigationScopeOf(Node*);
+    WEBCORE_EXPORT static FocusNavigationScope focusNavigationScopeOf(Node*);
     static FocusNavigationScope focusNavigationScopeOwnedByShadowHost(Node*);
     static FocusNavigationScope focusNavigationScopeOwnedByIFrame(HTMLFrameOwnerElement*);
 
@@ -66,28 +66,28 @@ class FocusController {
 public:
     explicit FocusController(Page&, ViewState::Flags);
 
-    void setFocusedFrame(PassRefPtr<Frame>);
+    WEBCORE_EXPORT void setFocusedFrame(PassRefPtr<Frame>);
     Frame* focusedFrame() const { return m_focusedFrame.get(); }
-    Frame& focusedOrMainFrame() const;
+    WEBCORE_EXPORT Frame& focusedOrMainFrame() const;
 
-    bool setInitialFocus(FocusDirection, KeyboardEvent*);
+    WEBCORE_EXPORT bool setInitialFocus(FocusDirection, KeyboardEvent*);
     bool advanceFocus(FocusDirection, KeyboardEvent*, bool initialFocus = false);
 
-    bool setFocusedElement(Element*, PassRefPtr<Frame>, FocusDirection = FocusDirectionNone);
+    WEBCORE_EXPORT bool setFocusedElement(Element*, PassRefPtr<Frame>, FocusDirection = FocusDirectionNone);
 
     void setViewState(ViewState::Flags);
 
-    void setActive(bool);
+    WEBCORE_EXPORT void setActive(bool);
     bool isActive() const { return m_viewState & ViewState::WindowIsActive; }
 
-    void setFocused(bool);
+    WEBCORE_EXPORT void setFocused(bool);
     bool isFocused() const { return m_viewState & ViewState::IsFocused; }
 
     bool contentIsVisible() const { return m_viewState & ViewState::IsVisible; }
 
     // These methods are used in WebCore/bindings/objc/DOM.mm.
-    Element* nextFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
-    Element* previousFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
+    WEBCORE_EXPORT Element* nextFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
+    WEBCORE_EXPORT Element* previousFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
 
     void setFocusedElementNeedsRepaint();
     double timeSinceFocusWasSet() const;
index 7685679..6edda34 100644 (file)
@@ -115,20 +115,20 @@ namespace WebCore {
 
     class Frame : public RefCounted<Frame> {
     public:
-        static PassRefPtr<Frame> create(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
+        WEBCORE_EXPORT static PassRefPtr<Frame> create(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
 
         void init();
 #if PLATFORM(IOS)
         // Creates <html><body style="..."></body></html> doing minimal amount of work.
-        void initWithSimpleHTMLDocument(const String& style, const URL&);
+        WEBCORE_EXPORT void initWithSimpleHTMLDocument(const String& style, const URL&);
 #endif
-        void setView(PassRefPtr<FrameView>);
-        void createView(const IntSize&, const Color&, bool,
+        WEBCORE_EXPORT void setView(PassRefPtr<FrameView>);
+        WEBCORE_EXPORT void createView(const IntSize&, const Color&, bool,
             const IntSize& fixedLayoutSize = IntSize(), const IntRect& fixedVisibleContentRect = IntRect(),
             bool useFixedLayout = false, ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
             ScrollbarMode = ScrollbarAuto, bool verticalLock = false);
 
-        virtual ~Frame();
+        WEBCORE_EXPORT virtual ~Frame();
 
         void addDestructionObserver(FrameDestructionObserver*);
         void removeDestructionObserver(FrameDestructionObserver*);
@@ -155,79 +155,79 @@ namespace WebCore {
         AnimationController& animation() const;
         ScriptController& script();
         
-        RenderView* contentRenderer() const; // Root of the render tree for the document contained in this frame.
-        RenderWidget* ownerRenderer() const; // Renderer for the element that contains this frame.
+        WEBCORE_EXPORT RenderView* contentRenderer() const; // Root of the render tree for the document contained in this frame.
+        WEBCORE_EXPORT RenderWidget* ownerRenderer() const; // Renderer for the element that contains this frame.
 
     // ======== All public functions below this point are candidates to move out of Frame into another class. ========
 
         void injectUserScripts(UserScriptInjectionTime);
         
-        String layerTreeAsText(LayerTreeFlags = 0) const;
-        String trackedRepaintRectsAsText() const;
+        WEBCORE_EXPORT String layerTreeAsText(LayerTreeFlags = 0) const;
+        WEBCORE_EXPORT String trackedRepaintRectsAsText() const;
 
-        static Frame* frameForWidget(const Widget*);
+        WEBCORE_EXPORT static Frame* frameForWidget(const Widget*);
 
         Settings& settings() const { return *m_settings; }
 
         void setPrinting(bool printing, const FloatSize& pageSize, const FloatSize& originalPageSize, float maximumShrinkRatio, AdjustViewSizeOrNot);
         bool shouldUsePrintingLayout() const;
-        FloatSize resizePageRectsKeepingRatio(const FloatSize& originalSize, const FloatSize& expectedSize);
+        WEBCORE_EXPORT FloatSize resizePageRectsKeepingRatio(const FloatSize& originalSize, const FloatSize& expectedSize);
 
         void setDocument(PassRefPtr<Document>);
 
-        void setPageZoomFactor(float factor);
+        WEBCORE_EXPORT void setPageZoomFactor(float);
         float pageZoomFactor() const { return m_pageZoomFactor; }
-        void setTextZoomFactor(float factor);
+        WEBCORE_EXPORT void setTextZoomFactor(float);
         float textZoomFactor() const { return m_textZoomFactor; }
-        void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
+        WEBCORE_EXPORT void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
 
         // Scale factor of this frame with respect to the container.
-        float frameScaleFactor() const;
+        WEBCORE_EXPORT float frameScaleFactor() const;
 
         void deviceOrPageScaleFactorChanged();
 
 #if PLATFORM(IOS)
         const ViewportArguments& viewportArguments() const;
-        void setViewportArguments(const ViewportArguments&);
+        WEBCORE_EXPORT void setViewportArguments(const ViewportArguments&);
 
-        Node* deepestNodeAtLocation(const FloatPoint& viewportLocation);
-        Node* nodeRespondingToClickEvents(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation);
-        Node* nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation);
+        WEBCORE_EXPORT Node* deepestNodeAtLocation(const FloatPoint& viewportLocation);
+        WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation);
+        WEBCORE_EXPORT Node* nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation);
 
         int indexCountOfWordPrecedingSelection(NSString* word) const;
-        NSArray* wordsInCurrentParagraph() const;
-        CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const;
+        WEBCORE_EXPORT NSArray* wordsInCurrentParagraph() const;
+        WEBCORE_EXPORT CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const;
 
-        void setSelectionChangeCallbacksDisabled(bool = true);
+        WEBCORE_EXPORT void setSelectionChangeCallbacksDisabled(bool = true);
         bool selectionChangeCallbacksDisabled() const;
 
         enum ViewportOffsetChangeType { IncrementalScrollOffset, CompletedScrollOffset };
-        void viewportOffsetChanged(ViewportOffsetChangeType);
+        WEBCORE_EXPORT void viewportOffsetChanged(ViewportOffsetChangeType);
         bool containsTiledBackingLayers() const;
 
-        void overflowScrollPositionChangedForNode(const IntPoint&, Node*, bool isUserScroll);
+        WEBCORE_EXPORT void overflowScrollPositionChangedForNode(const IntPoint&, Node*, bool isUserScroll);
 
-        void resetAllGeolocationPermission();
+        WEBCORE_EXPORT void resetAllGeolocationPermission();
 #endif
 
 #if ENABLE(ORIENTATION_EVENTS)
         // Orientation is the interface orientation in degrees. Some examples are:
         //  0 is straight up; -90 is when the device is rotated 90 clockwise;
         //  90 is when rotated counter clockwise.
-        void orientationChanged();
+        WEBCORE_EXPORT void orientationChanged();
         int orientation() const;
 #endif
 
         void clearTimers();
         static void clearTimers(FrameView*, Document*);
 
-        String displayStringModifiedByEncoding(const String&) const;
+        WEBCORE_EXPORT String displayStringModifiedByEncoding(const String&) const;
 
-        VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
+        WEBCORE_EXPORT VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
         Document* documentAtPoint(const IntPoint& windowPoint);
-        PassRefPtr<Range> rangeForPoint(const IntPoint& framePoint);
+        WEBCORE_EXPORT PassRefPtr<Range> rangeForPoint(const IntPoint& framePoint);
 
-        String searchForLabelsAboveCell(const JSC::Yarr::RegularExpression&, HTMLTableCellElement*, size_t* resultDistanceFromStartOfCell);
+        WEBCORE_EXPORT String searchForLabelsAboveCell(const JSC::Yarr::RegularExpression&, HTMLTableCellElement*, size_t* resultDistanceFromStartOfCell);
         String searchForLabelsBeforeElement(const Vector<String>& labels, Element*, size_t* resultDistance, bool* resultIsInCellAbove);
         String matchLabelsAgainstElement(const Vector<String>& labels, Element*);
 
@@ -235,27 +235,27 @@ namespace WebCore {
         // Scroll the selection in an overflow layer on iOS.
         void scrollOverflowLayer(RenderLayer* , const IntRect& visibleRect, const IntRect& exposeRect);
 
-        int preferredHeight() const;
-        int innerLineHeight(DOMNode*) const;
-        void updateLayout() const;
-        NSRect caretRect() const;
-        NSRect rectForScrollToVisible() const;
-        DOMCSSStyleDeclaration* styleAtSelectionStart() const;
-        unsigned formElementsCharacterCount() const;
-        void setTimersPaused(bool);
+        WEBCORE_EXPORT int preferredHeight() const;
+        WEBCORE_EXPORT int innerLineHeight(DOMNode*) const;
+        WEBCORE_EXPORT void updateLayout() const;
+        WEBCORE_EXPORT NSRect caretRect() const;
+        WEBCORE_EXPORT NSRect rectForScrollToVisible() const;
+        WEBCORE_EXPORT DOMCSSStyleDeclaration* styleAtSelectionStart() const;
+        WEBCORE_EXPORT unsigned formElementsCharacterCount() const;
+        WEBCORE_EXPORT void setTimersPaused(bool);
         bool timersPaused() const { return m_timersPausedCount; }
-        void dispatchPageHideEventBeforePause();
-        void dispatchPageShowEventBeforeResume();
-        void setRangedSelectionBaseToCurrentSelection();
-        void setRangedSelectionBaseToCurrentSelectionStart();
-        void setRangedSelectionBaseToCurrentSelectionEnd();
-        void clearRangedSelectionInitialExtent();
-        void setRangedSelectionInitialExtentToCurrentSelectionStart();
-        void setRangedSelectionInitialExtentToCurrentSelectionEnd();
+        WEBCORE_EXPORT void dispatchPageHideEventBeforePause();
+        WEBCORE_EXPORT void dispatchPageShowEventBeforeResume();
+        WEBCORE_EXPORT void setRangedSelectionBaseToCurrentSelection();
+        WEBCORE_EXPORT void setRangedSelectionBaseToCurrentSelectionStart();
+        WEBCORE_EXPORT void setRangedSelectionBaseToCurrentSelectionEnd();
+        WEBCORE_EXPORT void clearRangedSelectionInitialExtent();
+        WEBCORE_EXPORT void setRangedSelectionInitialExtentToCurrentSelectionStart();
+        WEBCORE_EXPORT void setRangedSelectionInitialExtentToCurrentSelectionEnd();
         VisibleSelection rangedSelectionBase() const;
-        VisibleSelection rangedSelectionInitialExtent() const;
-        void recursiveSetUpdateAppearanceEnabled(bool);
-        NSArray* interpretationsForCurrentRoot() const;
+        WEBCORE_EXPORT VisibleSelection rangedSelectionInitialExtent() const;
+        WEBCORE_EXPORT void recursiveSetUpdateAppearanceEnabled(bool);
+        WEBCORE_EXPORT NSArray* interpretationsForCurrentRoot() const;
 #endif
         void suspendActiveDOMObjectsAndAnimations();
         void resumeActiveDOMObjectsAndAnimations();
index 094b521..90488d9 100644 (file)
@@ -34,16 +34,16 @@ class Frame;
 
 class FrameDestructionObserver {
 public:
-    WEBCORE_TESTING explicit FrameDestructionObserver(Frame*);
+    WEBCORE_EXPORT explicit FrameDestructionObserver(Frame*);
 
-    WEBCORE_TESTING virtual void frameDestroyed();
-    WEBCORE_TESTING virtual void willDetachPage();
+    WEBCORE_EXPORT virtual void frameDestroyed();
+    WEBCORE_EXPORT virtual void willDetachPage();
 
     Frame* frame() const { return m_frame; }
 
 protected:
-    WEBCORE_TESTING virtual ~FrameDestructionObserver();
-    WEBCORE_TESTING void observeFrame(Frame*);
+    WEBCORE_EXPORT virtual ~FrameDestructionObserver();
+    WEBCORE_EXPORT void observeFrame(Frame*);
 
     Frame* m_frame;
 };
index 8bb2dec..c54f47d 100644 (file)
@@ -45,9 +45,9 @@ namespace WebCore {
 
         const AtomicString& name() const { return m_name; }
         const AtomicString& uniqueName() const { return m_uniqueName; }
-        void setName(const AtomicString&);
-        void clearName();
-        Frame* parent() const;
+        WEBCORE_EXPORT void setName(const AtomicString&);
+        WEBCORE_EXPORT void clearName();
+        WEBCORE_EXPORT Frame* parent() const;
         void setParent(Frame* parent) { m_parent = parent; }
         
         Frame* nextSibling() const { return m_nextSibling.get(); }
@@ -55,24 +55,24 @@ namespace WebCore {
         Frame* firstChild() const { return m_firstChild.get(); }
         Frame* lastChild() const { return m_lastChild; }
 
-        bool isDescendantOf(const Frame* ancestor) const;
-        Frame* traverseNext(const Frame* stayWithin = 0) const;
-        Frame* traverseNextWithWrap(bool) const;
-        Frame* traversePreviousWithWrap(bool) const;
+        WEBCORE_EXPORT bool isDescendantOf(const Frame* ancestor) const;
+        WEBCORE_EXPORT Frame* traverseNext(const Frame* stayWithin = 0) const;
+        WEBCORE_EXPORT Frame* traverseNextWithWrap(bool) const;
+        WEBCORE_EXPORT Frame* traversePreviousWithWrap(bool) const;
         
-        void appendChild(PassRefPtr<Frame>);
+        WEBCORE_EXPORT void appendChild(PassRefPtr<Frame>);
         bool transferChild(PassRefPtr<Frame>);
         void detachFromParent() { m_parent = 0; }
         void removeChild(Frame*);
 
         Frame* child(unsigned index) const;
         Frame* child(const AtomicString& name) const;
-        Frame* find(const AtomicString& name) const;
-        unsigned childCount() const;
+        WEBCORE_EXPORT Frame* find(const AtomicString& name) const;
+        WEBCORE_EXPORT unsigned childCount() const;
 
         AtomicString uniqueChildName(const AtomicString& requestedName) const;
 
-        Frame& top() const;
+        WEBCORE_EXPORT Frame& top() const;
 
         Frame* scopedChild(unsigned index) const;
         Frame* scopedChild(const AtomicString& name) const;
index 1789472..f3c70e7 100644 (file)
@@ -67,14 +67,14 @@ public:
     friend class RenderView;
     friend class Internals;
 
-    static PassRefPtr<FrameView> create(Frame&);
+    WEBCORE_EXPORT static PassRefPtr<FrameView> create(Frame&);
     static PassRefPtr<FrameView> create(Frame&, const IntSize& initialSize);
 
     virtual ~FrameView();
 
     virtual HostWindow* hostWindow() const override;
     
-    virtual void invalidateRect(const IntRect&) override;
+    WEBCORE_EXPORT virtual void invalidateRect(const IntRect&) override;
     virtual void setFrameRect(const IntRect&) override;
 
 #if ENABLE(REQUEST_ANIMATION_FRAME)
@@ -83,7 +83,7 @@ public:
 
     Frame& frame() const { return *m_frame; }
 
-    RenderView* renderView() const;
+    WEBCORE_EXPORT RenderView* renderView() const;
 
     int mapFromLayoutToCSSUnits(LayoutUnit) const;
     LayoutUnit mapFromCSSToLayoutUnits(int) const;
@@ -93,8 +93,8 @@ public:
     void setMarginWidth(LayoutUnit);
     void setMarginHeight(LayoutUnit);
 
-    virtual void setCanHaveScrollbars(bool) override;
-    void updateCanHaveScrollbars();
+    WEBCORE_EXPORT virtual void setCanHaveScrollbars(bool) override;
+    WEBCORE_EXPORT void updateCanHaveScrollbars();
 
     virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation) override;
 
@@ -103,7 +103,7 @@ public:
     virtual void setContentsSize(const IntSize&) override;
 
     void layout(bool allowSubtree = true);
-    bool didFirstLayout() const;
+    WEBCORE_EXPORT bool didFirstLayout() const;
     void layoutTimerFired(Timer<FrameView>&);
     void scheduleRelayout();
     void scheduleRelayoutOfSubtree(RenderElement&);
@@ -115,31 +115,31 @@ public:
     void clearLayoutRoot() { m_layoutRoot = nullptr; }
     int layoutCount() const { return m_layoutCount; }
 
-    bool needsLayout() const;
-    void setNeedsLayout();
+    WEBCORE_EXPORT bool needsLayout() const;
+    WEBCORE_EXPORT void setNeedsLayout();
     void setViewportConstrainedObjectsNeedLayout();
 
     bool needsFullRepaint() const { return m_needsFullRepaint; }
 
-    bool renderedCharactersExceed(unsigned threshold);
+    WEBCORE_EXPORT bool renderedCharactersExceed(unsigned threshold);
 
 #if PLATFORM(IOS)
     bool useCustomFixedPositionLayoutRect() const { return m_useCustomFixedPositionLayoutRect; }
     IntRect customFixedPositionLayoutRect() const { return m_customFixedPositionLayoutRect; }
-    void setCustomFixedPositionLayoutRect(const IntRect&);
+    WEBCORE_EXPORT void setCustomFixedPositionLayoutRect(const IntRect&);
     bool updateFixedPositionLayoutRect();
 
     IntSize customSizeForResizeEvent() const { return m_customSizeForResizeEvent; }
-    void setCustomSizeForResizeEvent(IntSize);
+    WEBCORE_EXPORT void setCustomSizeForResizeEvent(IntSize);
 
-    void setScrollVelocity(double horizontalVelocity, double verticalVelocity, double scaleChangeRate, double timestamp);
+    WEBCORE_EXPORT void setScrollVelocity(double horizontalVelocity, double verticalVelocity, double scaleChangeRate, double timestamp);
     FloatRect computeCoverageRect(double horizontalMargin, double verticalMargin) const;
 #else
     bool useCustomFixedPositionLayoutRect() const { return false; }
 #endif
 
 #if ENABLE(REQUEST_ANIMATION_FRAME)
-    void serviceScriptedAnimations(double monotonicAnimationStartTime);
+    WEBCORE_EXPORT void serviceScriptedAnimations(double monotonicAnimationStartTime);
 #endif
 
     void updateCompositingLayersAfterStyleChange();
@@ -153,10 +153,10 @@ public:
     // content rendered via the normal painting path.
     void setNeedsOneShotDrawingSynchronization();
 
-    GraphicsLayer* graphicsLayerForPlatformWidget(PlatformWidget);
-    void scheduleLayerFlushAllowingThrottling();
+    WEBCORE_EXPORT GraphicsLayer* graphicsLayerForPlatformWidget(PlatformWidget);
+    WEBCORE_EXPORT void scheduleLayerFlushAllowingThrottling();
 
-    virtual TiledBacking* tiledBacking() const override;
+    WEBCORE_EXPORT virtual TiledBacking* tiledBacking() const override;
 
     // In the future when any ScrollableArea can have a node in th ScrollingTree, this should
     // become a virtual function on ScrollableArea.
@@ -166,16 +166,16 @@ public:
     bool hasCompositedContent() const;
     bool hasCompositedContentIncludingDescendants() const;
     bool hasCompositingAncestor() const;
-    void enterCompositingMode();
-    bool isEnclosedInCompositingLayer() const;
+    WEBCORE_EXPORT void enterCompositingMode();
+    WEBCORE_EXPORT bool isEnclosedInCompositingLayer() const;
 
     // Only used with accelerated compositing, but outside the #ifdef to make linkage easier.
     // Returns true if the flush was completed.
-    bool flushCompositingStateIncludingSubframes();
+    WEBCORE_EXPORT bool flushCompositingStateIncludingSubframes();
 
     // Returns true when a paint with the PaintBehaviorFlattenCompositingLayers flag set gives
     // a faithful representation of the content.
-    bool isSoftwareRenderable() const;
+    WEBCORE_EXPORT bool isSoftwareRenderable() const;
 
     void didMoveOnscreen();
     void willMoveOffscreen();
@@ -189,14 +189,14 @@ public:
 
     void clear();
 
-    bool isTransparent() const;
-    void setTransparent(bool isTransparent);
+    WEBCORE_EXPORT bool isTransparent() const;
+    WEBCORE_EXPORT void setTransparent(bool isTransparent);
     
     // True if the FrameView is not transparent, and the base background color is opaque.
     bool hasOpaqueBackground() const;
 
-    Color baseBackgroundColor() const;
-    void setBaseBackgroundColor(const Color&);
+    WEBCORE_EXPORT Color baseBackgroundColor() const;
+    WEBCORE_EXPORT void setBaseBackgroundColor(const Color&);
     void updateBackgroundRecursively(const Color&, bool);
 
     enum ExtendedBackgroundModeFlags {
@@ -215,16 +215,16 @@ public:
     IntRect extendedBackgroundRectForPainting() const;
 
     bool shouldUpdateWhileOffscreen() const;
-    void setShouldUpdateWhileOffscreen(bool);
+    WEBCORE_EXPORT void setShouldUpdateWhileOffscreen(bool);
     bool shouldUpdate() const;
 
-    void adjustViewSize();
+    WEBCORE_EXPORT void adjustViewSize();
     
-    void setViewportSizeForCSSViewportUnits(IntSize);
+    WEBCORE_EXPORT void setViewportSizeForCSSViewportUnits(IntSize);
     IntSize viewportSizeForCSSViewportUnits() const;
     
     virtual IntRect windowClipRect(bool clipToContents = true) const override;
-    IntRect windowClipRectForFrameOwner(const HTMLFrameOwnerElement*, bool clipToLayerContents) const;
+    WEBCORE_EXPORT IntRect windowClipRectForFrameOwner(const HTMLFrameOwnerElement*, bool clipToLayerContents) const;
 
     virtual IntRect windowResizerRect() const override;
 
@@ -233,14 +233,14 @@ public:
 #if USE(TILED_BACKING_STORE)
     virtual void setFixedVisibleContentRect(const IntRect&) override;
 #endif
-    virtual void setScrollPosition(const IntPoint&) override;
-    void scrollPositionChangedViaPlatformWidget(const IntPoint& oldPosition, const IntPoint& newPosition);
+    WEBCORE_EXPORT virtual void setScrollPosition(const IntPoint&) override;
+    WEBCORE_EXPORT void scrollPositionChangedViaPlatformWidget(const IntPoint& oldPosition, const IntPoint& newPosition);
     virtual void updateLayerPositionsAfterScrolling() override;
     virtual void updateCompositingLayersAfterScrolling() override;
     virtual bool requestScrollPositionUpdate(const IntPoint&) override;
     virtual bool isRubberBandInProgress() const override;
-    virtual IntPoint minimumScrollPosition() const override;
-    virtual IntPoint maximumScrollPosition() const override;
+    WEBCORE_EXPORT virtual IntPoint minimumScrollPosition() const override;
+    WEBCORE_EXPORT virtual IntPoint maximumScrollPosition() const override;
     void delayedScrollEventTimerFired(Timer<FrameView>&);
 
     void resumeVisibleImageAnimationsIncludingSubframes();
@@ -250,7 +250,7 @@ public:
     LayoutRect viewportConstrainedVisibleContentRect() const;
 
     String mediaType() const;
-    void setMediaType(const String&);
+    WEBCORE_EXPORT void setMediaType(const String&);
     void adjustMediaTypeForPrinting(bool printing);
 
     void setCannotBlitToWindow();
@@ -280,33 +280,33 @@ public:
     // These layers are positioned differently when there is a topContentInset, a header, or a footer. These value need to be computed
     // on both the main thread and the scrolling thread.
     static float yPositionForInsetClipLayer(const FloatPoint& scrollPosition, float topContentInset);
-    static float yPositionForRootContentLayer(const FloatPoint& scrollPosition, float topContentInset, float headerHeight);
+    WEBCORE_EXPORT static float yPositionForRootContentLayer(const FloatPoint& scrollPosition, float topContentInset, float headerHeight);
     static float yPositionForHeaderLayer(const FloatPoint& scrollPosition, float topContentInset);
     static float yPositionForFooterLayer(const FloatPoint& scrollPosition, float topContentInset, float totalContentsHeight, float footerHeight);
 
 #if PLATFORM(IOS)
-    LayoutRect viewportConstrainedObjectsRect() const;
+    WEBCORE_EXPORT LayoutRect viewportConstrainedObjectsRect() const;
     // Static function can be called from another thread.
-    static LayoutRect rectForViewportConstrainedObjects(const LayoutRect& visibleContentRect, const LayoutSize& totalContentsSize, float frameScaleFactor, bool fixedElementsLayoutRelativeToFrame, ScrollBehaviorForFixedElements);
+    WEBCORE_EXPORT static LayoutRect rectForViewportConstrainedObjects(const LayoutRect& visibleContentRect, const LayoutSize& totalContentsSize, float frameScaleFactor, bool fixedElementsLayoutRelativeToFrame, ScrollBehaviorForFixedElements);
 #endif
     
     bool fixedElementsLayoutRelativeToFrame() const;
 
-    void disableLayerFlushThrottlingTemporarilyForInteraction();
+    WEBCORE_EXPORT void disableLayerFlushThrottlingTemporarilyForInteraction();
     bool speculativeTilingEnabled() const { return m_speculativeTilingEnabled; }
     void loadProgressingStatusChanged();
 
 #if ENABLE(DASHBOARD_SUPPORT)
     void updateAnnotatedRegions();
 #endif
-    void updateControlTints();
+    WEBCORE_EXPORT void updateControlTints();
 
     void restoreScrollbar();
 
     void postLayoutTimerFired(Timer<FrameView>&);
 
-    bool wasScrolledByUser() const;
-    void setWasScrolledByUser(bool);
+    WEBCORE_EXPORT bool wasScrolledByUser() const;
+    WEBCORE_EXPORT void setWasScrolledByUser(bool);
 
     bool safeToPropagateScrollToParent() const { return m_safeToPropagateScrollToParent; }
     void setSafeToPropagateScrollToParent(bool isSafe) { m_safeToPropagateScrollToParent = isSafe; }
@@ -314,7 +314,7 @@ public:
     void addEmbeddedObjectToUpdate(RenderEmbeddedObject&);
     void removeEmbeddedObjectToUpdate(RenderEmbeddedObject&);
 
-    virtual void paintContents(GraphicsContext*, const IntRect& dirtyRect) override;
+    WEBCORE_EXPORT virtual void paintContents(GraphicsContext*, const IntRect& dirtyRect) override;
 
     struct PaintingState {
         PaintBehavior paintBehavior;
@@ -331,39 +331,39 @@ public:
     void willPaintContents(GraphicsContext*, const IntRect& dirtyRect, PaintingState&);
     void didPaintContents(GraphicsContext*, const IntRect& dirtyRect, PaintingState&);
 
-    void setPaintBehavior(PaintBehavior);
-    PaintBehavior paintBehavior() const;
+    WEBCORE_EXPORT void setPaintBehavior(PaintBehavior);
+    WEBCORE_EXPORT PaintBehavior paintBehavior() const;
     bool isPainting() const;
     bool hasEverPainted() const { return m_lastPaintTime; }
     void setLastPaintTime(double lastPaintTime) { m_lastPaintTime = lastPaintTime; }
-    void setNodeToDraw(Node*);
+    WEBCORE_EXPORT void setNodeToDraw(Node*);
 
     enum SelectionInSnapshot { IncludeSelection, ExcludeSelection };
     enum CoordinateSpaceForSnapshot { DocumentCoordinates, ViewCoordinates };
-    void paintContentsForSnapshot(GraphicsContext*, const IntRect& imageRect, SelectionInSnapshot shouldPaintSelection, CoordinateSpaceForSnapshot);
+    WEBCORE_EXPORT void paintContentsForSnapshot(GraphicsContext*, const IntRect& imageRect, SelectionInSnapshot shouldPaintSelection, CoordinateSpaceForSnapshot);
 
     virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect) override;
     virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect) override;
     virtual void paintScrollbar(GraphicsContext*, Scrollbar*, const IntRect&) override;
 
-    Color documentBackgroundColor() const;
+    WEBCORE_EXPORT Color documentBackgroundColor() const;
 
     bool isInChildFrameWithFrameFlattening() const;
 
     static double currentPaintTimeStamp() { return sCurrentPaintTimeStamp; } // returns 0 if not painting
     
-    void updateLayoutAndStyleIfNeededRecursive();
+    WEBCORE_EXPORT void updateLayoutAndStyleIfNeededRecursive();
 
     void incrementVisuallyNonEmptyCharacterCount(unsigned);
     void incrementVisuallyNonEmptyPixelCount(const IntSize&);
     void updateIsVisuallyNonEmpty();
     bool isVisuallyNonEmpty() const { return m_isVisuallyNonEmpty; }
-    void enableAutoSizeMode(bool enable, const IntSize& minSize, const IntSize& maxSize);
-    void setAutoSizeFixedMinimumHeight(int fixedMinimumHeight);
+    WEBCORE_EXPORT void enableAutoSizeMode(bool enable, const IntSize& minSize, const IntSize& maxSize);
+    WEBCORE_EXPORT void setAutoSizeFixedMinimumHeight(int);
     IntSize autoSizingIntrinsicContentSize() const { return m_autoSizeContentSize; }
 
-    void forceLayout(bool allowSubtree = false);
-    void forceLayoutForPagination(const FloatSize& pageSize, const FloatSize& originalPageSize, float maximumShrinkFactor, AdjustViewSizeOrNot);
+    WEBCORE_EXPORT void forceLayout(bool allowSubtree = false);
+    WEBCORE_EXPORT void forceLayoutForPagination(const FloatSize& pageSize, const FloatSize& originalPageSize, float maximumShrinkFactor, AdjustViewSizeOrNot);
 
     // FIXME: This method is retained because of embedded WebViews in AppKit.  When a WebView is embedded inside
     // some enclosing view with auto-pagination, no call happens to resize the view.  The new pagination model
@@ -381,18 +381,18 @@ public:
     // but that doesn't solve the general problem of how other AppKit views could opt in to the better model.
     //
     // NO OTHER PLATFORM BESIDES MAC SHOULD USE THIS METHOD.
-    void adjustPageHeightDeprecated(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
+    WEBCORE_EXPORT void adjustPageHeightDeprecated(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
 
     bool scrollToFragment(const URL&);
     bool scrollToAnchor(const String&);
     void maintainScrollPositionAtAnchor(Node*);
-    void scrollElementToRect(Element*, const IntRect&);
+    WEBCORE_EXPORT void scrollElementToRect(Element*, const IntRect&);
 
     // Methods to convert points and rects between the coordinate space of the renderer, and this view.
-    IntRect convertFromRendererToContainingView(const RenderElement*, const IntRect&) const;
-    IntRect convertFromContainingViewToRenderer(const RenderElement*, const IntRect&) const;
-    IntPoint convertFromRendererToContainingView(const RenderElement*, const IntPoint&) const;
-    IntPoint convertFromContainingViewToRenderer(const RenderElement*, const IntPoint&) const;
+    WEBCORE_EXPORT IntRect convertFromRendererToContainingView(const RenderElement*, const IntRect&) const;
+    WEBCORE_EXPORT IntRect convertFromContainingViewToRenderer(const RenderElement*, const IntRect&) const;
+    WEBCORE_EXPORT IntPoint convertFromRendererToContainingView(const RenderElement*, const IntPoint&) const;
+    WEBCORE_EXPORT IntPoint convertFromContainingViewToRenderer(const RenderElement*, const IntPoint&) const;
 
     bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
 
@@ -413,17 +413,17 @@ public:
 
     RenderBox* embeddedContentBox() const;
     
-    void setTracksRepaints(bool);
+    WEBCORE_EXPORT void setTracksRepaints(bool);
     bool isTrackingRepaints() const { return m_isTrackingRepaints; }
-    void resetTrackedRepaints();
+    WEBCORE_EXPORT void resetTrackedRepaints();
     const Vector<FloatRect>& trackedRepaintRects() const { return m_trackedRepaintRects; }
     String trackedRepaintRectsAsText() const;
 
     typedef HashSet<ScrollableArea*> ScrollableAreaSet;
     // Returns whether the scrollable area has just been newly added.
-    bool addScrollableArea(ScrollableArea*);
+    WEBCORE_EXPORT bool addScrollableArea(ScrollableArea*);
     // Returns whether the scrollable area has just been removed.
-    bool removeScrollableArea(ScrollableArea*);
+    WEBCORE_EXPORT bool removeScrollableArea(ScrollableArea*);
     bool containsScrollableArea(ScrollableArea*) const;
     const ScrollableAreaSet* scrollableAreas() const { return m_scrollableAreas.get(); }
 
@@ -434,7 +434,7 @@ public:
     // we need this function in order to do the scroll ourselves.
     bool wheelEvent(const PlatformWheelEvent&);
 
-    void setScrollingPerformanceLoggingEnabled(bool);
+    WEBCORE_EXPORT void setScrollingPerformanceLoggingEnabled(bool);
 
     // Page and FrameView both store a Pagination value. Page::pagination() is set only by API,
     // and FrameView::pagination() is set only by CSS. Page::pagination() will affect all
@@ -458,20 +458,20 @@ public:
     virtual bool forceUpdateScrollbarsOnMainThreadForPerformanceTesting() const override;
 
 #if ENABLE(RUBBER_BANDING)
-    GraphicsLayer* setWantsLayerForTopOverHangArea(bool) const;
-    GraphicsLayer* setWantsLayerForBottomOverHangArea(bool) const;
+    WEBCORE_EXPORT GraphicsLayer* setWantsLayerForTopOverHangArea(bool) const;
+    WEBCORE_EXPORT GraphicsLayer* setWantsLayerForBottomOverHangArea(bool) const;
 #endif
 
     virtual int headerHeight() const override { return m_headerHeight; }
-    void setHeaderHeight(int);
+    WEBCORE_EXPORT void setHeaderHeight(int);
     virtual int footerHeight() const override { return m_footerHeight; }
-    void setFooterHeight(int);
+    WEBCORE_EXPORT void setFooterHeight(int);
 
-    virtual float topContentInset(TopContentInsetType = TopContentInsetType::WebCoreContentInset) const override;
+    WEBCORE_EXPORT virtual float topContentInset(TopContentInsetType = TopContentInsetType::WebCoreContentInset) const override;
     void topContentInsetDidChange(float newTopContentInset);
 
-    virtual void willStartLiveResize() override;
-    virtual void willEndLiveResize() override;
+    WEBCORE_EXPORT virtual void willStartLiveResize() override;
+    WEBCORE_EXPORT virtual void willEndLiveResize() override;
 
     void addPaintPendingMilestones(LayoutMilestones);
     void firePaintRelatedMilestonesIfNeeded();
@@ -479,9 +479,9 @@ public:
     LayoutMilestones milestonesPendingPaint() const { return m_milestonesPendingPaint; }
 
     bool visualUpdatesAllowedByClient() const { return m_visualUpdatesAllowedByClient; }
-    void setVisualUpdatesAllowedByClient(bool);
+    WEBCORE_EXPORT void setVisualUpdatesAllowedByClient(bool);
 
-    void setScrollPinningBehavior(ScrollPinningBehavior);
+    WEBCORE_EXPORT void setScrollPinningBehavior(ScrollPinningBehavior);
 
     ScrollBehaviorForFixedElements scrollBehaviorForFixedElements() const;
 
@@ -495,7 +495,7 @@ public:
     // of the view is actually exposed on screen (taking into account
     // clipping by other UI elements), whereas visibleContentRect is
     // internal to WebCore and doesn't respect those things.
-    void setExposedRect(FloatRect);
+    WEBCORE_EXPORT void setExposedRect(FloatRect);
     FloatRect exposedRect() const { return m_exposedRect; }
 
 #if ENABLE(CSS_SCROLL_SNAP)
@@ -545,14 +545,14 @@ private:
 
     void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
 
-    void paintControlTints();
+    WEBCORE_EXPORT void paintControlTints();
 
     void forceLayoutParentViewIfNeeded();
     void performPostLayoutTasks();
     void autoSizeIfEnabled();
 
     void updateLayerFlushThrottling();
-    void adjustTiledBackingCoverage();
+    WEBCORE_EXPORT void adjustTiledBackingCoverage();
 
     virtual void repaintContentRectangle(const IntRect&) override;
     virtual void contentsResized() override;
index 653a096..91105a6 100644 (file)
@@ -116,16 +116,16 @@ class Page : public Supplementable<Page> {
     friend class PageThrottler;
 
 public:
-    static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
-    static void clearPreviousItemFromAllPages(HistoryItem*);
+    WEBCORE_EXPORT static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
+    WEBCORE_EXPORT static void clearPreviousItemFromAllPages(HistoryItem*);
 
     // It is up to the platform to ensure that non-null clients are provided where required.
     // FIXME: Rename this to PageConfiguration and move it to its own class.
     struct PageClients {
         WTF_MAKE_NONCOPYABLE(PageClients); WTF_MAKE_FAST_ALLOCATED;
     public:
-        PageClients();
-        ~PageClients();
+        WEBCORE_EXPORT PageClients();
+        WEBCORE_EXPORT ~PageClients();
 
         AlternativeTextClient* alternativeTextClient;
         ChromeClient* chromeClient;
@@ -145,21 +145,21 @@ public:
         RefPtr<VisitedLinkStore> visitedLinkStore;
     };
 
-    explicit Page(PageClients&);
-    ~Page();
+    WEBCORE_EXPORT explicit Page(PageClients&);
+    WEBCORE_EXPORT ~Page();
 
-    uint64_t renderTreeSize() const;
+    WEBCORE_EXPORT uint64_t renderTreeSize() const;
 
     void setNeedsRecalcStyleInAllFrames();
 
     RenderTheme& theme() const { return *m_theme; }
 
-    ViewportArguments viewportArguments() const;
+    WEBCORE_EXPORT ViewportArguments viewportArguments() const;
 
     static void refreshPlugins(bool reload);
-    PluginData& pluginData() const;
+    WEBCORE_EXPORT PluginData& pluginData() const;
 
-    void setCanStartMedia(bool);
+    WEBCORE_EXPORT void setCanStartMedia(bool);
     bool canStartMedia() const { return m_canStartMedia; }
 
     EditorClient* editorClient() const { return m_editorClient; }
@@ -171,10 +171,10 @@ public:
     bool openedByDOM() const;
     void setOpenedByDOM();
 
-    void goToItem(HistoryItem*, FrameLoadType);
+    WEBCORE_EXPORT void goToItem(HistoryItem*, FrameLoadType);
 
-    void setGroupName(const String&);
-    const String& groupName() const;
+    WEBCORE_EXPORT void setGroupName(const String&);
+    WEBCORE_EXPORT const String& groupName() const;
 
     PageGroup& group();
     PageGroup* groupPtr() { return m_group; } // can return 0
@@ -184,8 +184,8 @@ public:
     int subframeCount() const { checkSubframeCountConsistency(); return m_subframeCount; }
 
 #if ENABLE(REMOTE_INSPECTOR)
-    bool remoteInspectionAllowed() const;
-    void setRemoteInspectionAllowed(bool);
+    WEBCORE_EXPORT bool remoteInspectionAllowed() const;
+    WEBCORE_EXPORT void setRemoteInspectionAllowed(bool);
     void remoteInspectorInformationDidChange() const;
 #endif
 
@@ -212,9 +212,9 @@ public:
 
     ScrollingCoordinator* scrollingCoordinator();
 
-    String scrollingStateTreeAsText();
-    String synchronousScrollingReasonsAsText();
-    PassRefPtr<ClientRectList> nonFastScrollableRects(const Frame*);
+    WEBCORE_EXPORT String scrollingStateTreeAsText();
+    WEBCORE_EXPORT String synchronousScrollingReasonsAsText();
+    WEBCORE_EXPORT PassRefPtr<ClientRectList> nonFastScrollableRects(const Frame*);
 
     Settings& settings() const { return *m_settings; }
     ProgressTracker& progress() const { return *m_progress; }
@@ -232,20 +232,20 @@ public:
     static ViewMode stringToViewMode(const String&);
 
     ViewMode viewMode() const { return m_viewMode; }
-    void setViewMode(ViewMode);
+    WEBCORE_EXPORT void setViewMode(ViewMode);
 #endif // ENABLE(VIEW_MODE_CSS_MEDIA)
 
     void setTabKeyCyclesThroughElements(bool b) { m_tabKeyCyclesThroughElements = b; }
     bool tabKeyCyclesThroughElements() const { return m_tabKeyCyclesThroughElements; }
 
-    bool findString(const String&, FindOptions);
+    WEBCORE_EXPORT bool findString(const String&, FindOptions);
 
-    PassRefPtr<Range> rangeOfString(const String&, Range*, FindOptions);
+    WEBCORE_EXPORT PassRefPtr<Range> rangeOfString(const String&, Range*, FindOptions);
 
-    unsigned countFindMatches(const String&, FindOptions, unsigned maxMatchCount);
-    unsigned markAllMatchesForText(const String&, FindOptions, bool shouldHighlight, unsigned maxMatchCount);
+    WEBCORE_EXPORT unsigned countFindMatches(const String&, FindOptions, unsigned maxMatchCount);
+    WEBCORE_EXPORT unsigned markAllMatchesForText(const String&, FindOptions, bool shouldHighlight, unsigned maxMatchCount);
 
-    void unmarkAllTextMatches();
+    WEBCORE_EXPORT void unmarkAllTextMatches();
 
     // find all the Ranges for the matching text.
     // Upon return, indexForSelection will be one of the following:
@@ -253,39 +253,39 @@ public:
     // the index of the first range after the user selection
     // NoMatchAfterUserSelection if there is no matching text after the user selection.
     enum { NoMatchAfterUserSelection = -1 };
-    void findStringMatchingRanges(const String&, FindOptions, int maxCount, Vector<RefPtr<Range>>&, int& indexForSelection);
+    WEBCORE_EXPORT void findStringMatchingRanges(const String&, FindOptions, int maxCount, Vector<RefPtr<Range>>&, int& indexForSelection);
 #if PLATFORM(COCOA)
-    void addSchedulePair(PassRefPtr<SchedulePair>);
-    void removeSchedulePair(PassRefPtr<SchedulePair>);
+    WEBCORE_EXPORT void addSchedulePair(PassRefPtr<SchedulePair>);
+    WEBCORE_EXPORT void removeSchedulePair(PassRefPtr<SchedulePair>);
     SchedulePairHashSet* scheduledRunLoopPairs() { return m_scheduledRunLoopPairs.get(); }
 
     std::unique_ptr<SchedulePairHashSet> m_scheduledRunLoopPairs;
 #endif
 
-    const VisibleSelection& selection() const;
+    WEBCORE_EXPORT const VisibleSelection& selection() const;
 
-    void setDefersLoading(bool);
+    WEBCORE_EXPORT void setDefersLoading(bool);
     bool defersLoading() const { return m_defersLoading; }
 
-    void clearUndoRedoOperations();
+    WEBCORE_EXPORT void clearUndoRedoOperations();
 
-    bool inLowQualityImageInterpolationMode() const;
-    void setInLowQualityImageInterpolationMode(bool = true);
+    WEBCORE_EXPORT bool inLowQualityImageInterpolationMode() const;
+    WEBCORE_EXPORT void setInLowQualityImageInterpolationMode(bool = true);
 
     float mediaVolume() const { return m_mediaVolume; }
-    void setMediaVolume(float);
+    WEBCORE_EXPORT void setMediaVolume(float);
 
-    void setPageScaleFactor(float scale, const IntPoint& origin, bool inStableState = true);
+    WEBCORE_EXPORT void setPageScaleFactor(float scale, const IntPoint& origin, bool inStableState = true);
     float pageScaleFactor() const { return m_pageScaleFactor; }
 
-    void setZoomedOutPageScaleFactor(float);
+    WEBCORE_EXPORT void setZoomedOutPageScaleFactor(float);
     float zoomedOutPageScaleFactor() const { return m_zoomedOutPageScaleFactor; }
 
     float deviceScaleFactor() const { return m_deviceScaleFactor; }
-    void setDeviceScaleFactor(float);
+    WEBCORE_EXPORT void setDeviceScaleFactor(float);
 
     float topContentInset() const { return m_topContentInset; }
-    void setTopContentInset(float);
+    WEBCORE_EXPORT void setTopContentInset(float);
     
 #if ENABLE(IOS_TEXT_AUTOSIZING)
     float textAutosizingWidth() const { return m_textAutosizingWidth; }
@@ -293,13 +293,13 @@ public:
 #endif
     
     bool shouldSuppressScrollbarAnimations() const { return m_suppressScrollbarAnimations; }
-    void setShouldSuppressScrollbarAnimations(bool suppressAnimations);
+    WEBCORE_EXPORT void setShouldSuppressScrollbarAnimations(bool suppressAnimations);
     void lockAllOverlayScrollbarsToHidden(bool lockOverlayScrollbars);
     
-    void setVerticalScrollElasticity(ScrollElasticity);
+    WEBCORE_EXPORT void setVerticalScrollElasticity(ScrollElasticity);
     ScrollElasticity verticalScrollElasticity() const { return static_cast<ScrollElasticity>(m_verticalScrollElasticity); }
 
-    void setHorizontalScrollElasticity(ScrollElasticity);
+    WEBCORE_EXPORT void setHorizontalScrollElasticity(ScrollElasticity);
     ScrollElasticity horizontalScrollElasticity() const { return static_cast<ScrollElasticity>(m_horizontalScrollElasticity); }
     
     // Page and FrameView both store a Pagination value. Page::pagination() is set only by API,
@@ -307,18 +307,18 @@ public:
     // FrameViews in the page cache, but FrameView::pagination() only affects the current
     // FrameView.
     const Pagination& pagination() const { return m_pagination; }
-    void setPagination(const Pagination&);
+    WEBCORE_EXPORT void setPagination(const Pagination&);
 
-    unsigned pageCount() const;
+    WEBCORE_EXPORT unsigned pageCount() const;
 
     // Notifications when the Page starts and stops being presented via a native window.
-    void setViewState(ViewState::Flags);
-    void setIsVisible(bool);
-    void setIsPrerender();
+    WEBCORE_EXPORT void setViewState(ViewState::Flags);
+    WEBCORE_EXPORT void setIsVisible(bool);
+    WEBCORE_EXPORT void setIsPrerender();
     bool isVisible() const { return m_viewState & ViewState::IsVisible; }
 
     // Notification that this Page was moved into or out of a native window.
-    void setIsInWindow(bool);
+    WEBCORE_EXPORT void setIsInWindow(bool);
     bool isInWindow() const { return m_viewState & ViewState::IsInWindow; }
 
     void setIsClosing() { m_isClosing = true; }
@@ -327,8 +327,8 @@ public:
     void addViewStateChangeObserver(ViewStateChangeObserver&);
     void removeViewStateChangeObserver(ViewStateChangeObserver&);
 
-    void suspendScriptedAnimations();
-    void resumeScriptedAnimations();
+    WEBCORE_EXPORT void suspendScriptedAnimations();
+    WEBCORE_EXPORT void resumeScriptedAnimations();
     bool scriptedAnimationsSuspended() const { return m_scriptedAnimationsSuspended; }
 
     void userStyleSheetLocationChanged();
@@ -342,8 +342,8 @@ public:
 
     static void removeAllVisitedLinks();
 
-    void invalidateStylesForAllLinks();
-    void invalidateStylesForLink(LinkHash);
+    WEBCORE_EXPORT void invalidateStylesForAllLinks();
+    WEBCORE_EXPORT void invalidateStylesForLink(LinkHash);
 
     StorageNamespace* sessionStorage(bool optionalCreate = true);
     void setSessionStorage(PassRefPtr<StorageNamespace>);
@@ -351,7 +351,7 @@ public:
     bool hasCustomHTMLTokenizerTimeDelay() const;
     double customHTMLTokenizerTimeDelay() const;
 
-    void setMemoryCacheClientCallsEnabled(bool);
+    WEBCORE_EXPORT void setMemoryCacheClientCallsEnabled(bool);
     bool areMemoryCacheClientCallsEnabled() const { return m_areMemoryCacheClientCallsEnabled; }
 
     // Don't allow more than a certain number of frames in a page.
@@ -363,22 +363,22 @@ public:
     void setEditable(bool isEditable) { m_isEditable = isEditable; }
     bool isEditable() { return m_isEditable; }
 
-    PageVisibilityState visibilityState() const;
-    void resumeAnimatingImages();
+    WEBCORE_EXPORT PageVisibilityState visibilityState() const;
+    WEBCORE_EXPORT void resumeAnimatingImages();
 
-    void addLayoutMilestones(LayoutMilestones);
-    void removeLayoutMilestones(LayoutMilestones);
+    WEBCORE_EXPORT void addLayoutMilestones(LayoutMilestones);
+    WEBCORE_EXPORT void removeLayoutMilestones(LayoutMilestones);
     LayoutMilestones requestedLayoutMilestones() const { return m_requestedLayoutMilestones; }
 
 #if ENABLE(RUBBER_BANDING)
-    void addHeaderWithHeight(int);
-    void addFooterWithHeight(int);
+    WEBCORE_EXPORT void addHeaderWithHeight(int);
+    WEBCORE_EXPORT void addFooterWithHeight(int);
 #endif
 
     int headerHeight() const { return m_headerHeight; }
     int footerHeight() const { return m_footerHeight; }
 
-    Color pageExtendedBackgroundColor() const;
+    WEBCORE_EXPORT Color pageExtendedBackgroundColor() const;
 
     bool isCountingRelevantRepaintedObjects() const;
     void startCountingRelevantRepaintedObjects();
@@ -386,8 +386,8 @@ public:
     void addRelevantRepaintedObject(RenderObject*, const LayoutRect& objectPaintRect);
     void addRelevantUnpaintedObject(RenderObject*, const LayoutRect& objectPaintRect);
 
-    void suspendActiveDOMObjectsAndAnimations();
-    void resumeActiveDOMObjectsAndAnimations();
+    WEBCORE_EXPORT void suspendActiveDOMObjectsAndAnimations();
+    WEBCORE_EXPORT void resumeActiveDOMObjectsAndAnimations();
 #ifndef NDEBUG
     void setIsPainting(bool painting) { m_isPainting = painting; }
     bool isPainting() const { return m_isPainting; }
@@ -396,7 +396,7 @@ public:
     AlternativeTextClient* alternativeTextClient() const { return m_alternativeTextClient; }
 
     bool hasSeenPlugin(const String& serviceType) const;
-    bool hasSeenAnyPlugin() const;
+    WEBCORE_EXPORT bool hasSeenAnyPlugin() const;
     void sawPlugin(const String& serviceType);
     void resetSeenPlugins();
 
@@ -406,7 +406,7 @@ public:
     void resetSeenMediaEngines();
 
     PageThrottler* pageThrottler() { return m_pageThrottler.get(); }
-    void createPageThrottler();
+    WEBCORE_EXPORT void createPageThrottler();
 
     PageConsole& console() { return *m_console; }
 
@@ -427,13 +427,13 @@ public:
 
     VisitedLinkStore& visitedLinkStore();
 
-    SessionID sessionID() const;
-    void setSessionID(SessionID);
-    void enableLegacyPrivateBrowsing(bool privateBrowsingEnabled);
+    WEBCORE_EXPORT SessionID sessionID() const;
+    WEBCORE_EXPORT void setSessionID(SessionID);
+    WEBCORE_EXPORT void enableLegacyPrivateBrowsing(bool privateBrowsingEnabled);
     bool usesEphemeralSession() const { return m_sessionID.isEphemeral(); }
 
 private:
-    void initGroup();
+    WEBCORE_EXPORT void initGroup();
 
     void setIsInWindowInternal(bool);
     void setIsVisibleInternal(bool);
@@ -482,7 +482,7 @@ private:
 #if ENABLE(POINTER_LOCK)
     const std::unique_ptr<PointerLockController> m_pointerLockController;
 #endif
-    RefPtr<ScrollingCoordinator> m_scrollingCoordinator;
+    WEBCORE_EXPORT RefPtr<ScrollingCoordinator> m_scrollingCoordinator;
 
     const RefPtr<Settings> m_settings;
     const std::unique_ptr<ProgressTracker> m_progress;
index be6f45f..1c2df41 100644 (file)
@@ -50,8 +50,8 @@ public:
     explicit PageConsole(Page&);
     virtual ~PageConsole();
 
-    static bool shouldPrintExceptions();
-    static void setShouldPrintExceptions(bool);
+    WEBCORE_EXPORT static bool shouldPrintExceptions();
+    WEBCORE_EXPORT static void setShouldPrintExceptions(bool);
 
     static void mute();
     static void unmute();
index 843cbe6..798fffd 100644 (file)
@@ -57,15 +57,15 @@ namespace WebCore {
         explicit PageGroup(Page&);
         ~PageGroup();
 
-        static PageGroup* pageGroup(const String& groupName);
+        WEBCORE_EXPORT static PageGroup* pageGroup(const String& groupName);
 
-        static void closeLocalStorage();
+        WEBCORE_EXPORT static void closeLocalStorage();
 
         static void clearLocalStorageForAllOrigins();
         static void clearLocalStorageForOrigin(SecurityOrigin*);
-        static void closeIdleLocalStorageDatabases();
+        WEBCORE_EXPORT static void closeIdleLocalStorageDatabases();
         // DumpRenderTree helper that triggers a StorageArea sync.
-        static void syncLocalStorage();
+        WEBCORE_EXPORT static void syncLocalStorage();
 
         const HashSet<Page*>& pages() const { return m_pages; }
 
@@ -74,16 +74,16 @@ namespace WebCore {
 
         VisitedLinkStore& visitedLinkStore();
 
-        bool isLinkVisited(LinkHash);
+        WEBCORE_EXPORT bool isLinkVisited(LinkHash);
 
         void addVisitedLink(const URL&);
         void addVisitedLink(const UChar*, size_t);
-        void addVisitedLinkHash(LinkHash);
-        void removeVisitedLink(const URL&);
+        WEBCORE_EXPORT void addVisitedLinkHash(LinkHash);
+        WEBCORE_EXPORT void removeVisitedLink(const URL&);
         void removeVisitedLinks();
 
-        static void setShouldTrackVisitedLinks(bool);
-        static void removeAllVisitedLinks();
+        WEBCORE_EXPORT static void setShouldTrackVisitedLinks(bool);
+        WEBCORE_EXPORT static void removeAllVisitedLinks();
 
         const String& name() { return m_name; }
         unsigned identifier() { return m_identifier; }
@@ -93,23 +93,23 @@ namespace WebCore {
 
         StorageNamespace* transientLocalStorage(SecurityOrigin* topOrigin);
 
-        void addUserScriptToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserScriptInjectionTime, UserContentInjectedFrames);
-        void addUserStyleSheetToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserContentInjectedFrames, UserStyleLevel = UserStyleUserLevel, UserStyleInjectionTime = InjectInExistingDocuments);
-        void removeUserStyleSheetFromWorld(DOMWrapperWorld&, const URL&);
-        void removeUserScriptFromWorld(DOMWrapperWorld&, const URL&);
-        void removeUserScriptsFromWorld(DOMWrapperWorld&);
-        void removeUserStyleSheetsFromWorld(DOMWrapperWorld&);
-        void removeAllUserContent();
+        WEBCORE_EXPORT void addUserScriptToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserScriptInjectionTime, UserContentInjectedFrames);
+        WEBCORE_EXPORT void addUserStyleSheetToWorld(DOMWrapperWorld&, const String& source, const URL&, const Vector<String>& whitelist, const Vector<String>& blacklist, UserContentInjectedFrames, UserStyleLevel = UserStyleUserLevel, UserStyleInjectionTime = InjectInExistingDocuments);
+        WEBCORE_EXPORT void removeUserStyleSheetFromWorld(DOMWrapperWorld&, const URL&);
+        WEBCORE_EXPORT void removeUserScriptFromWorld(DOMWrapperWorld&, const URL&);
+        WEBCORE_EXPORT void removeUserScriptsFromWorld(DOMWrapperWorld&);
+        WEBCORE_EXPORT void removeUserStyleSheetsFromWorld(DOMWrapperWorld&);
+        WEBCORE_EXPORT void removeAllUserContent();
 
         GroupSettings& groupSettings() const { return *m_groupSettings; }
 
 #if ENABLE(VIDEO_TRACK)
-        void captionPreferencesChanged();
+        WEBCORE_EXPORT void captionPreferencesChanged();
         CaptionUserPreferences* captionPreferences();
 #endif
 
     private:
-        void addVisitedLink(LinkHash);
+        WEBCORE_EXPORT void addVisitedLink(LinkHash);
 
         String m_name;
         HashSet<Page*> m_pages;
index 27bfb0f..385afa0 100644 (file)
@@ -59,7 +59,7 @@ private:
     void updateHysteresis();
 
     friend class HysteresisActivity<PageThrottler>;
-    void started();
+    WEBCORE_EXPORT void started();
     void stopped();
 
     Page& m_page;
index 2efd05d..7c51ca4 100644 (file)
@@ -35,8 +35,8 @@ class IntRect;
 
 class PrintContext {
 public:
-    explicit PrintContext(Frame*);
-    ~PrintContext();
+    WEBCORE_EXPORT explicit PrintContext(Frame*);
+    WEBCORE_EXPORT ~PrintContext();
 
     Frame* frame() const { return m_frame; }
 
@@ -44,40 +44,40 @@ public:
     // FIXME: This means that CSS page breaks won't be on page boundary if the size is different than what was passed to begin(). That's probably not always desirable.
     // FIXME: Header and footer height should be applied before layout, not after.
     // FIXME: The printRect argument is only used to determine page aspect ratio, it would be better to pass a FloatSize with page dimensions instead.
-    void computePageRects(const FloatRect& printRect, float headerHeight, float footerHeight, float userScaleFactor, float& outPageHeight, bool allowHorizontalTiling = false);
+    WEBCORE_EXPORT void computePageRects(const FloatRect& printRect, float headerHeight, float footerHeight, float userScaleFactor, float& outPageHeight, bool allowHorizontalTiling = false);
 
     // Deprecated. Page size computation is already in this class, clients shouldn't be copying it.
-    void computePageRectsWithPageSize(const FloatSize& pageSizeInPixels, bool allowHorizontalTiling);
+    WEBCORE_EXPORT void computePageRectsWithPageSize(const FloatSize& pageSizeInPixels, bool allowHorizontalTiling);
 
     // These are only valid after page rects are computed.
     size_t pageCount() const { return m_pageRects.size(); }
     const IntRect& pageRect(size_t pageNumber) const { return m_pageRects[pageNumber]; }
     const Vector<IntRect>& pageRects() const { return m_pageRects; }
 
-    float computeAutomaticScaleFactor(const FloatSize& availablePaperSize);
+    WEBCORE_EXPORT float computeAutomaticScaleFactor(const FloatSize& availablePaperSize);
 
     // Enter print mode, updating layout for new page size.
     // This function can be called multiple times to apply new print options without going back to screen mode.
-    void begin(float width, float height = 0);
+    WEBCORE_EXPORT void begin(float width, float height = 0);
 
     // FIXME: eliminate width argument.
-    void spoolPage(GraphicsContext& ctx, int pageNumber, float width);
+    WEBCORE_EXPORT void spoolPage(GraphicsContext& ctx, int pageNumber, float width);
 
-    void spoolRect(GraphicsContext& ctx, const IntRect&);
+    WEBCORE_EXPORT void spoolRect(GraphicsContext& ctx, const IntRect&);
 
     // Return to screen mode.
-    void end();
+    WEBCORE_EXPORT void end();
 
     // Used by layout tests.
-    static int pageNumberForElement(Element*, const FloatSize& pageSizeInPixels); // Returns -1 if page isn't found.
-    static String pageProperty(Frame* frame, const char* propertyName, int pageNumber);
-    static bool isPageBoxVisible(Frame* frame, int pageNumber);
-    static String pageSizeAndMarginsInPixels(Frame* frame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
-    static int numberOfPages(Frame*, const FloatSize& pageSizeInPixels);
+    WEBCORE_EXPORT static int pageNumberForElement(Element*, const FloatSize& pageSizeInPixels); // Returns -1 if page isn't found.
+    WEBCORE_EXPORT static String pageProperty(Frame*, const char* propertyName, int pageNumber);
+    WEBCORE_EXPORT static bool isPageBoxVisible(Frame*, int pageNumber);
+    WEBCORE_EXPORT static String pageSizeAndMarginsInPixels(Frame*, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
+    WEBCORE_EXPORT static int numberOfPages(Frame*, const FloatSize& pageSizeInPixels);
     // Draw all pages into a graphics context with lines which mean page boundaries.
     // The height of the graphics context should be
     // (pageSizeInPixels.height() + 1) * number-of-pages - 1
-    static void spoolAllPagesWithBoundaries(Frame*, GraphicsContext&, const FloatSize& pageSizeInPixels);
+    WEBCORE_EXPORT static void spoolAllPagesWithBoundaries(Frame*, GraphicsContext&, const FloatSize& pageSizeInPixels);
 
 protected:
     Frame* m_frame;
index ea799ac..e461199 100644 (file)
@@ -85,7 +85,7 @@ public:
         , m_layerPositionAtLastLayout(other.m_layerPositionAtLastLayout)
     { }
     
-    FloatPoint layerPositionForViewportRect(const FloatRect& viewportRect) const;
+    WEBCORE_EXPORT FloatPoint layerPositionForViewportRect(const FloatRect& viewportRect) const;
 
     const FloatRect& viewportRectAtLastLayout() const { return m_viewportRectAtLastLayout; }
     void setViewportRectAtLastLayout(const FloatRect& rect) { m_viewportRectAtLastLayout = rect; }
index 68ff7b0..8cbccf7 100644 (file)
@@ -171,8 +171,8 @@ public:
     bool representsPlatformLayerID() const { return m_representation == PlatformLayerIDRepresentation; }
     
 private:
-    void retainPlatformLayer(PlatformLayer*);
-    void releasePlatformLayer(PlatformLayer*);
+    WEBCORE_EXPORT void retainPlatformLayer(PlatformLayer*);
+    WEBCORE_EXPORT void releasePlatformLayer(PlatformLayer*);
 
     union {
         GraphicsLayer* m_graphicsLayer;
index dd91871..cd68d62 100644 (file)
@@ -78,16 +78,16 @@ public:
 class FileChooser : public RefCounted<FileChooser> {
 public:
     static PassRefPtr<FileChooser> create(FileChooserClient*, const FileChooserSettings&);
-    ~FileChooser();
+    WEBCORE_EXPORT ~FileChooser();
 
     void invalidate();
 
-    void chooseFile(const String& path);
-    void chooseFiles(const Vector<String>& paths);
+    WEBCORE_EXPORT void chooseFile(const String& path);
+    WEBCORE_EXPORT void chooseFiles(const Vector<String>& paths);
 #if PLATFORM(IOS)
     // FIXME: This function is almost identical to FileChooser::chooseFiles(). We should merge this
     // function with FileChooser::chooseFiles() and hence remove the PLATFORM(IOS)-guard.
-    void chooseMediaFiles(const Vector<String>& paths, const String& displayString, Icon*);
+    WEBCORE_EXPORT void chooseMediaFiles(const Vector<String>& paths, const String& displayString, Icon*);
 #endif    
 
     // FIXME: We should probably just pass file paths that could be virtual paths with proper display names rather than passing structs.
index 25aebf6..24a9c7e 100644 (file)
@@ -39,8 +39,8 @@ class GamepadProvider {
 public:
     virtual ~GamepadProvider() { }
 
-    static GamepadProvider& shared();
-    static void setSharedProvider(GamepadProvider&);
+    WEBCORE_EXPORT static GamepadProvider& shared();
+    WEBCORE_EXPORT static void setSharedProvider(GamepadProvider&);
 
     virtual void startMonitoringGamepads(GamepadProviderClient*);
     virtual void stopMonitoringGamepads(GamepadProviderClient*);
index 3cc0367..b4c68f8 100644 (file)
@@ -52,7 +52,7 @@ public:
     Length(float value, LengthType, bool hasQuirk = false);
     Length(double value, LengthType, bool hasQuirk = false);
 
-    explicit Length(PassRef<CalculationValue>);
+    WEBCORE_EXPORT explicit Length(PassRef<CalculationValue>);
 
     Length(const Length&);
     Length(Length&&);
@@ -117,8 +117,8 @@ private:
     bool isCalculatedEqual(const Length&) const;
     Length blendMixedTypes(const Length& from, double progress) const;
 
-    void ref() const;
-    void deref() const;
+    WEBCORE_EXPORT void ref() const;
+    WEBCORE_EXPORT void deref() const;
     
     union {
         int m_intValue;
index 98e28f9..8e09e88 100644 (file)
@@ -35,10 +35,10 @@ namespace WebCore {
 
 class MIMETypeRegistry {
 public:
-    static String getMIMETypeForExtension(const String& extension);
+    WEBCORE_EXPORT static String getMIMETypeForExtension(const String& extension);
 
     static Vector<String> getExtensionsForMIMEType(const String& type);
-    static String getPreferredExtensionForMIMEType(const String& type);
+    WEBCORE_EXPORT static String getPreferredExtensionForMIMEType(const String& type);
     static String getMediaMIMETypeForExtension(const String& extension);
     static Vector<String> getMediaMIMETypesForExtension(const String& extension);
 
@@ -46,11 +46,11 @@ public:
 
     // Check to see if a mime type is suitable for being loaded inline as an
     // image (e.g., <img> tags).
-    static bool isSupportedImageMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool isSupportedImageMIMEType(const String& mimeType);
 
     // Check to see if a mime type is suitable for being loaded as an image
     // document in a frame.
-    static bool isSupportedImageResourceMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool isSupportedImageResourceMIMEType(const String& mimeType);
 
     // Check to see if a mime type is suitable for being encoded.
     static bool isSupportedImageMIMETypeForEncoding(const String& mimeType);
@@ -61,39 +61,39 @@ public:
 
     // Check to see if a non-image mime type is suitable for being loaded as a
     // document in a frame.  Includes supported JavaScript MIME types.
-    static bool isSupportedNonImageMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool isSupportedNonImageMIMEType(const String& mimeType);
 
     // Check to see if a mime type is suitable for being loaded using <video> and <audio>
-    static bool isSupportedMediaMIMEType(const String& mimeType); 
+    WEBCORE_EXPORT static bool isSupportedMediaMIMEType(const String& mimeType);
 
     // Check to see if the mime type is not suitable for being loaded as a text
     // document in a frame. Only valid for mime types begining with "text/".
     static bool isUnsupportedTextMIMEType(const String& mimeType);
 
     // Check to see if a mime type is a valid Java applet mime type
-    static bool isJavaAppletMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool isJavaAppletMIMEType(const String& mimeType);
 
     // Check to see if a mime type is a plugin implemented by the
     // browser (e.g. a Qt Plugin).
     static bool isApplicationPluginMIMEType(const String& mimeType);
 
     // Check to see if a mime type is one of the common PDF/PS types.
-    static bool isPDFOrPostScriptMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool isPDFOrPostScriptMIMEType(const String& mimeType);
     static bool isPDFMIMEType(const String& mimeType);
 
     // Check to see if a mime type is suitable for being shown inside a page.
     // Returns true if any of isSupportedImageMIMEType(), isSupportedNonImageMIMEType(), isSupportedMediaMIMEType() returns true
     // or if given mime type begins with "text/" and isUnsupportedTextMIMEType() returns false.
-    static bool canShowMIMEType(const String& mimeType);
+    WEBCORE_EXPORT static bool canShowMIMEType(const String& mimeType);
 
-    static HashSet<String>& getSupportedImageMIMETypes();
+    WEBCORE_EXPORT static HashSet<String>& getSupportedImageMIMETypes();
     static HashSet<String>& getSupportedImageResourceMIMETypes();
     static HashSet<String>& getSupportedImageMIMETypesForEncoding();
-    static HashSet<String>& getSupportedNonImageMIMETypes();
+    WEBCORE_EXPORT static HashSet<String>& getSupportedNonImageMIMETypes();
     static HashSet<String>& getSupportedMediaMIMETypes();
-    static HashSet<String>& getPDFMIMETypes();
+    WEBCORE_EXPORT static HashSet<String>& getPDFMIMETypes();
     static HashSet<String>& getPDFAndPostScriptMIMETypes();
-    static HashSet<String>& getUnsupportedTextMIMETypes();
+    WEBCORE_EXPORT static HashSet<String>& getUnsupportedTextMIMETypes();
 
     static String getNormalizedMIMEType(const String&);
 };
index 00a9a58..189f488 100644 (file)
@@ -51,7 +51,7 @@ class MemoryPressureHandler {
 public:
     friend MemoryPressureHandler& memoryPressureHandler();
 
-    void install();
+    WEBCORE_EXPORT void install();
 
     void setLowMemoryHandler(LowMemoryHandler handler)
     {
@@ -64,10 +64,10 @@ public:
 
 #if PLATFORM(IOS)
     // FIXME: Can we share more of this with OpenSource?
-    void installMemoryReleaseBlock(void (^releaseMemoryBlock)(), bool clearPressureOnMemoryRelease = true);
-    void setReceivedMemoryPressure(MemoryPressureReason);
-    void clearMemoryPressure();
-    bool shouldWaitForMemoryClearMessage();
+    WEBCORE_EXPORT void installMemoryReleaseBlock(void (^releaseMemoryBlock)(), bool clearPressureOnMemoryRelease = true);
+    WEBCORE_EXPORT void setReceivedMemoryPressure(MemoryPressureReason);
+    WEBCORE_EXPORT void clearMemoryPressure();
+    WEBCORE_EXPORT bool shouldWaitForMemoryClearMessage();
     void respondToMemoryPressureIfNeeded();
 #endif
 
@@ -99,7 +99,7 @@ public:
         static bool s_loggingEnabled;
     };
 
-    static void releaseMemory(bool critical);
+    WEBCORE_EXPORT static void releaseMemory(bool critical);
 
 private:
     static void releaseNoncriticalMemory();
index 5e61617..fdeff5b 100644 (file)
@@ -68,8 +68,8 @@ enum ShouldSerializeSelectedTextForDataTransfer { DefaultSelectedTextType, Inclu
 
 struct PasteboardWebContent {
 #if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(WIN))
-    PasteboardWebContent();
-    ~PasteboardWebContent();
+    WEBCORE_EXPORT PasteboardWebContent();
+    WEBCORE_EXPORT ~PasteboardWebContent();
     bool canSmartCopyOrDelete;
     RefPtr<SharedBuffer> dataInWebArchiveFormat;
     RefPtr<SharedBuffer> dataInRTFDFormat;
@@ -89,8 +89,8 @@ struct PasteboardURL {
 };
 
 struct PasteboardImage {
-    PasteboardImage();
-    ~PasteboardImage();
+    WEBCORE_EXPORT PasteboardImage();
+    WEBCORE_EXPORT ~PasteboardImage();
     RefPtr<Image> image;
 #if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(WIN))
     PasteboardURL url;
@@ -129,7 +129,7 @@ class Pasteboard {
 public:
     ~Pasteboard();
 
-    static PassOwnPtr<Pasteboard> createForCopyAndPaste();
+    WEBCORE_EXPORT static PassOwnPtr<Pasteboard> createForCopyAndPaste();
     static PassOwnPtr<Pasteboard> createPrivate(); // Temporary pasteboard. Can put data on this and then write to another pasteboard with writePasteboard.
 
     bool hasData();
@@ -152,7 +152,7 @@ public:
 
     void writeMarkup(const String& markup);
     enum SmartReplaceOption { CanSmartReplace, CannotSmartReplace };
-    void writePlainText(const String&, SmartReplaceOption); // FIXME: Two separate functions would be clearer than one function with an argument.
+    WEBCORE_EXPORT void writePlainText(const String&, SmartReplaceOption); // FIXME: Two separate functions would be clearer than one function with an argument.
     void writePasteboard(const Pasteboard& sourcePasteboard);
 
 #if ENABLE(DRAG_SUPPORT)
index e000d47..a101150 100644 (file)
 
 #endif // USE(EXPORT_MACROS)
 
-#if USE(EXPORT_MACROS_FOR_TESTING)
-
-#if defined(WEBCORE_IS_LINKED_IN_SAME_BINARY)
-#define WEBCORE_TESTING WTF_EXPORT_DECLARATION
-#else
-#define WEBCORE_TESTING WTF_IMPORT_DECLARATION
-#endif
-
-#else // USE(EXPORT_MACROS_FOR_TESTING)
-
-#define WEBCORE_TESTING
-
-#endif // USE(EXPORT_MACROS_FOR_TESTING)
-
 #endif // PlatformExportMacros_h
index 53c8d63..4b32a0b 100644 (file)
@@ -90,7 +90,7 @@ namespace WebCore {
         {
         }
 
-        void disambiguateKeyDownEvent(Type, bool backwardCompatibilityMode = false); // Only used on platforms that need it, i.e. those that generate KeyDown events.
+        WEBCORE_EXPORT void disambiguateKeyDownEvent(Type, bool backwardCompatibilityMode = false); // Only used on platforms that need it, i.e. those that generate KeyDown events.
 
         // Text as as generated by processing a virtual key code with a keyboard layout
         // (in most cases, just a character code, but the layout can emit several
index aadc6ea..4856d13 100644 (file)
@@ -50,36 +50,36 @@ struct PasteboardWebContent;
 class PlatformPasteboard {
 public:
     // FIXME: probably we don't need a constructor that takes a pasteboard name for iOS.
-    explicit PlatformPasteboard(const String& pasteboardName);
+    WEBCORE_EXPORT explicit PlatformPasteboard(const String& pasteboardName);
 #if PLATFORM(IOS)
-    PlatformPasteboard();
+    WEBCORE_EXPORT PlatformPasteboard();
 #endif
-    static String uniqueName();
+    WEBCORE_EXPORT static String uniqueName();
     
-    void getTypes(Vector<String>& types);
-    PassRefPtr<SharedBuffer> bufferForType(const String& pasteboardType);
-    void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType);
-    String stringForType(const String& pasteboardType);
-    long changeCount() const;
-    Color color();
-    URL url();
+    WEBCORE_EXPORT void getTypes(Vector<String>& types);
+    WEBCORE_EXPORT PassRefPtr<SharedBuffer> bufferForType(const String& pasteboardType);
+    WEBCORE_EXPORT void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType);
+    WEBCORE_EXPORT String stringForType(const String& pasteboardType);
+    WEBCORE_EXPORT long changeCount() const;
+    WEBCORE_EXPORT Color color();
+    WEBCORE_EXPORT URL url();
 
     // Take ownership of the pasteboard, and return new change count.
-    long addTypes(const Vector<String>& pasteboardTypes);
-    long setTypes(const Vector<String>& pasteboardTypes);
+    WEBCORE_EXPORT long addTypes(const Vector<String>& pasteboardTypes);
+    WEBCORE_EXPORT long setTypes(const Vector<String>& pasteboardTypes);
 
     // These methods will return 0 if pasteboard ownership has been taken from us.
-    long copy(const String& fromPasteboard);
-    long setBufferForType(PassRefPtr<SharedBuffer>, const String& pasteboardType);
-    long setPathnamesForType(const Vector<String>& pathnames, const String& pasteboardType);
-    long setStringForType(const String&, const String& pasteboardType);
-    void write(const PasteboardWebContent&);
-    void write(const PasteboardImage&);
-    void write(const String& pasteboardType, const String&);
-    PassRefPtr<SharedBuffer> readBuffer(int index, const String& pasteboardType);
-    String readString(int index, const String& pasteboardType);
-    URL readURL(int index, const String& pasteboardType);
-    int count();
+    WEBCORE_EXPORT long copy(const String& fromPasteboard);
+    WEBCORE_EXPORT long setBufferForType(PassRefPtr<SharedBuffer>, const String& pasteboardType);
+    WEBCORE_EXPORT long setPathnamesForType(const Vector<String>& pathnames, const String& pasteboardType);
+    WEBCORE_EXPORT long setStringForType(const String&, const String& pasteboardType);
+    WEBCORE_EXPORT void write(const PasteboardWebContent&);
+    WEBCORE_EXPORT void write(const PasteboardImage&);
+    WEBCORE_EXPORT void write(const String& pasteboardType, const String&);
+    WEBCORE_EXPORT PassRefPtr<SharedBuffer> readBuffer(int index, const String& pasteboardType);
+    WEBCORE_EXPORT String readString(int index, const String& pasteboardType);
+    WEBCORE_EXPORT URL readURL(int index, const String& pasteboardType);
+    WEBCORE_EXPORT int count();
 
 private:
 #if PLATFORM(MAC)
index 938c1f6..343b9e7 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 
 class PlatformSpeechSynthesisVoice : public RefCounted<PlatformSpeechSynthesisVoice> {
 public:
-    static PassRefPtr<PlatformSpeechSynthesisVoice> create(const String& voiceURI, const String& name, const String& lang, bool localService, bool isDefault);
+    WEBCORE_EXPORT static PassRefPtr<PlatformSpeechSynthesisVoice> create(const String& voiceURI, const String& name, const String& lang, bool localService, bool isDefault);
     static PassRefPtr<PlatformSpeechSynthesisVoice> create();
 
     const String& voiceURI() const { return m_voiceURI; }
index 0b49fd4..ce8f7e4 100644 (file)
@@ -66,11 +66,11 @@ protected:
 
 class PlatformSpeechSynthesizer {
 public:
-    explicit PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient*);
+    WEBCORE_EXPORT explicit PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient*);
 
     // FIXME: We have multiple virtual functions just so we can support a mock for testing.
     // Seems wasteful. Would be nice to find a better way.
-    virtual ~PlatformSpeechSynthesizer();
+    WEBCORE_EXPORT virtual ~PlatformSpeechSynthesizer();
     
     const Vector<RefPtr<PlatformSpeechSynthesisVoice>>& voiceList() const;
     virtual void speak(PassRefPtr<PlatformSpeechSynthesisUtterance>);
index 1b1acb0..5da488d 100644 (file)
@@ -42,18 +42,18 @@ class RemoteCommandListener;
 
 class MediaSessionManager : private RemoteCommandListenerClient, private SystemSleepListener::Client, private AudioHardwareListener::Client {
 public:
-    static MediaSessionManager& sharedManager();
+    WEBCORE_EXPORT static MediaSessionManager& sharedManager();
     virtual ~MediaSessionManager() { }
 
     bool has(MediaSession::MediaType) const;
     int count(MediaSession::MediaType) const;
     bool activeAudioSessionRequired() const;
 
-    void beginInterruption(MediaSession::InterruptionType);
-    void endInterruption(MediaSession::EndInterruptionFlags);
+    WEBCORE_EXPORT void beginInterruption(MediaSession::InterruptionType);
+    WEBCORE_EXPORT void endInterruption(MediaSession::EndInterruptionFlags);
 
-    void applicationWillEnterForeground() const;
-    void applicationWillEnterBackground() const;
+    WEBCORE_EXPORT void applicationWillEnterForeground() const;
+    WEBCORE_EXPORT void applicationWillEnterBackground() const;
     void wirelessRoutesAvailableChanged();
 
     enum SessionRestrictionFlags {
@@ -66,9 +66,9 @@ public:
     };
     typedef unsigned SessionRestrictions;
     
-    void addRestriction(MediaSession::MediaType, SessionRestrictions);
-    void removeRestriction(MediaSession::MediaType, SessionRestrictions);
-    SessionRestrictions restrictions(MediaSession::MediaType);
+    WEBCORE_EXPORT void addRestriction(MediaSession::MediaType, SessionRestrictions);
+    WEBCORE_EXPORT void removeRestriction(MediaSession::MediaType, SessionRestrictions);
+    WEBCORE_EXPORT SessionRestrictions restrictions(MediaSession::MediaType);
     virtual void resetRestrictions();
 
     virtual void sessionWillBeginPlayback(MediaSession&);
@@ -98,7 +98,7 @@ private:
     void updateSessionState();
 
     // RemoteCommandListenerClient
-    virtual void didReceiveRemoteControlCommand(MediaSession::RemoteControlCommandType) override;
+    WEBCORE_EXPORT virtual void didReceiveRemoteControlCommand(MediaSession::RemoteControlCommandType) override;
 
     // AudioHardwareListenerClient
     virtual void audioHardwareDidBecomeActive() override { }
index 57e3ac5..ce62db1 100644 (file)
@@ -54,7 +54,7 @@ class FloatPoint {
 public:
     FloatPoint() : m_x(0), m_y(0) { }
     FloatPoint(float x, float y) : m_x(x), m_y(y) { }
-    FloatPoint(const IntPoint&);
+    WEBCORE_EXPORT FloatPoint(const IntPoint&);
     explicit FloatPoint(const FloatSize& size) : m_x(size.width()), m_y(size.height()) { }
 
     static FloatPoint zero() { return FloatPoint(); }
@@ -132,13 +132,13 @@ public:
     }
 
 #if USE(CG)
-    FloatPoint(const CGPoint&);
-    operator CGPoint() const;
+    WEBCORE_EXPORT FloatPoint(const CGPoint&);
+    WEBCORE_EXPORT operator CGPoint() const;
 #endif
 
 #if PLATFORM(MAC) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    FloatPoint(const NSPoint&);
-    operator NSPoint() const;
+    WEBCORE_EXPORT FloatPoint(const NSPoint&);
+    WEBCORE_EXPORT operator NSPoint() const;
 #endif
 
     FloatPoint matrixTransform(const TransformationMatrix&) const;
index 3715763..1b03003 100644 (file)
@@ -78,15 +78,15 @@ public:
     // that is, if two edges are parallel to the x-axis and the other two
     // are parallel to the y-axis. If this method returns true, the
     // corresponding FloatRect can be retrieved with boundingBox().
-    bool isRectilinear() const;
+    WEBCORE_EXPORT bool isRectilinear() const;
 
     // Tests whether the given point is inside, or on an edge or corner of this quad.
-    bool containsPoint(const FloatPoint&) const;
+    WEBCORE_EXPORT bool containsPoint(const FloatPoint&) const;
 
     // Tests whether the four corners of other are inside, or coincident with the sides of this quad.
     // Note that this only works for convex quads, but that includes all quads that originate
     // from transformed rects.
-    bool containsQuad(const FloatQuad&) const;
+    WEBCORE_EXPORT bool containsQuad(const FloatQuad&) const;
 
     // Tests whether any part of the rectangle intersects with this quad.
     // This only works for convex quads.
@@ -104,7 +104,7 @@ public:
                           (m_p1.y() + m_p2.y() + m_p3.y() + m_p4.y()) / 4.0);
     }
 
-    FloatRect boundingBox() const;
+    WEBCORE_EXPORT FloatRect boundingBox() const;
     IntRect enclosingBoundingBox() const
     {
         return enclosingIntRect(boundingBox());
index 8e3397d..cc81bde 100644 (file)
@@ -62,7 +62,7 @@ public:
         : m_location(location), m_size(size) { }
     FloatRect(float x, float y, float width, float height)
         : m_location(FloatPoint(x, y)), m_size(FloatSize(width, height)) { }
-    FloatRect(const IntRect&);
+    WEBCORE_EXPORT FloatRect(const IntRect&);
 
     static FloatRect narrowPrecision(double x, double y, double width, double height);
 
@@ -127,12 +127,12 @@ public:
     FloatPoint minXMaxYCorner() const { return FloatPoint(m_location.x(), m_location.y() + m_size.height()); } // typically bottomLeft
     FloatPoint maxXMaxYCorner() const { return FloatPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
 
-    bool intersects(const FloatRect&) const;
-    bool contains(const FloatRect&) const;
-    bool contains(const FloatPoint&, ContainsMode = InsideOrOnStroke) const;
+    WEBCORE_EXPORT bool intersects(const FloatRect&) const;
+    WEBCORE_EXPORT bool contains(const FloatRect&) const;
+    WEBCORE_EXPORT bool contains(const FloatPoint&, ContainsMode = InsideOrOnStroke) const;
 
-    void intersect(const FloatRect&);
-    void unite(const FloatRect&);
+    WEBCORE_EXPORT void intersect(const FloatRect&);
+    WEBCORE_EXPORT void unite(const FloatRect&);
     void uniteEvenIfEmpty(const FloatRect&);
     void uniteIfNonZero(const FloatRect&);
     void extend(const FloatPoint&);
@@ -155,7 +155,7 @@ public:
     }
     void inflate(float d) { inflateX(d); inflateY(d); }
     void scale(float s) { scale(s, s); }
-    void scale(float sx, float sy);
+    WEBCORE_EXPORT void scale(float sx, float sy);
 
     FloatRect transposedRect() const { return FloatRect(m_location.transposedPoint(), m_size.transposedSize()); }
 
@@ -165,13 +165,13 @@ public:
     void fitToPoints(const FloatPoint& p0, const FloatPoint& p1, const FloatPoint& p2, const FloatPoint& p3);
 
 #if USE(CG)
-    FloatRect(const CGRect&);
-    operator CGRect() const;
+    WEBCORE_EXPORT FloatRect(const CGRect&);
+    WEBCORE_EXPORT operator CGRect() const;
 #endif
 
 #if PLATFORM(MAC) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    FloatRect(const NSRect&);
-    operator NSRect() const;
+    WEBCORE_EXPORT FloatRect(const NSRect&);
+    WEBCORE_EXPORT operator NSRect() const;
 #endif
 
 #if USE(CAIRO)
index 73cc0fe..a04602d 100644 (file)
@@ -55,7 +55,7 @@ class FloatSize {
 public:
     FloatSize() : m_width(0), m_height(0) { }
     FloatSize(float width, float height) : m_width(width), m_height(height) { }
-    FloatSize(const IntSize&);
+    WEBCORE_EXPORT FloatSize(const IntSize&);
 
     static FloatSize narrowPrecision(double width, double height);
 
@@ -66,7 +66,7 @@ public:
     void setHeight(float height) { m_height = height; }
 
     bool isEmpty() const { return m_width <= 0 || m_height <= 0; }
-    bool isZero() const;
+    WEBCORE_EXPORT bool isZero() const;
     bool isExpressibleAsIntSize() const;
 
     float aspectRatio() const { return m_width / m_height; }
@@ -97,7 +97,7 @@ public:
            m_height < other.m_height ? m_height : other.m_height);
     }
 
-    float diagonalLength() const;
+    WEBCORE_EXPORT float diagonalLength() const;
     float diagonalLengthSquared() const
     {
         return m_width * m_width + m_height * m_height;
@@ -109,12 +109,12 @@ public:
     }
 
 #if USE(CG)
-    explicit FloatSize(const CGSize&); // don't do this implicitly since it's lossy
-    operator CGSize() const;
+    WEBCORE_EXPORT explicit FloatSize(const CGSize&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGSize() const;
 #endif
 
 #if PLATFORM(MAC) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    explicit FloatSize(const NSSize &); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT explicit FloatSize(const NSSize &); // don't do this implicitly since it's lossy
     operator NSSize() const;
 #endif
 
index 02b64cd..e35d31d 100644 (file)
@@ -108,10 +108,10 @@ GlyphToPathTranslator::GlyphUnderlineType computeUnderlineType(const TextRun&, c
 
 class Font {
 public:
-    Font();
-    Font(const FontDescription&, float letterSpacing, float wordSpacing);
+    WEBCORE_EXPORT Font();
+    WEBCORE_EXPORT Font(const FontDescription&, float letterSpacing, float wordSpacing);
     // This constructor is only used if the platform wants to start with a native font.
-    Font(const FontPlatformData&, bool isPrinting, FontSmoothingMode = AutoSmoothing);
+    WEBCORE_EXPORT Font(const FontPlatformData&, bool isPrinting, FontSmoothingMode = AutoSmoothing);
 
     // FIXME: We should make this constructor platform-independent.
 #if PLATFORM(IOS)
@@ -120,9 +120,9 @@ public:
     ~Font();
 
     Font(const Font&);
-    Font& operator=(const Font&);
+    WEBCORE_EXPORT Font& operator=(const Font&);
 
-    bool operator==(const Font& other) const;
+    WEBCORE_EXPORT bool operator==(const Font& other) const;
     bool operator!=(const Font& other) const { return !(*this == other); }
 
     const FontDescription& fontDescription() const { return m_fontDescription; }
@@ -133,13 +133,13 @@ public:
     void update(PassRefPtr<FontSelector>) const;
 
     enum CustomFontNotReadyAction { DoNotPaintIfFontNotReady, UseFallbackIfFontNotReady };
-    float drawText(GraphicsContext*, const TextRun&, const FloatPoint&, int from = 0, int to = -1, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const;
+    WEBCORE_EXPORT float drawText(GraphicsContext*, const TextRun&, const FloatPoint&, int from = 0, int to = -1, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const;
     void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&, int from, int numGlyphs, const FloatPoint&) const;
     void drawEmphasisMarks(GraphicsContext*, const TextRun&, const AtomicString& mark, const FloatPoint&, int from = 0, int to = -1) const;
 
     DashArray dashesForIntersectionsWithRect(const TextRun&, const FloatPoint& textOrigin, const FloatRect& lineExtents) const;
 
-    float width(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const;
+    WEBCORE_EXPORT float width(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const;
     float width(const TextRun&, int& charsConsumed, String& glyphName) const;
 
     PassOwnPtr<TextLayout> createLayout(RenderText*, float xPos, bool collapseWhiteSpace) const;
@@ -204,8 +204,8 @@ public:
     static unsigned expansionOpportunityCount(const LChar*, size_t length, TextDirection, bool& isAfterExpansion);
     static unsigned expansionOpportunityCount(const UChar*, size_t length, TextDirection, bool& isAfterExpansion);
 
-    static void setShouldUseSmoothing(bool);
-    static bool shouldUseSmoothing();
+    WEBCORE_EXPORT static void setShouldUseSmoothing(bool);
+    WEBCORE_EXPORT static bool shouldUseSmoothing();
 
     enum CodePath { Auto, Simple, Complex, SimpleWithGlyphOverflow };
     CodePath codePath(const TextRun&) const;
@@ -254,11 +254,11 @@ public:
 #endif
 
     // Useful for debugging the different font rendering code paths.
-    static void setCodePath(CodePath);
+    WEBCORE_EXPORT static void setCodePath(CodePath);
     static CodePath codePath();
     static CodePath s_codePath;
 
-    static void setDefaultTypesettingFeatures(TypesettingFeatures);
+    WEBCORE_EXPORT static void setDefaultTypesettingFeatures(TypesettingFeatures);
     static TypesettingFeatures defaultTypesettingFeatures();
 
     static const uint8_t s_roundingHackCharacterTable[256];
index 8d825f2..0b273e4 100644 (file)
@@ -134,18 +134,18 @@ public:
     void getTraitsInFamily(const AtomicString&, Vector<unsigned>&);
 
     PassRefPtr<SimpleFontData> getCachedFontData(const FontDescription&, const AtomicString&, bool checkingAlternateName = false, ShouldRetain = Retain);
-    PassRefPtr<SimpleFontData> getLastResortFallbackFont(const FontDescription&, ShouldRetain = Retain);
+    WEBCORE_EXPORT PassRefPtr<SimpleFontData> getLastResortFallbackFont(const FontDescription&, ShouldRetain = Retain);
     SimpleFontData* getNonRetainedLastResortFallbackFont(const FontDescription&);
 
     void addClient(FontSelector*);
     void removeClient(FontSelector*);
 
     unsigned short generation();
-    void invalidate();
+    WEBCORE_EXPORT void invalidate();
 
-    size_t fontDataCount();
-    size_t inactiveFontDataCount();
-    void purgeInactiveFontData(int count = INT_MAX);
+    WEBCORE_EXPORT size_t fontDataCount();
+    WEBCORE_EXPORT size_t inactiveFontDataCount();
+    WEBCORE_EXPORT void purgeInactiveFontData(int count = INT_MAX);
 
 #if PLATFORM(WIN)
     PassRefPtr<SimpleFontData> fontDataFromDescriptionAndLogFont(const FontDescription&, ShouldRetain, const LOGFONT&, AtomicString& outFontFamilyName);
@@ -175,7 +175,7 @@ private:
             purgeInactiveFontDataIfNeeded();
     }
 
-    void purgeInactiveFontDataIfNeeded();
+    void WEBCORE_EXPORT purgeInactiveFontDataIfNeeded();
 
     // FIXME: This method should eventually be removed.
     FontPlatformData* getCachedFontPlatformData(const FontDescription&, const AtomicString& family, bool checkingAlternateName = false);
@@ -190,7 +190,7 @@ private:
     PassRefPtr<SimpleFontData> similarFontPlatformData(const FontDescription&);
 #endif
 
-    PassRefPtr<SimpleFontData> getCachedFontData(const FontPlatformData*, ShouldRetain = Retain);
+    WEBCORE_EXPORT PassRefPtr<SimpleFontData> getCachedFontData(const FontPlatformData*, ShouldRetain = Retain);
 
     // Don't purge if this count is > 0;
     int m_purgePreventCount;
index 4c70d7d..11d3a9c 100644 (file)
@@ -91,13 +91,13 @@ public:
 
     const SimpleFontData* primarySimpleFontData(const FontDescription&) const;
     const FontData* primaryFontData(const FontDescription& description) const { return realizeFontDataAt(description, 0); }
-    const FontData* realizeFontDataAt(const FontDescription&, unsigned index) const;
+    WEBCORE_EXPORT const FontData* realizeFontDataAt(const FontDescription&, unsigned index) const;
 
 private:
     FontGlyphs(PassRefPtr<FontSelector>);
     FontGlyphs(const FontPlatformData&);
 
-    void releaseFontData();
+    WEBCORE_EXPORT void releaseFontData();
     
     mutable Vector<RefPtr<FontData>, 1> m_realizedFontData;
     mutable GlyphPages m_pages;
index db65cf8..82033a0 100644 (file)
@@ -96,10 +96,10 @@ public:
 
 #if OS(DARWIN)
 #if USE(APPKIT)
-    FontPlatformData(NSFont*, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
+    WEBCORE_EXPORT FontPlatformData(NSFont*, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
                      FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
 #else
-    FontPlatformData(CTFontRef, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
+    WEBCORE_EXPORT FontPlatformData(CTFontRef, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
                      FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
 #endif
 
@@ -120,7 +120,7 @@ public:
     FontPlatformData(CTFontRef, float size, bool syntheticBold = false, bool syntheticOblique = false, FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
 #endif
 
-    ~FontPlatformData();
+    WEBCORE_EXPORT ~FontPlatformData();
 
 #if PLATFORM(WIN)
     HFONT hfont() const { return m_font ? m_font->get() : 0; }
index 26b66f7..0af5259 100644 (file)
@@ -92,7 +92,7 @@ public:
     // The system fallback font has special rules (see above).
     bool isSystemFallback() const { return m_isSystemFallback; }
 
-    static size_t treeGlyphPageCount();
+    WEBCORE_EXPORT static size_t treeGlyphPageCount();
     size_t pageCount() const;
 
 private:
index 9a091ae..fb255b0 100644 (file)
@@ -65,10 +65,10 @@ namespace WebCore {
         {
             return adoptRef(new Gradient(p0, r0, p1, r1, aspectRatio));
         }
-        ~Gradient();
+        WEBCORE_EXPORT ~Gradient();
 
         struct ColorStop;
-        void addColorStop(const ColorStop&);
+        WEBCORE_EXPORT void addColorStop(const ColorStop&);
         void addColorStop(float, const Color&);
 
         bool hasAlpha() const;
@@ -165,7 +165,7 @@ namespace WebCore {
 #endif
 
     private:
-        Gradient(const FloatPoint& p0, const FloatPoint& p1);
+        WEBCORE_EXPORT Gradient(const FloatPoint& p0, const FloatPoint& p1);
         Gradient(const FloatPoint& p0, float r0, const FloatPoint& p1, float r1, float aspectRatio);
 
         void platformInit() { m_gradient = 0; }
index f3d47b7..af5a05b 100644 (file)
@@ -228,13 +228,13 @@ namespace WebCore {
         WTF_MAKE_NONCOPYABLE(GraphicsContext); WTF_MAKE_FAST_ALLOCATED;
     public:
 #if !PLATFORM(IOS)
-        GraphicsContext(PlatformGraphicsContext*);
+        WEBCORE_EXPORT GraphicsContext(PlatformGraphicsContext*);
 #else
-        GraphicsContext(PlatformGraphicsContext*, bool shouldUseContextColors = true);
+        WEBCORE_EXPORT GraphicsContext(PlatformGraphicsContext*, bool shouldUseContextColors = true);
 #endif
-        ~GraphicsContext();
+        WEBCORE_EXPORT ~GraphicsContext();
 
-        PlatformGraphicsContext* platformContext() const;
+        WEBCORE_EXPORT PlatformGraphicsContext* platformContext() const;
 
         float strokeThickness() const;
         void setStrokeThickness(float);
@@ -242,7 +242,7 @@ namespace WebCore {
         void setStrokeStyle(StrokeStyle);
         Color strokeColor() const;
         ColorSpace strokeColorSpace() const;
-        void setStrokeColor(const Color&, ColorSpace);
+        WEBCORE_EXPORT void setStrokeColor(const Color&, ColorSpace);
 
         void setStrokePattern(PassRefPtr<Pattern>);
         Pattern* strokePattern() const;
@@ -254,21 +254,21 @@ namespace WebCore {
         void setFillRule(WindRule);
         Color fillColor() const;
         ColorSpace fillColorSpace() const;
-        void setFillColor(const Color&, ColorSpace);
+        WEBCORE_EXPORT void setFillColor(const Color&, ColorSpace);
 
         void setFillPattern(PassRefPtr<Pattern>);
         Pattern* fillPattern() const;
 
-        void setFillGradient(PassRefPtr<Gradient>);
+        WEBCORE_EXPORT void setFillGradient(PassRefPtr<Gradient>);
         Gradient* fillGradient() const;
 
         void setShadowsIgnoreTransforms(bool);
         bool shadowsIgnoreTransforms() const;
 
-        void setShouldAntialias(bool);
+        WEBCORE_EXPORT void setShouldAntialias(bool);
         bool shouldAntialias() const;
 
-        void setShouldSmoothFonts(bool);
+        WEBCORE_EXPORT void setShouldSmoothFonts(bool);
         bool shouldSmoothFonts() const;
 
         // Normally CG enables subpixel-quantization because it improves the performance of aligning glyphs.
@@ -283,20 +283,20 @@ namespace WebCore {
         void applyFillPattern();
         void drawPath(const Path&);
 
-        void drawNativeImage(PassNativeImagePtr, const FloatSize& selfSize, ColorSpace styleColorSpace, const FloatRect& destRect, const FloatRect& srcRect, CompositeOperator = CompositeSourceOver, BlendMode = BlendModeNormal, ImageOrientation = DefaultImageOrientation);
+        WEBCORE_EXPORT void drawNativeImage(PassNativeImagePtr, const FloatSize& selfSize, ColorSpace styleColorSpace, const FloatRect& destRect, const FloatRect& srcRect, CompositeOperator = CompositeSourceOver, BlendMode = BlendModeNormal, ImageOrientation = DefaultImageOrientation);
 
         // Allow font smoothing (LCD antialiasing). Not part of the graphics state.
         void setAllowsFontSmoothing(bool);
         
-        void setIsCALayerContext(bool);
+        WEBCORE_EXPORT void setIsCALayerContext(bool);
         bool isCALayerContext() const;
 
-        void setIsAcceleratedContext(bool);
+        WEBCORE_EXPORT void setIsAcceleratedContext(bool);
 #endif
         bool isAcceleratedContext() const;
 
-        void save();
-        void restore();
+        WEBCORE_EXPORT void save();
+        WEBCORE_EXPORT void restore();
 
         // These draw methods will do both stroking and filling.
         // FIXME: ...except drawRect(), which fills properly but always strokes
@@ -316,24 +316,24 @@ namespace WebCore {
 #endif
         void drawConvexPolygon(size_t numPoints, const FloatPoint*, bool shouldAntialias = false);
 
-        void fillPath(const Path&);
+        WEBCORE_EXPORT void fillPath(const Path&);
         void strokePath(const Path&);
 
         void fillEllipse(const FloatRect&);
         void strokeEllipse(const FloatRect&);
 
-        void fillRect(const FloatRect&);
-        void fillRect(const FloatRect&, const Color&, ColorSpace);
+        WEBCORE_EXPORT void fillRect(const FloatRect&);
+        WEBCORE_EXPORT void fillRect(const FloatRect&, const Color&, ColorSpace);
         void fillRect(const FloatRect&, Gradient&);
         void fillRect(const FloatRect&, const Color&, ColorSpace, CompositeOperator, BlendMode = BlendModeNormal);
         void fillRoundedRect(const FloatRoundedRect&, const Color&, ColorSpace, BlendMode = BlendModeNormal);
         void fillRectWithRoundedHole(const FloatRect&, const FloatRoundedRect& roundedHoleRect, const Color&, ColorSpace);
 
-        void clearRect(const FloatRect&);
+        WEBCORE_EXPORT void clearRect(const FloatRect&);
 
-        void strokeRect(const FloatRect&, float lineWidth);
+        WEBCORE_EXPORT void strokeRect(const FloatRect&, float lineWidth);
 
-        void drawImage(Image*, ColorSpace, const FloatPoint& destination, const ImagePaintingOptions& = ImagePaintingOptions());
+        WEBCORE_EXPORT void drawImage(Image*, ColorSpace, const FloatPoint& destination, const ImagePaintingOptions& = ImagePaintingOptions());
         void drawImage(Image*, ColorSpace, const FloatRect& destination, const ImagePaintingOptions& = ImagePaintingOptions());
         void drawImage(Image*, ColorSpace, const FloatRect& destination, const FloatRect& source, const ImagePaintingOptions& = ImagePaintingOptions());
 
@@ -346,11 +346,11 @@ namespace WebCore {
         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect& destination, const ImagePaintingOptions& = ImagePaintingOptions());
         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect& destination, const FloatRect& source, const ImagePaintingOptions& = ImagePaintingOptions());
 
-        void setImageInterpolationQuality(InterpolationQuality);
+        WEBCORE_EXPORT void setImageInterpolationQuality(InterpolationQuality);
         InterpolationQuality imageInterpolationQuality() const;
 
-        void clip(const IntRect&);
-        void clip(const FloatRect&);
+        WEBCORE_EXPORT void clip(const IntRect&);
+        WEBCORE_EXPORT void clip(const FloatRect&);
         void clipRoundedRect(const FloatRoundedRect&);
 
         void clipOut(const FloatRect&);
@@ -366,7 +366,7 @@ namespace WebCore {
 
 #if PLATFORM(IOS)
         bool emojiDrawingEnabled();
-        void setEmojiDrawingEnabled(bool);
+        WEBCORE_EXPORT void setEmojiDrawingEnabled(bool);
 #endif
         
 #if !PLATFORM(IOS)
@@ -379,7 +379,7 @@ namespace WebCore {
 #if !PLATFORM(IOS)
         void drawBidiText(const Font&, const TextRun&, const FloatPoint&, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady);
 #else
-        float drawBidiText(const Font&, const TextRun&, const FloatPoint&, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady, BidiStatus* = 0, int length = -1);
+        WEBCORE_EXPORT float drawBidiText(const Font&, const TextRun&, const FloatPoint&, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady, BidiStatus* = 0, int length = -1);
 #endif
         enum RoundingMode {
             RoundAllSides,
@@ -388,7 +388,7 @@ namespace WebCore {
         FloatRect roundToDevicePixels(const FloatRect&, RoundingMode = RoundAllSides);
 
         FloatRect computeLineBoundsForText(const FloatPoint&, float width, bool printing);
-        void drawLineForText(const FloatPoint&, float width, bool printing, bool doubleLines = false);
+        WEBCORE_EXPORT void drawLineForText(const FloatPoint&, float width, bool printing, bool doubleLines = false);
         void drawLinesForText(const FloatPoint&, const DashArray& widths, bool printing, bool doubleLines = false);
         enum DocumentMarkerLineStyle {
 #if PLATFORM(IOS)
@@ -402,24 +402,24 @@ namespace WebCore {
         static void updateDocumentMarkerResources();
         void drawLineForDocumentMarker(const FloatPoint&, float width, DocumentMarkerLineStyle);
 
-        bool paintingDisabled() const;
+        WEBCORE_EXPORT bool paintingDisabled() const;
         void setPaintingDisabled(bool);
 
-        bool updatingControlTints() const;
+        WEBCORE_EXPORT bool updatingControlTints() const;
         void setUpdatingControlTints(bool);
 
-        void beginTransparencyLayer(float opacity);
-        void endTransparencyLayer();
+        WEBCORE_EXPORT void beginTransparencyLayer(float opacity);
+        WEBCORE_EXPORT void endTransparencyLayer();
         bool isInTransparencyLayer() const;
 
         bool hasShadow() const;
-        void setShadow(const FloatSize&, float blur, const Color&, ColorSpace);
+        WEBCORE_EXPORT void setShadow(const FloatSize&, float blur, const Color&, ColorSpace);
         // Legacy shadow blur radius is used for canvas, and -webkit-box-shadow.
         // It has different treatment of radii > 8px.
         void setLegacyShadow(const FloatSize&, float blur, const Color&, ColorSpace);
 
         bool getShadow(FloatSize&, float&, Color&, ColorSpace&) const;
-        void clearShadow();
+        WEBCORE_EXPORT void clearShadow();
 
         bool hasBlurredShadow() const;
 #if USE(CAIRO)
@@ -439,14 +439,14 @@ namespace WebCore {
 
         void setAlpha(float);
 
-        void setCompositeOperation(CompositeOperator, BlendMode = BlendModeNormal);
+        WEBCORE_EXPORT void setCompositeOperation(CompositeOperator, BlendMode = BlendModeNormal);
         CompositeOperator compositeOperation() const;
         BlendMode blendModeOperation() const;
 
         void setDrawLuminanceMask(bool);
         bool drawLuminanceMask() const;
 
-        void clip(const Path&, WindRule = RULE_EVENODD);
+        WEBCORE_EXPORT void clip(const Path&, WindRule = RULE_EVENODD);
 
         // This clip function is used only by <canvas> code. It allows
         // implementations to handle clipping on the canvas differently since
@@ -454,10 +454,10 @@ namespace WebCore {
         void canvasClip(const Path&, WindRule = RULE_EVENODD);
         void clipOut(const Path&);
 
-        void scale(const FloatSize&);
+        WEBCORE_EXPORT void scale(const FloatSize&);
         void rotate(float angleInRadians);
         void translate(const FloatSize& size) { translate(size.width(), size.height()); }
-        void translate(float x, float y);
+        WEBCORE_EXPORT void translate(float x, float y);
 
         void setURLForRect(const URL&, const IntRect&);
 
@@ -480,7 +480,7 @@ namespace WebCore {
 
         // This function applies the device scale factor to the context, making the context capable of
         // acting as a base-level context for a HiDPI environment.
-        void applyDeviceScaleFactor(float);
+        WEBCORE_EXPORT void applyDeviceScaleFactor(float);
         void platformApplyDeviceScaleFactor(float);
 
 #if OS(WINDOWS)
index 47891b8..d005a6c 100644 (file)
@@ -226,9 +226,9 @@ protected:
 class GraphicsLayer {
     WTF_MAKE_NONCOPYABLE(GraphicsLayer); WTF_MAKE_FAST_ALLOCATED;
 public:
-    static std::unique_ptr<GraphicsLayer> create(GraphicsLayerFactory*, GraphicsLayerClient&);
+    WEBCORE_EXPORT static std::unique_ptr<GraphicsLayer> create(GraphicsLayerFactory*, GraphicsLayerClient&);
     
-    virtual ~GraphicsLayer();
+    WEBCORE_EXPORT virtual ~GraphicsLayer();
 
     virtual void initialize() { }
 
@@ -249,17 +249,17 @@ public:
     
     const Vector<GraphicsLayer*>& children() const { return m_children; }
     // Returns true if the child list changed.
-    virtual bool setChildren(const Vector<GraphicsLayer*>&);
+    WEBCORE_EXPORT virtual bool setChildren(const Vector<GraphicsLayer*>&);
 
     // Add child layers. If the child is already parented, it will be removed from its old parent.
-    virtual void addChild(GraphicsLayer*);
-    virtual void addChildAtIndex(GraphicsLayer*, int index);
-    virtual void addChildAbove(GraphicsLayer* layer, GraphicsLayer* sibling);
-    virtual void addChildBelow(GraphicsLayer* layer, GraphicsLayer* sibling);
-    virtual bool replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild);
+    WEBCORE_EXPORT virtual void addChild(GraphicsLayer*);
+    WEBCORE_EXPORT virtual void addChildAtIndex(GraphicsLayer*, int index);
+    WEBCORE_EXPORT virtual void addChildAbove(GraphicsLayer*, GraphicsLayer* sibling);
+    WEBCORE_EXPORT virtual void addChildBelow(GraphicsLayer*, GraphicsLayer* sibling);
+    WEBCORE_EXPORT virtual bool replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild);
 
-    void removeAllChildren();
-    virtual void removeFromParent();
+    WEBCORE_EXPORT void removeAllChildren();
+    WEBCORE_EXPORT virtual void removeFromParent();
 
     // The parent() of a maskLayer is set to the layer being masked.
     GraphicsLayer* maskLayer() const { return m_maskLayer; }
@@ -269,7 +269,7 @@ public:
     bool isMaskLayer() const { return m_isMaskLayer; }
     
     // The given layer will replicate this layer and its children; the replica renders behind this layer.
-    virtual void setReplicatedByLayer(GraphicsLayer*);
+    WEBCORE_EXPORT virtual void setReplicatedByLayer(GraphicsLayer*);
     // Whether this layer is being replicated by another layer.
     bool isReplicated() const { return m_replicaLayer; }
     // The layer that replicates this layer (if any).
@@ -301,7 +301,7 @@ public:
 
     // The size of the layer.
     const FloatSize& size() const { return m_size; }
-    virtual void setSize(const FloatSize&);
+    WEBCORE_EXPORT virtual void setSize(const FloatSize&);
 
     // The boundOrigin affects the offset at which content is rendered, and sublayers are positioned.
     const FloatPoint& boundsOrigin() const { return m_boundsOrigin; }
@@ -335,7 +335,7 @@ public:
     // Note that this covers the entire layer. Use setContentsToSolidColor() if the color should
     // only cover the contentsRect.
     const Color& backgroundColor() const { return m_backgroundColor; }
-    virtual void setBackgroundColor(const Color&);
+    WEBCORE_EXPORT virtual void setBackgroundColor(const Color&);
 
     // opaque means that we know the layer contents have no alpha
     bool contentsOpaque() const { return m_contentsOpaque; }
@@ -399,8 +399,8 @@ public:
     virtual void pauseAnimation(const String& /*animationName*/, double /*timeOffset*/) { }
     virtual void removeAnimation(const String& /*animationName*/) { }
 
-    virtual void suspendAnimations(double time);
-    virtual void resumeAnimations();
+    WEBCORE_EXPORT virtual void suspendAnimations(double time);
+    WEBCORE_EXPORT virtual void resumeAnimations();
     
     // Layer contents
     virtual void setContentsToImage(Image*) { }
@@ -454,10 +454,10 @@ public:
 
     // z-position is the z-equivalent of position(). It's only used for debugging purposes.
     virtual float zPosition() const { return m_zPosition; }
-    virtual void setZPosition(float);
+    WEBCORE_EXPORT virtual void setZPosition(float);
 
-    virtual void distributeOpacity(float);
-    virtual float accumulatedOpacity() const;
+    WEBCORE_EXPORT virtual void distributeOpacity(float);
+    WEBCORE_EXPORT virtual float accumulatedOpacity() const;
 
 #if PLATFORM(IOS)
     bool hasFlattenedPerspectiveTransform() const { return !preserves3D() && m_childrenTransform.hasPerspective(); }
@@ -471,7 +471,7 @@ public:
     float deviceScaleFactor() const { return m_client.deviceScaleFactor(); }
 
     virtual void deviceOrPageScaleFactorChanged() { }
-    void noteDeviceOrPageScaleFactorChangedIncludingDescendants();
+    WEBCORE_EXPORT void noteDeviceOrPageScaleFactorChangedIncludingDescendants();
 
     // Some compositing systems may do internal batching to synchronize compositing updates
     // with updates drawn into the window. These methods flush internal batched state on this layer
@@ -488,7 +488,7 @@ public:
     String layerTreeAsText(LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const;
 
     // Return an estimate of the backing store memory cost (in bytes). May be incorrect for tiled layers.
-    virtual double backingStoreMemoryEstimate() const;
+    WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const;
 
     bool usingTiledBacking() const { return m_usingTiledBacking; }
     virtual TiledBacking* tiledBacking() const { return 0; }
@@ -524,7 +524,7 @@ public:
 
 protected:
     // Should be called from derived class destructors. Should call willBeDestroyed() on super.
-    virtual void willBeDestroyed();
+    WEBCORE_EXPORT virtual void willBeDestroyed();
 
 #if ENABLE(CSS_FILTERS)
     // This method is used by platform GraphicsLayer classes to clear the filters
@@ -551,12 +551,12 @@ protected:
     GraphicsLayer* replicatedLayer() const { return m_replicatedLayer; }
     virtual void setReplicatedLayer(GraphicsLayer* layer) { m_replicatedLayer = layer; }
 
-    explicit GraphicsLayer(GraphicsLayerClient&);
+    WEBCORE_EXPORT explicit GraphicsLayer(GraphicsLayerClient&);
 
     void dumpProperties(TextStream&, int indent, LayerTreeAsTextBehavior) const;
     virtual void dumpAdditionalProperties(TextStream&, int /*indent*/, LayerTreeAsTextBehavior) const { }
 
-    virtual void getDebugBorderInfo(Color&, float& width) const;
+    WEBCORE_EXPORT virtual void getDebugBorderInfo(Color&, float& width) const;
 
     GraphicsLayerClient& m_client;
     String m_name;
index 82798c3..b6064b1 100644 (file)
@@ -46,9 +46,9 @@ class IntRect;
     
 class Icon : public RefCounted<Icon> {
 public:
-    static PassRefPtr<Icon> createIconForFiles(const Vector<String>& filenames);
+    WEBCORE_EXPORT static PassRefPtr<Icon> createIconForFiles(const Vector<String>& filenames);
 
-    ~Icon();
+    WEBCORE_EXPORT ~Icon();
 
     void paint(GraphicsContext*, const IntRect&);
 
@@ -58,7 +58,7 @@ public:
 
 #if PLATFORM(IOS)
     // FIXME: Make this work for non-iOS ports and remove the PLATFORM(IOS)-guard.
-    static PassRefPtr<Icon> createIconForImage(NativeImagePtr);
+    WEBCORE_EXPORT static PassRefPtr<Icon> createIconForImage(NativeImagePtr);
 #endif
 
 private:
index 2214a6c..42617ed 100644 (file)
@@ -76,8 +76,8 @@ public:
     virtual ~Image();
     
     static PassRefPtr<Image> create(ImageObserver* = 0);
-    static PassRefPtr<Image> loadPlatformResource(const char* name);
-    static bool supportsType(const String&); 
+    WEBCORE_EXPORT static PassRefPtr<Image> loadPlatformResource(const char* name);
+    WEBCORE_EXPORT static bool supportsType(const String&);
 
     virtual bool isSVGImage() const { return false; }
     virtual bool isBitmapImage() const { return false; }
@@ -88,7 +88,7 @@ public:
     // the image contains only resources from its own security origin.
     virtual bool hasSingleSecurityOrigin() const { return false; }
 
-    static Image* nullImage();
+    WEBCORE_EXPORT static Image* nullImage();
     bool isNull() const { return size().isEmpty(); }
 
     virtual void setContainerSize(const FloatSize&) { }
@@ -107,7 +107,7 @@ public:
     virtual FloatSize originalSize() const { return size(); }
 #endif
 
-    bool setData(PassRefPtr<SharedBuffer> data, bool allDataReceived);
+    WEBCORE_EXPORT bool setData(PassRefPtr<SharedBuffer> data, bool allDataReceived);
     virtual bool dataChanged(bool /*allDataReceived*/) { return false; }
     
     virtual String filenameExtension() const { return String(); } // null string if unknown
index 5c99499..1955712 100644 (file)
@@ -87,15 +87,15 @@ public:
 
     static std::unique_ptr<ImageBuffer> createCompatibleBuffer(const FloatSize&, float resolutionScale, ColorSpace, const GraphicsContext*, bool hasAlpha);
 
-    ~ImageBuffer();
+    WEBCORE_EXPORT ~ImageBuffer();
 
     // The actual resolution of the backing store
     const IntSize& internalSize() const { return m_size; }
     const IntSize& logicalSize() const { return m_logicalSize; }
 
-    GraphicsContext* context() const;
+    WEBCORE_EXPORT GraphicsContext* context() const;
 
-    PassRefPtr<Image> copyImage(BackingStoreCopy = CopyBackingStore, ScaleBehavior = Scaled) const;
+    WEBCORE_EXPORT PassRefPtr<Image> copyImage(BackingStoreCopy = CopyBackingStore, ScaleBehavior = Scaled) const;
     // Give hints on the faster copyImage Mode, return DontCopyBackingStore if it supports the DontCopyBackingStore behavior
     // or return CopyBackingStore if it doesn't.  
     static BackingStoreCopy fastCopyImageMode();
@@ -158,7 +158,7 @@ private:
 
     // This constructor will place its success into the given out-variable
     // so that create() knows when it should return failure.
-    ImageBuffer(const FloatSize&, float resolutionScale, ColorSpace, RenderingMode, bool& success);
+    WEBCORE_EXPORT ImageBuffer(const FloatSize&, float resolutionScale, ColorSpace, RenderingMode, bool& success);
 };
 
 #if USE(CG)
index 3e94cf1..1eb9f08 100644 (file)
@@ -104,14 +104,14 @@ public:
     }
 
 #if USE(CG)
-    explicit IntPoint(const CGPoint&); // don't do this implicitly since it's lossy
-    operator CGPoint() const;
+    WEBCORE_EXPORT explicit IntPoint(const CGPoint&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGPoint() const;
 #endif
 
 #if !PLATFORM(IOS)
 #if OS(DARWIN) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    explicit IntPoint(const NSPoint&); // don't do this implicitly since it's lossy
-    operator NSPoint() const;
+    WEBCORE_EXPORT explicit IntPoint(const NSPoint&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator NSPoint() const;
 #endif
 #endif // !PLATFORM(IOS)
 
index 1f42260..5849e3a 100644 (file)
@@ -73,8 +73,8 @@ public:
     IntRect(int x, int y, int width, int height)
         : m_location(IntPoint(x, y)), m_size(IntSize(width, height)) { }
 
-    explicit IntRect(const FloatRect&); // don't do this implicitly since it's lossy
-    explicit IntRect(const LayoutRect&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT explicit IntRect(const FloatRect&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT explicit IntRect(const LayoutRect&); // don't do this implicitly since it's lossy
         
     IntPoint location() const { return m_location; }
     IntSize size() const { return m_size; }
@@ -137,8 +137,8 @@ public:
     IntPoint minXMaxYCorner() const { return IntPoint(m_location.x(), m_location.y() + m_size.height()); } // typically bottomLeft
     IntPoint maxXMaxYCorner() const { return IntPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
     
-    bool intersects(const IntRect&) const;
-    bool contains(const IntRect&) const;
+    WEBCORE_EXPORT bool intersects(const IntRect&) const;
+    WEBCORE_EXPORT bool contains(const IntRect&) const;
 
     // This checks to see if the rect contains x,y in the traditional sense.
     // Equivalent to checking if the rect contains a 1x1 rect below and to the right of (px,py).
@@ -146,8 +146,8 @@ public:
         { return px >= x() && px < maxX() && py >= y() && py < maxY(); }
     bool contains(const IntPoint& point) const { return contains(point.x(), point.y()); }
 
-    void intersect(const IntRect&);
-    void unite(const IntRect&);
+    WEBCORE_EXPORT void intersect(const IntRect&);
+    WEBCORE_EXPORT void unite(const IntRect&);
     void uniteIfNonZero(const IntRect&);
 
     void inflateX(int dx)
@@ -161,7 +161,7 @@ public:
         m_size.setHeight(m_size.height() + dy + dy);
     }
     void inflate(int d) { inflateX(d); inflateY(d); }
-    void scale(float s);
+    WEBCORE_EXPORT void scale(float s);
 
     IntSize differenceToPoint(const IntPoint&) const;
     int distanceSquaredToPoint(const IntPoint& p) const { return differenceToPoint(p).diagonalLengthSquared(); }
@@ -187,11 +187,11 @@ public:
 #endif
 
 #if USE(CG)
-    operator CGRect() const;
+    WEBCORE_EXPORT operator CGRect() const;
 #endif
 
 #if PLATFORM(MAC) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    operator NSRect() const;
+    WEBCORE_EXPORT operator NSRect() const;
 #endif
 
     void dump(WTF::PrintStream& out) const;
index a82328c..fe9a1ac 100644 (file)
@@ -62,7 +62,7 @@ class IntSize {
 public:
     IntSize() : m_width(0), m_height(0) { }
     IntSize(int width, int height) : m_width(width), m_height(height) { }
-    explicit IntSize(const FloatSize&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT explicit IntSize(const FloatSize&); // don't do this implicitly since it's lossy
     
     int width() const { return m_width; }
     int height() const { return m_height; }
@@ -137,13 +137,13 @@ public:
     }
 
 #if USE(CG)
-    explicit IntSize(const CGSize&); // don't do this implicitly since it's lossy
-    operator CGSize() const;
+    WEBCORE_EXPORT explicit IntSize(const CGSize&); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGSize() const;
 #endif
 
 #if PLATFORM(MAC) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
-    explicit IntSize(const NSSize &); // don't do this implicitly since it's lossy
-    operator NSSize() const;
+    WEBCORE_EXPORT explicit IntSize(const NSSize &); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator NSSize() const;
 #endif
 
 #if PLATFORM(WIN)
index d12361a..b53fe2b 100644 (file)
@@ -49,8 +49,8 @@ public:
     LayoutRect(const FloatPoint& location, const FloatSize& size)
         : m_location(location), m_size(size) { }
     LayoutRect(const IntRect& rect) : m_location(rect.location()), m_size(rect.size()) { }
-
-    explicit LayoutRect(const FloatRect&); // don't do this implicitly since it's lossy
+    
+    WEBCORE_EXPORT explicit LayoutRect(const FloatRect&); // don't do this implicitly since it's lossy
         
     LayoutPoint location() const { return m_location; }
     LayoutSize size() const { return m_size; }
@@ -134,7 +134,7 @@ public:
     LayoutPoint maxXMaxYCorner() const { return LayoutPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
     
     bool intersects(const LayoutRect&) const;
-    bool contains(const LayoutRect&) const;
+    WEBCORE_EXPORT bool contains(const LayoutRect&) const;
 
     // This checks to see if the rect contains x,y in the traditional sense.
     // Equivalent to checking if the rect contains a 1x1 rect below and to the right of (px,py).
@@ -143,7 +143,7 @@ public:
     bool contains(const LayoutPoint& point) const { return contains(point.x(), point.y()); }
 
     void intersect(const LayoutRect&);
-    void unite(const LayoutRect&);
+    WEBCORE_EXPORT void unite(const LayoutRect&);
     void uniteIfNonZero(const LayoutRect&);
 
     void inflateX(LayoutUnit dx)
@@ -157,7 +157,7 @@ public:
         m_size.setHeight(m_size.height() + dy + dy);
     }
     void inflate(LayoutUnit d) { inflateX(d); inflateY(d); }
-    void scale(float s);
+    WEBCORE_EXPORT void scale(float s);
     void scale(float xScale, float yScale);
 
     LayoutRect transposedRect() const { return LayoutRect(m_location.transposedPoint(), m_size.transposedSize()); }
index 1bb85d7..b6d7d6b 100644 (file)
@@ -640,7 +640,7 @@ typedef void (*MediaEngineRegister)(MediaEngineRegistrar);
 
 class MediaPlayerFactorySupport {
 public:
-    static void callRegisterMediaEngine(MediaEngineRegister);
+    WEBCORE_EXPORT static void callRegisterMediaEngine(MediaEngineRegister);
 };
 
 }
index ba6d549..48c329a 100644 (file)
@@ -84,11 +84,11 @@ namespace WebCore {
     class Path {
         WTF_MAKE_FAST_ALLOCATED;
     public:
-        Path();
+        WEBCORE_EXPORT Path();
 #if USE(CG)
         Path(RetainPtr<CGMutablePathRef>);
 #endif
-        ~Path();
+        WEBCORE_EXPORT ~Path();
 
         Path(const Path&);
         Path& operator=(const Path&);
@@ -129,7 +129,7 @@ namespace WebCore {
             PreferBezierRoundedRect
         };
 
-        void addRoundedRect(const FloatRect&, const FloatSize& roundingRadii, RoundedRectStrategy = PreferNativeRoundedRect);
+        WEBCORE_EXPORT void addRoundedRect(const FloatRect&, const FloatSize& roundingRadii, RoundedRectStrategy = PreferNativeRoundedRect);
         void addRoundedRect(const FloatRoundedRect&, RoundedRectStrategy = PreferNativeRoundedRect);
         void addRoundedRect(const RoundedRect&);
 
index 6ba37f1..9f80c0d 100644 (file)
@@ -35,30 +35,30 @@ class Region {
     WTF_MAKE_FAST_ALLOCATED;
 
 public:
-    Region();
-    Region(const IntRect&);
+    WEBCORE_EXPORT Region();
+    WEBCORE_EXPORT Region(const IntRect&);
 
     IntRect bounds() const { return m_bounds; }
     bool isEmpty() const { return m_bounds.isEmpty(); }
     bool isRect() const { return m_shape.isRect(); }
 
-    Vector<IntRect> rects() const;
+    WEBCORE_EXPORT Vector<IntRect> rects() const;
 
-    void unite(const Region&);
-    void intersect(const Region&);
-    void subtract(const Region&);
+    WEBCORE_EXPORT void unite(const Region&);
+    WEBCORE_EXPORT void intersect(const Region&);
+    WEBCORE_EXPORT void subtract(const Region&);
 
     void translate(const IntSize&);
 
     // Returns true if the query region is a subset of this region.
-    bool contains(const Region&) const;
+    WEBCORE_EXPORT bool contains(const Region&) const;
 
     bool contains(const IntPoint&) const;
 
     // Returns true if the query region intersects any part of this region.
     bool intersects(const Region&) const;
 
-    unsigned totalArea() const;
+    WEBCORE_EXPORT unsigned totalArea() const;
 
     unsigned gridSize() const { return m_shape.gridSize(); }
 
@@ -93,7 +93,7 @@ public:
 
     void setShapeSegments(const Vector<int>& segments) { m_shape.setSegments(segments); }
     void setShapeSpans(const Vector<Span>& spans) { m_shape.setSpans(spans); }
-    void updateBoundsFromShape();
+    WEBCORE_EXPORT void updateBoundsFromShape();
 
 private:
 
@@ -119,7 +119,7 @@ private:
         static Shape intersectShapes(const Shape& shape1, const Shape& shape2);
         static Shape subtractShapes(const Shape& shape1, const Shape& shape2);
 
-        void translate(const IntSize&);
+        WEBCORE_EXPORT void translate(const IntSize&);
         void swap(Shape&);
 
         struct CompareContainsOperation;
@@ -128,7 +128,7 @@ private:
         template<typename CompareOperation>
         static bool compareShapes(const Shape& shape1, const Shape& shape2);
         
-        bool isValid() const;
+        WEBCORE_EXPORT bool isValid() const;
 
         // For encoding/decoding only.
         const Vector<int, 32>& segments() const { return m_segments; }
index c83927b..bd22011 100644 (file)
@@ -55,96 +55,96 @@ public:
     // to keep the overall tile cost low.
     static const int kTiledLayerTileSize = 512;
 
-    explicit GraphicsLayerCA(GraphicsLayerClient&);
-    virtual ~GraphicsLayerCA();
+    WEBCORE_EXPORT explicit GraphicsLayerCA(GraphicsLayerClient&);
+    WEBCORE_EXPORT virtual ~GraphicsLayerCA();
 
-    virtual void initialize() override;
+    WEBCORE_EXPORT virtual void initialize() override;
 
-    virtual void setName(const String&) override;
+    WEBCORE_EXPORT virtual void setName(const String&) override;
 
-    virtual PlatformLayerID primaryLayerID() const override;
+    WEBCORE_EXPORT virtual PlatformLayerID primaryLayerID() const override;
 
-    virtual PlatformLayer* platformLayer() const override;
+    WEBCORE_EXPORT virtual PlatformLayer* platformLayer() const override;
     PlatformCALayer* platformCALayer() const { return primaryLayer(); }
 
-    virtual bool setChildren(const Vector<GraphicsLayer*>&) override;
-    virtual void addChild(GraphicsLayer*) override;
-    virtual void addChildAtIndex(GraphicsLayer*, int index) override;
-    virtual void addChildAbove(GraphicsLayer*, GraphicsLayer* sibling) override;
-    virtual void addChildBelow(GraphicsLayer*, GraphicsLayer* sibling) override;
-    virtual bool replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild) override;
+    WEBCORE_EXPORT virtual bool setChildren(const Vector<GraphicsLayer*>&) override;
+    WEBCORE_EXPORT virtual void addChild(GraphicsLayer*) override;
+    WEBCORE_EXPORT virtual void addChildAtIndex(GraphicsLayer*, int index) override;
+    WEBCORE_EXPORT virtual void addChildAbove(GraphicsLayer*, GraphicsLayer* sibling) override;
+    WEBCORE_EXPORT virtual void addChildBelow(GraphicsLayer*, GraphicsLayer* sibling) override;
+    WEBCORE_EXPORT virtual bool replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild) override;
 
-    virtual void removeFromParent() override;
+    WEBCORE_EXPORT virtual void removeFromParent() override;
 
-    virtual void setMaskLayer(GraphicsLayer*) override;
-    virtual void setReplicatedLayer(GraphicsLayer*) override;
+    WEBCORE_EXPORT virtual void setMaskLayer(GraphicsLayer*) override;
+    WEBCORE_EXPORT virtual void setReplicatedLayer(GraphicsLayer*) override;
 
-    virtual void setPosition(const FloatPoint&) override;
-    virtual void setAnchorPoint(const FloatPoint3D&) override;
-    virtual void setSize(const FloatSize&) override;
-    virtual void setBoundsOrigin(const FloatPoint&) override;
+    WEBCORE_EXPORT virtual void setPosition(const FloatPoint&) override;
+    WEBCORE_EXPORT virtual void setAnchorPoint(const FloatPoint3D&) override;
+    WEBCORE_EXPORT virtual void setSize(const FloatSize&) override;
+    WEBCORE_EXPORT virtual void setBoundsOrigin(const FloatPoint&) override;
 
-    virtual void setTransform(const TransformationMatrix&) override;
+    WEBCORE_EXPORT virtual void setTransform(const TransformationMatrix&) override;
 
-    virtual void setChildrenTransform(const TransformationMatrix&) override;
+    WEBCORE_EXPORT virtual void setChildrenTransform(const TransformationMatrix&) override;
 
-    virtual void setPreserves3D(bool) override;
-    virtual void setMasksToBounds(bool) override;
-    virtual void setDrawsContent(bool) override;
-    virtual void setContentsVisible(bool) override;
-    virtual void setAcceleratesDrawing(bool) override;
+    WEBCORE_EXPORT virtual void setPreserves3D(bool) override;
+    WEBCORE_EXPORT virtual void setMasksToBounds(bool) override;
+    WEBCORE_EXPORT virtual void setDrawsContent(bool) override;
+    WEBCORE_EXPORT virtual void setContentsVisible(bool) override;
+    WEBCORE_EXPORT virtual void setAcceleratesDrawing(bool) override;
 
-    virtual void setBackgroundColor(const Color&) override;
+    WEBCORE_EXPORT virtual void setBackgroundColor(const Color&) override;
 
-    virtual void setContentsOpaque(bool) override;
-    virtual void setBackfaceVisibility(bool) override;
+    WEBCORE_EXPORT virtual void setContentsOpaque(bool) override;
+    WEBCORE_EXPORT virtual void setBackfaceVisibility(bool) override;
 
     // return true if we started an animation
-    virtual void setOpacity(float) override;
+    WEBCORE_EXPORT virtual void setOpacity(float) override;
 
 #if ENABLE(CSS_FILTERS)
-    virtual bool setFilters(const FilterOperations&) override;
+    WEBCORE_EXPORT virtual bool setFilters(const FilterOperations&) override;
     virtual bool filtersCanBeComposited(const FilterOperations&);
 #endif
 
 #if ENABLE(CSS_COMPOSITING)
-    virtual void setBlendMode(BlendMode) override;
+    WEBCORE_EXPORT virtual void setBlendMode(BlendMode) override;
 #endif
 
-    virtual void setNeedsDisplay() override;
-    virtual void setNeedsDisplayInRect(const FloatRect&, ShouldClipToLayer = ClipToLayer) override;
-    virtual void setContentsNeedsDisplay() override;
+    WEBCORE_EXPORT virtual void setNeedsDisplay() override;
+    WEBCORE_EXPORT virtual void setNeedsDisplayInRect(const FloatRect&, ShouldClipToLayer = ClipToLayer) override;
+    WEBCORE_EXPORT virtual void setContentsNeedsDisplay() override;
     
-    virtual void setContentsRect(const FloatRect&) override;
-    virtual void setContentsClippingRect(const FloatRect&) override;
+    WEBCORE_EXPORT virtual void setContentsRect(const FloatRect&) override;
+    WEBCORE_EXPORT virtual void setContentsClippingRect(const FloatRect&) override;
     
-    virtual void suspendAnimations(double time) override;
-    virtual void resumeAnimations() override;
+    WEBCORE_EXPORT virtual void suspendAnimations(double time) override;
+    WEBCORE_EXPORT virtual void resumeAnimations() override;
 
-    virtual bool addAnimation(const KeyframeValueList&, const FloatSize& boxSize, const Animation*, const String& animationName, double timeOffset) override;
-    virtual void pauseAnimation(const String& animationName, double timeOffset) override;
-    virtual void removeAnimation(const String& animationName) override;
+    WEBCORE_EXPORT virtual bool addAnimation(const KeyframeValueList&, const FloatSize& boxSize, const Animation*, const String& animationName, double timeOffset) override;
+    WEBCORE_EXPORT virtual void pauseAnimation(const String& animationName, double timeOffset) override;
+    WEBCORE_EXPORT virtual void removeAnimation(const String& animationName) override;
 
-    virtual void setContentsToImage(Image*) override;
-    virtual void setContentsToMedia(PlatformLayer*) override;
+    WEBCORE_EXPORT virtual void setContentsToImage(Image*) override;
+    WEBCORE_EXPORT virtual void setContentsToMedia(PlatformLayer*) override;
 #if PLATFORM(IOS)
-    virtual PlatformLayer* contentsLayerForMedia() const override;
+    WEBCORE_EXPORT virtual PlatformLayer* contentsLayerForMedia() const override;
 #endif
-    virtual void setContentsToCanvas(PlatformLayer*) override;
-    virtual void setContentsToSolidColor(const Color&) override;
+    WEBCORE_EXPORT virtual void setContentsToCanvas(PlatformLayer*) override;
+    WEBCORE_EXPORT virtual void setContentsToSolidColor(const Color&) override;
 
     virtual bool usesContentsLayer() const override { return m_contentsLayerPurpose != NoContentsLayer; }
     
-    virtual void setShowDebugBorder(bool) override;
-    virtual void setShowRepaintCounter(bool) override;
+    WEBCORE_EXPORT virtual void setShowDebugBorder(bool) override;
+    WEBCORE_EXPORT virtual void setShowRepaintCounter(bool) override;
 
-    virtual void setDebugBackgroundColor(const Color&) override;
-    virtual void setDebugBorder(const Color&, float borderWidth) override;
+    WEBCORE_EXPORT virtual void setDebugBackgroundColor(const Color&) override;
+    WEBCORE_EXPORT virtual void setDebugBorder(const Color&, float borderWidth) override;
 
-    virtual void setCustomAppearance(CustomAppearance) override;
-    virtual void setCustomBehavior(CustomBehavior) override;
+    WEBCORE_EXPORT virtual void setCustomAppearance(CustomAppearance) override;
+    WEBCORE_EXPORT virtual void setCustomBehavior(CustomBehavior) override;
 
-    virtual void deviceOrPageScaleFactorChanged() override;
+    WEBCORE_EXPORT virtual void deviceOrPageScaleFactorChanged() override;
 
     virtual FloatSize pixelAlignmentOffset() const override { return m_pixelAlignmentOffset; }
 
@@ -158,51 +158,51 @@ public:
     };
     void recursiveCommitChanges(const CommitState&, const TransformState&, float pageScaleFactor = 1, const FloatPoint& positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
 
-    virtual void flushCompositingState(const FloatRect&) override;
-    virtual void flushCompositingStateForThisLayerOnly() override;
+    WEBCORE_EXPORT virtual void flushCompositingState(const FloatRect&) override;
+    WEBCORE_EXPORT virtual void flushCompositingStateForThisLayerOnly() override;
 
-    virtual bool visibleRectChangeRequiresFlush(const FloatRect& visibleRect) const override;
+    WEBCORE_EXPORT virtual bool visibleRectChangeRequiresFlush(const FloatRect& visibleRect) const override;
 
-    virtual TiledBacking* tiledBacking() const override;
+    WEBCORE_EXPORT virtual TiledBacking* tiledBacking() const override;
 
 protected:
-    virtual void setOpacityInternal(float) override;
+    WEBCORE_EXPORT virtual void setOpacityInternal(float) override;
     
-    bool animationCanBeAccelerated(const KeyframeValueList&, const Animation*) const;
+    WEBCORE_EXPORT bool animationCanBeAccelerated(const KeyframeValueList&, const Animation*) const;
 
 private:
     virtual bool isGraphicsLayerCA() const override { return true; }
 
-    virtual void willBeDestroyed() override;
+    WEBCORE_EXPORT virtual void willBeDestroyed() override;
 
     // PlatformCALayerClient overrides
     virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*) override { }
     virtual bool platformCALayerRespondsToLayoutChanges() const override { return false; }
 
-    virtual void platformCALayerAnimationStarted(const String& animationKey, CFTimeInterval beginTime) override;
-    virtual void platformCALayerAnimationEnded(const String& animationKey) override;
+    WEBCORE_EXPORT void platformCALayerAnimationStarted(const String& animationKey, CFTimeInterval beginTime) override;
+    WEBCORE_EXPORT void platformCALayerAnimationEnded(const String& animationKey) override;
     virtual CompositingCoordinatesOrientation platformCALayerContentsOrientation() const override { return contentsOrientation(); }
-    virtual void platformCALayerPaintContents(PlatformCALayer*, GraphicsContext&, const FloatRect& clip) override;
+    WEBCORE_EXPORT virtual void platformCALayerPaintContents(PlatformCALayer*, GraphicsContext&, const FloatRect& clip) override;
     virtual bool platformCALayerShowDebugBorders() const override { return isShowingDebugBorder(); }
-    virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const override;
+    WEBCORE_EXPORT virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const override;
     virtual int platformCALayerIncrementRepaintCount(PlatformCALayer*) override { return incrementRepaintCount(); }
 
     virtual bool platformCALayerContentsOpaque() const override { return contentsOpaque(); }
     virtual bool platformCALayerDrawsContent() const override { return drawsContent(); }
     virtual void platformCALayerLayerDidDisplay(PlatformCALayer* layer) override { return layerDidDisplay(layer); }
-    virtual void platformCALayerSetNeedsToRevalidateTiles() override;
-    virtual float platformCALayerDeviceScaleFactor() const override;
-    virtual float platformCALayerContentsScaleMultiplierForNewTiles(PlatformCALayer*) const override;
-    virtual bool platformCALayerShouldAggressivelyRetainTiles(PlatformCALayer*) const override;
-    virtual bool platformCALayerShouldTemporarilyRetainTileCohorts(PlatformCALayer*) const override;
+    WEBCORE_EXPORT virtual void platformCALayerSetNeedsToRevalidateTiles() override;
+    WEBCORE_EXPORT virtual float platformCALayerDeviceScaleFactor() const override;
+    WEBCORE_EXPORT virtual float platformCALayerContentsScaleMultiplierForNewTiles(PlatformCALayer*) const override;
+    WEBCORE_EXPORT virtual bool platformCALayerShouldAggressivelyRetainTiles(PlatformCALayer*) const override;
+    WEBCORE_EXPORT virtual bool platformCALayerShouldTemporarilyRetainTileCohorts(PlatformCALayer*) const override;
 
     virtual bool isCommittingChanges() const override { return m_isCommittingChanges; }
 
-    virtual double backingStoreMemoryEstimate() const override;
+    WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const override;
 
-    virtual bool shouldRepaintOnSizeChange() const override;
+    WEBCORE_EXPORT virtual bool shouldRepaintOnSizeChange() const override;
 
-    void layerDidDisplay(PlatformCALayer*);
+    WEBCORE_EXPORT void layerDidDisplay(PlatformCALayer*);
     void updateOpacityOnLayer();
     
 #if ENABLE(CSS_FILTERS)
@@ -273,10 +273,10 @@ private:
     void setupContentsLayer(PlatformCALayer*);
     PlatformCALayer* contentsLayer() const { return m_contentsLayer.get(); }
 
-    virtual void setReplicatedByLayer(GraphicsLayer*) override;
+    WEBCORE_EXPORT virtual void setReplicatedByLayer(GraphicsLayer*) override;
 
-    virtual void getDebugBorderInfo(Color&, float& width) const override;
-    virtual void dumpAdditionalProperties(TextStream&, int indent, LayerTreeAsTextBehavior) const override;
+    WEBCORE_EXPORT virtual void getDebugBorderInfo(Color&, float& width) const override;
+    WEBCORE_EXPORT virtual void dumpAdditionalProperties(TextStream&, int indent, LayerTreeAsTextBehavior) const override;
 
     void computePixelAlignment(float contentsScale, const FloatPoint& positionRelativeToBase,
         FloatPoint& position, FloatPoint3D& anchorPoint, FloatSize& alignmentOffset) const;
@@ -292,7 +292,7 @@ private:
 
     bool recursiveVisibleRectChangeRequiresFlush(const TransformState&) const;
 
-    virtual bool canThrottleLayerFlush() const override;
+    WEBCORE_EXPORT virtual bool canThrottleLayerFlush() const override;
 
     // Used to track the path down the tree for replica layers.
     struct ReplicaState {
index 72b6725..0acd37a 100644 (file)
@@ -35,19 +35,19 @@ namespace WebCore {
 class LayerFlushScheduler {
     WTF_MAKE_NONCOPYABLE(LayerFlushScheduler);
 public:
-    LayerFlushScheduler(LayerFlushSchedulerClient*);
-    virtual ~LayerFlushScheduler();
+    WEBCORE_EXPORT LayerFlushScheduler(LayerFlushSchedulerClient*);
+    WEBCORE_EXPORT virtual ~LayerFlushScheduler();
 
-    void schedule();
-    void invalidate();
+    WEBCORE_EXPORT void schedule();
+    WEBCORE_EXPORT void invalidate();
 
-    void suspend();
-    void resume();
+    WEBCORE_EXPORT void suspend();
+    WEBCORE_EXPORT void resume();
 
     bool isSuspended() const { return m_isSuspended; }
 
 #if PLATFORM(COCOA)
-    virtual void layerFlushCallback();
+    WEBCORE_EXPORT virtual void layerFlushCallback();
 #endif
 
 private:
index c3b9b5a..868116f 100644 (file)
@@ -41,8 +41,8 @@ namespace WebCore {
 class LayerPool {
     WTF_MAKE_NONCOPYABLE(LayerPool);
 public:
-    LayerPool();
-    ~LayerPool();
+    WEBCORE_EXPORT LayerPool();
+    WEBCORE_EXPORT ~LayerPool();
 
     static HashSet<LayerPool*>& allLayerPools();
     
index 1ae1851..8860687 100644 (file)
@@ -47,13 +47,13 @@ class PlatformCALayer;
 
 class PlatformCAFilters {
 public:
-    static void setFiltersOnLayer(PlatformLayer*, const FilterOperations&);
-    static void setBlendingFiltersOnLayer(PlatformLayer*, const BlendMode);
+    WEBCORE_EXPORT static void setFiltersOnLayer(PlatformLayer*, const FilterOperations&);
+    WEBCORE_EXPORT static void setBlendingFiltersOnLayer(PlatformLayer*, const BlendMode);
     static int numAnimatedFilterProperties(FilterOperation::OperationType);
     static const char* animatedFilterPropertyName(FilterOperation::OperationType, int internalFilterPropertyIndex);
 
 #if PLATFORM(COCOA)
-    static RetainPtr<NSValue> filterValueForOperation(const FilterOperation*, int internalFilterPropertyIndex);
+    WEBCORE_EXPORT static RetainPtr<NSValue> filterValueForOperation(const FilterOperation*, int internalFilterPropertyIndex);
 #endif
 
 #ifdef USE_CA_FILTERS
index bea6689..5c0a863 100644 (file)
@@ -82,7 +82,7 @@ public:
 
     virtual PassRefPtr<PlatformCALayer> clone(PlatformCALayerClient*) const = 0;
 
-    virtual ~PlatformCALayer();
+    WEBCORE_EXPORT virtual ~PlatformCALayer();
 
     GraphicsLayer::PlatformLayerID layerID() const { return m_layerID; }
 
@@ -92,7 +92,7 @@ public:
 
     // This function passes the layer as a void* rather than a PlatformLayer because PlatformLayer
     // is defined differently for Obj C and C++. This allows callers from both languages.
-    static PlatformCALayer* platformCALayer(void* platformLayer);
+    WEBCORE_EXPORT static PlatformCALayer* platformCALayer(void* platformLayer);
 
     virtual PlatformLayer* platformLayer() const { return m_layer.get(); }
 
@@ -245,14 +245,14 @@ public:
         
     // Functions allows us to share implementation across WebTiledLayer and WebLayer
     static RepaintRectList collectRectsToPaint(CGContextRef, PlatformCALayer*);
-    static void drawLayerContents(CGContextRef, PlatformCALayer*, RepaintRectList& dirtyRects);
+    WEBCORE_EXPORT static void drawLayerContents(CGContextRef, PlatformCALayer*, RepaintRectList& dirtyRects);
     static void drawRepaintIndicator(CGContextRef, PlatformCALayer*, int repaintCount, CGColorRef customBackgroundColor);
     static CGRect frameForLayer(const PlatformLayer*);
 
     void moveToLayerPool();
 
 protected:
-    PlatformCALayer(LayerType, PlatformCALayerClient* owner);
+    WEBCORE_EXPORT PlatformCALayer(LayerType, PlatformCALayerClient* owner);
 
     virtual LayerPool& layerPool();
 
index 746dcaa..4f0054c 100644 (file)
@@ -49,7 +49,7 @@ void setHasExplicitBeginTime(CAAnimation *, bool);
 class PlatformCAAnimationMac final : public PlatformCAAnimation {
 public:
     static PassRefPtr<PlatformCAAnimation> create(AnimationType, const String& keyPath);
-    static PassRefPtr<PlatformCAAnimation> create(PlatformAnimationRef);
+    WEBCORE_EXPORT static PassRefPtr<PlatformCAAnimation> create(PlatformAnimationRef);
 
     virtual ~PlatformCAAnimationMac();
 
index 41f0367..549b092 100644 (file)
@@ -40,7 +40,7 @@ public:
     // is defined differently for Obj C and C++. This allows callers from both languages.
     static PassRefPtr<PlatformCALayer> create(void* platformLayer, PlatformCALayerClient*);
 
-    static LayerType layerTypeForPlatformLayer(PlatformLayer*);
+    WEBCORE_EXPORT static LayerType layerTypeForPlatformLayer(PlatformLayer*);
 
     ~PlatformCALayerMac();
 
@@ -89,7 +89,7 @@ public:
 
     virtual void setHidden(bool) override;
 
-    virtual void setGeometryFlipped(bool) override;
+    WEBCORE_EXPORT virtual void setGeometryFlipped(bool) override;
 
     virtual bool isDoubleSided() const override;
     virtual void setDoubleSided(bool) override;
@@ -120,7 +120,7 @@ public:
 
 #if ENABLE(CSS_FILTERS)
     virtual void setFilters(const FilterOperations&) override;
-    static bool filtersCanBeComposited(const FilterOperations&);
+    WEBCORE_EXPORT static bool filtersCanBeComposited(const FilterOperations&);
     virtual void copyFiltersFrom(const PlatformCALayer*) override;
 #endif
 
index c5073a7..80af0d5 100644 (file)
@@ -47,14 +47,14 @@ class IOSurfacePool {
     friend class NeverDestroyed<IOSurfacePool>;
 
 public:
-    static IOSurfacePool& sharedPool();
+    WEBCORE_EXPORT static IOSurfacePool& sharedPool();
 
     PassRefPtr<IOSurface> takeSurface(IntSize size, ColorSpace colorSpace);
-    void addSurface(IOSurface*);
+    WEBCORE_EXPORT void addSurface(IOSurface*);
 
     void discardAllSurfaces();
 
-    void setPoolSize(size_t);
+    WEBCORE_EXPORT void setPoolSize(size_t);
 
     void showPoolStatistics();
 
index 7f808ca..c7cfa15 100644 (file)
@@ -37,22 +37,22 @@ namespace WebCore {
 
 class IOSurface final : public RefCounted<IOSurface> {
 public:
-    static PassRefPtr<IOSurface> create(IntSize, ColorSpace);
-    static PassRefPtr<IOSurface> createFromMachPort(mach_port_t, ColorSpace);
+    WEBCORE_EXPORT static PassRefPtr<IOSurface> create(IntSize, ColorSpace);
+    WEBCORE_EXPORT static PassRefPtr<IOSurface> createFromMachPort(mach_port_t, ColorSpace);
     static PassRefPtr<IOSurface> createFromSurface(IOSurfaceRef, ColorSpace);
-    static PassRefPtr<IOSurface> createFromImage(CGImageRef);
+    WEBCORE_EXPORT static PassRefPtr<IOSurface> createFromImage(CGImageRef);
 
     static IntSize maximumSize();
 
-    mach_port_t createMachPort() const;
+    WEBCORE_EXPORT mach_port_t createMachPort() const;
 
     // Any images created from a surface need to be released before releasing
     // the surface, or an expensive GPU readback can result.
-    RetainPtr<CGImageRef> createImage();
+    WEBCORE_EXPORT RetainPtr<CGImageRef> createImage();
 
     IOSurfaceRef surface() const { return m_surface.get(); }
-    GraphicsContext& ensureGraphicsContext();
-    CGContextRef ensurePlatformContext();
+    WEBCORE_EXPORT GraphicsContext& ensureGraphicsContext();
+    WEBCORE_EXPORT CGContextRef ensurePlatformContext();
 
     enum class SurfaceState {
         Valid,
@@ -66,17 +66,17 @@ public:
     bool isVolatile() const;
 
     // setIsVolatile only has an effect on iOS and OS 10.9 and above.
-    SurfaceState setIsVolatile(bool);
+    WEBCORE_EXPORT SurfaceState setIsVolatile(bool);
 
     IntSize size() const { return m_size; }
     size_t totalBytes() const { return m_totalBytes; }
     ColorSpace colorSpace() const { return m_colorSpace; }
 
-    bool isInUse() const;
+    WEBCORE_EXPORT bool isInUse() const;
 
     // The graphics context cached on the surface counts as a "user", so to get
     // an accurate result from isInUse(), it needs to be released.
-    void releaseGraphicsContext();
+    WEBCORE_EXPORT void releaseGraphicsContext();
 
 private:
     IOSurface(IntSize, ColorSpace);
index d12e9b3..720f665 100644 (file)
@@ -40,10 +40,10 @@ typedef IntRectExtent FilterOutsets;
 class FilterOperations {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    FilterOperations();
+    WEBCORE_EXPORT FilterOperations();
     FilterOperations(const FilterOperations& other) { *this = other; }
     
-    FilterOperations& operator=(const FilterOperations&);
+    WEBCORE_EXPORT FilterOperations& operator=(const FilterOperations&);
     
     bool operator==(const FilterOperations&) const;
     bool operator!=(const FilterOperations& o) const
index 608b58a..aee896f 100644 (file)
@@ -56,7 +56,7 @@ namespace WebCore {
 class MediaPlayerPrivateQTKit : public MediaPlayerPrivateInterface {
 public:
     ~MediaPlayerPrivateQTKit();
-    static void registerMediaEngine(MediaEngineRegistrar);
+    WEBCORE_EXPORT static void registerMediaEngine(MediaEngineRegistrar);
 
     void repaint();
     void loadStateChanged();
index c43ee6a..da1b06d 100644 (file)
@@ -126,8 +126,8 @@ public:
 
     void hostLayerSizeChanged();
 
-    static void setLayerPoolCapacity(unsigned);
-    static void drainLayerPool();
+    WEBCORE_EXPORT static void setLayerPoolCapacity(unsigned);
+    WEBCORE_EXPORT static void drainLayerPool();
 
     // Logging
     void dumpTiles();
index 7c3bd11..fde8f27 100644 (file)
@@ -37,9 +37,9 @@ namespace WebCore {
 
 class PlatformEventFactory {
 public:
-    static PlatformMouseEvent createPlatformMouseEvent(WebEvent *);
-    static PlatformWheelEvent createPlatformWheelEvent(WebEvent *);
-    static PlatformKeyboardEvent createPlatformKeyboardEvent(WebEvent *);
+    WEBCORE_EXPORT static PlatformMouseEvent createPlatformMouseEvent(WebEvent *);
+    WEBCORE_EXPORT static PlatformWheelEvent createPlatformWheelEvent(WebEvent *);
+    WEBCORE_EXPORT static PlatformKeyboardEvent createPlatformKeyboardEvent(WebEvent *);
 #if ENABLE(TOUCH_EVENTS)
     static PlatformTouchEvent createPlatformTouchEvent(WebEvent *);
 #endif
index 8115bb6..03f4d3f 100644 (file)
@@ -36,11 +36,11 @@ class FloatingPointEnvironment {
 public:
     FloatingPointEnvironment();
 
-    void enableDenormalSupport();
-    void saveMainThreadEnvironment();
+    WEBCORE_EXPORT void enableDenormalSupport();
+    WEBCORE_EXPORT void saveMainThreadEnvironment();
     void propagateMainThreadEnvironment();
 
-    static FloatingPointEnvironment& shared();
+    WEBCORE_EXPORT static FloatingPointEnvironment& shared();
 
 private:
 
index bd151b2..ed76281 100644 (file)
@@ -46,7 +46,7 @@ class HIDGamepadProvider : public GamepadProvider {
     WTF_MAKE_NONCOPYABLE(HIDGamepadProvider);
     friend class NeverDestroyed<HIDGamepadProvider>;
 public:
-    static HIDGamepadProvider& shared();
+    WEBCORE_EXPORT static HIDGamepadProvider& shared();
 
     virtual void startMonitoringGamepads(GamepadProviderClient*);
     virtual void stopMonitoringGamepads(GamepadProviderClient*);
index 8260075..ab3e5ff 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 
 class MockMediaStreamCenter final : public MediaStreamCenter {
 public:
-    static void registerMockMediaStreamCenter();
+    WEBCORE_EXPORT static void registerMockMediaStreamCenter();
 
     virtual void validateRequestConstraints(PassRefPtr<MediaStreamCreationClient>, PassRefPtr<MediaConstraints> audioConstraints, PassRefPtr<MediaConstraints> videoConstraints);
     virtual void createMediaStream(PassRefPtr<MediaStreamCreationClient>, PassRefPtr<MediaConstraints> audioConstraints, PassRefPtr<MediaConstraints> videoConstraints);
index e6ac52f..c5e7f0f 100644 (file)
@@ -193,13 +193,13 @@ public:
         MultipartFormData // for multipart/form-data
     };
 
-    static PassRefPtr<FormData> create();
-    static PassRefPtr<FormData> create(const void*, size_t);
+    WEBCORE_EXPORT static PassRefPtr<FormData> create();
+    WEBCORE_EXPORT static PassRefPtr<FormData> create(const void*, size_t);
     static PassRefPtr<FormData> create(const CString&);
     static PassRefPtr<FormData> create(const Vector<char>&);
     static PassRefPtr<FormData> create(const FormDataList&, const TextEncoding&, EncodingType = FormURLEncoded);
     static PassRefPtr<FormData> createMultiPart(const FormDataList&, const TextEncoding&, Document*);
-    ~FormData();
+    WEBCORE_EXPORT ~FormData();
 
     // FIXME: Both these functions perform a deep copy of m_elements, but differ in handling of other data members.
     // How much of that is intentional? We need better names that explain the difference.
@@ -211,10 +211,10 @@ public:
     template<typename Decoder>
     static PassRefPtr<FormData> decode(Decoder&);
 
-    void appendData(const void* data, size_t);
+    WEBCORE_EXPORT void appendData(const void* data, size_t);
     void appendFile(const String& filePath, bool shouldGenerateFile = false);
-    void appendFileRange(const String& filename, long long start, long long length, double expectedModificationTime, bool shouldGenerateFile = false);
-    void appendBlob(const URL& blobURL);
+    WEBCORE_EXPORT void appendFileRange(const String& filename, long long start, long long length, double expectedModificationTime, bool shouldGenerateFile = false);
+    WEBCORE_EXPORT void appendBlob(const URL& blobURL);
     char* expandDataStore(size_t);
 
     void flatten(Vector<char>&) const; // omits files
index 5904eea..6e1051e 100644 (file)
@@ -47,8 +47,8 @@ class HTTPHeaderMap {
 public:
     typedef HashMapType::const_iterator const_iterator;
 
-    HTTPHeaderMap();
-    ~HTTPHeaderMap();
+    WEBCORE_EXPORT HTTPHeaderMap();
+    WEBCORE_EXPORT ~HTTPHeaderMap();
 
     // Gets a copy of the data suitable for passing to another thread.
     std::unique_ptr<CrossThreadHTTPHeaderMapData> copyData() const;
@@ -59,15 +59,15 @@ public:
 
     void clear() { m_headers.clear(); }
 
-    String get(const String& name) const;
-    void set(const String& name, const String& value);
+    WEBCORE_EXPORT String get(const String& name) const;
+    WEBCORE_EXPORT void set(const String& name, const String& value);
     void add(const String& name, const String& value);
 
-    String get(HTTPHeaderName) const;
+    WEBCORE_EXPORT String get(HTTPHeaderName) const;
     void set(HTTPHeaderName, const String& value);
     bool contains(HTTPHeaderName) const;
     const_iterator find(HTTPHeaderName) const;
-    bool remove(HTTPHeaderName);
+    WEBCORE_EXPORT bool remove(HTTPHeaderName);
 
     // Instead of passing a string literal to any of these functions, just use a HTTPHeaderName instead.
     template<size_t length> String get(const char (&)[length]) const = delete;
index 10b3af2..b49c1b4 100644 (file)
@@ -42,10 +42,10 @@ class SoupNetworkSession;
 class NetworkStorageSession {
     WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED;
 public:
-    static NetworkStorageSession& defaultStorageSession();
-    static std::unique_ptr<NetworkStorageSession> createPrivateBrowsingSession(const String& identifierBase = String());
+    WEBCORE_EXPORT static NetworkStorageSession& defaultStorageSession();
+    WEBCORE_EXPORT static std::unique_ptr<NetworkStorageSession> createPrivateBrowsingSession(const String& identifierBase = String());
 
-    static void switchToNewTestingSession();
+    WEBCORE_EXPORT static void switchToNewTestingSession();
 
 #if PLATFORM(COCOA) || USE(CFNETWORK) || USE(SOUP)
     bool isPrivateBrowsingSession() const { return m_isPrivate; }
@@ -55,7 +55,7 @@ public:
     NetworkStorageSession(RetainPtr<CFURLStorageSessionRef>);
     // May be null, in which case a Foundation default should be used.
     CFURLStorageSessionRef platformSession() { return m_platformSession.get(); }
-    RetainPtr<CFHTTPCookieStorageRef> cookieStorage() const;
+    WEBCORE_EXPORT RetainPtr<CFHTTPCookieStorageRef> cookieStorage() const;
 #elif USE(SOUP)
     NetworkStorageSession(std::unique_ptr<SoupNetworkSession>);
     ~NetworkStorageSession();
index e9742dd..c5ba1ec 100644 (file)
@@ -60,12 +60,12 @@ class ProtectionSpaceBase {
 public:
     bool isHashTableDeletedValue() const { return m_isHashTableDeletedValue; }
     
-    const String& host() const;
-    int port() const;
-    ProtectionSpaceServerType serverType() const;
-    bool isProxy() const;
-    const String& realm() const;
-    ProtectionSpaceAuthenticationScheme authenticationScheme() const;
+    WEBCORE_EXPORT const String& host() const;
+    WEBCORE_EXPORT int port() const;
+    WEBCORE_EXPORT ProtectionSpaceServerType serverType() const;
+    WEBCORE_EXPORT bool isProxy() const;
+    WEBCORE_EXPORT const String& realm() const;
+    WEBCORE_EXPORT ProtectionSpaceAuthenticationScheme authenticationScheme() const;
     
     bool receivesCredentialSecurely() const;
 
@@ -74,8 +74,8 @@ public:
     static bool compare(const ProtectionSpace& a, const ProtectionSpace& b);
 
 protected:
-    ProtectionSpaceBase();
-    ProtectionSpaceBase(const String& host, int port, ProtectionSpaceServerType, const String& realm, ProtectionSpaceAuthenticationScheme);
+    WEBCORE_EXPORT ProtectionSpaceBase();
+    WEBCORE_EXPORT ProtectionSpaceBase(const String& host, int port, ProtectionSpaceServerType, const String& realm, ProtectionSpaceAuthenticationScheme);
 
     // Hash table deleted values, which are only constructed and never copied or destroyed.
     ProtectionSpaceBase(WTF::HashTableDeletedValueType) : m_isHashTableDeletedValue(true) { }