<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[172862] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/172862">172862</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2014-08-22 11:25:37 -0700 (Fri, 22 Aug 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/172844">r172844</a>.
https://bugs.webkit.org/show_bug.cgi?id=136164

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

Reverted changeset:

&quot;Revert <a href="http://trac.webkit.org/projects/webkit/changeset/172831">r172831</a>, it broke the Windows build.&quot;
http://trac.webkit.org/changeset/172844</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfExportMacrosh">trunk/Source/WTF/wtf/ExportMacros.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeolocationh">trunk/Source/WebCore/Modules/geolocation/Geolocation.h</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeolocationControllerh">trunk/Source/WebCore/Modules/geolocation/GeolocationController.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseBackendh">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatah">trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyh">trunk/Source/WebCore/Modules/indexeddb/IDBKey.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyDatah">trunk/Source/WebCore/Modules/indexeddb/IDBKeyData.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyPathh">trunk/Source/WebCore/Modules/indexeddb/IDBKeyPath.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyRangeh">trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyRangeDatah">trunk/Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationh">trunk/Source/WebCore/Modules/notifications/Notification.h</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationControllerh">trunk/Source/WebCore/Modules/notifications/NotificationController.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsGCControllerh">trunk/Source/WebCore/bindings/js/GCController.h</a></li>
<li><a href="#trunkSourceWebCorebridgeIdentifierReph">trunk/Source/WebCore/bridge/IdentifierRep.h</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiesh">trunk/Source/WebCore/css/StyleProperties.h</a></li>
<li><a href="#trunkSourceWebCoredomExceptionCodePlaceholderh">trunk/Source/WebCore/dom/ExceptionCodePlaceholder.h</a></li>
<li><a href="#trunkSourceWebCoredomKeyboardEventh">trunk/Source/WebCore/dom/KeyboardEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventh">trunk/Source/WebCore/dom/MouseEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseRelatedEventh">trunk/Source/WebCore/dom/MouseRelatedEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeh">trunk/Source/WebCore/dom/Node.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeTraversalh">trunk/Source/WebCore/dom/NodeTraversal.h</a></li>
<li><a href="#trunkSourceWebCoredomPositionh">trunk/Source/WebCore/dom/Position.h</a></li>
<li><a href="#trunkSourceWebCoredomRangeh">trunk/Source/WebCore/dom/Range.h</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectionh">trunk/Source/WebCore/editing/FrameSelection.h</a></li>
<li><a href="#trunkSourceWebCorehistoryHistoryItemh">trunk/Source/WebCore/history/HistoryItem.h</a></li>
<li><a href="#trunkSourceWebCorehistoryPageCacheh">trunk/Source/WebCore/history/PageCache.h</a></li>
<li><a href="#trunkSourceWebCorehtmlFormControllerh">trunk/Source/WebCore/html/FormController.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementh">trunk/Source/WebCore/html/HTMLElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementh">trunk/Source/WebCore/html/HTMLFormElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameOwnerElementh">trunk/Source/WebCore/html/HTMLFrameOwnerElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementh">trunk/Source/WebCore/html/HTMLInputElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementh">trunk/Source/WebCore/html/HTMLMediaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptGroupElementh">trunk/Source/WebCore/html/HTMLOptGroupElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptionElementh">trunk/Source/WebCore/html/HTMLOptionElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInElementh">trunk/Source/WebCore/html/HTMLPlugInElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInImageElementh">trunk/Source/WebCore/html/HTMLPlugInImageElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementh">trunk/Source/WebCore/html/HTMLSelectElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableCellElementh">trunk/Source/WebCore/html/HTMLTableCellElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementh">trunk/Source/WebCore/html/HTMLTextAreaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementh">trunk/Source/WebCore/html/HTMLTextFormControlElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementh">trunk/Source/WebCore/html/HTMLVideoElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDocumenth">trunk/Source/WebCore/html/ImageDocument.h</a></li>
<li><a href="#trunkSourceWebCorehtmlPluginDocumenth">trunk/Source/WebCore/html/PluginDocument.h</a></li>
<li><a href="#trunkSourceWebCorehtmlformsFileIconLoaderh">trunk/Source/WebCore/html/forms/FileIconLoader.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowInsertionPointh">trunk/Source/WebCore/html/shadow/InsertionPoint.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorClienth">trunk/Source/WebCore/inspector/InspectorClient.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllerh">trunk/Source/WebCore/inspector/InspectorController.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendClientLocalh">trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadRequesth">trunk/Source/WebCore/loader/FrameLoadRequest.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderh">trunk/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderStateMachineh">trunk/Source/WebCore/loader/FrameLoaderStateMachine.h</a></li>
<li><a href="#trunkSourceWebCoreloaderHistoryControllerh">trunk/Source/WebCore/loader/HistoryController.h</a></li>
<li><a href="#trunkSourceWebCoreloaderLoaderStrategyh">trunk/Source/WebCore/loader/LoaderStrategy.h</a></li>
<li><a href="#trunkSourceWebCoreloaderNavigationActionh">trunk/Source/WebCore/loader/NavigationAction.h</a></li>
<li><a href="#trunkSourceWebCoreloaderNetscapePlugInStreamLoaderh">trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderProgressTrackerh">trunk/Source/WebCore/loader/ProgressTracker.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivecfLegacyWebArchiveh">trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheMemoryCacheh">trunk/Source/WebCore/loader/cache/MemoryCache.h</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconControllerh">trunk/Source/WebCore/loader/icon/IconController.h</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconDatabaseh">trunk/Source/WebCore/loader/icon/IconDatabase.h</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconDatabaseBaseh">trunk/Source/WebCore/loader/icon/IconDatabaseBase.h</a></li>
<li><a href="#trunkSourceWebCorepageFocusControllerh">trunk/Source/WebCore/page/FocusController.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameh">trunk/Source/WebCore/page/Frame.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameDestructionObserverh">trunk/Source/WebCore/page/FrameDestructionObserver.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameTreeh">trunk/Source/WebCore/page/FrameTree.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewh">trunk/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCorepagePageConsoleh">trunk/Source/WebCore/page/PageConsole.h</a></li>
<li><a href="#trunkSourceWebCorepagePageGrouph">trunk/Source/WebCore/page/PageGroup.h</a></li>
<li><a href="#trunkSourceWebCorepagePageThrottlerh">trunk/Source/WebCore/page/PageThrottler.h</a></li>
<li><a href="#trunkSourceWebCorepagePrintContexth">trunk/Source/WebCore/page/PrintContext.h</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingConstraintsh">trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingStateNodeh">trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h</a></li>
<li><a href="#trunkSourceWebCoreplatformFileChooserh">trunk/Source/WebCore/platform/FileChooser.h</a></li>
<li><a href="#trunkSourceWebCoreplatformGamepadProviderh">trunk/Source/WebCore/platform/GamepadProvider.h</a></li>
<li><a href="#trunkSourceWebCoreplatformLengthh">trunk/Source/WebCore/platform/Length.h</a></li>
<li><a href="#trunkSourceWebCoreplatformMIMETypeRegistryh">trunk/Source/WebCore/platform/MIMETypeRegistry.h</a></li>
<li><a href="#trunkSourceWebCoreplatformMemoryPressureHandlerh">trunk/Source/WebCore/platform/MemoryPressureHandler.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardh">trunk/Source/WebCore/platform/Pasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformExportMacrosh">trunk/Source/WebCore/platform/PlatformExportMacros.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformKeyboardEventh">trunk/Source/WebCore/platform/PlatformKeyboardEvent.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformPasteboardh">trunk/Source/WebCore/platform/PlatformPasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformSpeechSynthesisVoiceh">trunk/Source/WebCore/platform/PlatformSpeechSynthesisVoice.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformSpeechSynthesizerh">trunk/Source/WebCore/platform/PlatformSpeechSynthesizer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioMediaSessionManagerh">trunk/Source/WebCore/platform/audio/MediaSessionManager.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFloatPointh">trunk/Source/WebCore/platform/graphics/FloatPoint.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFloatQuadh">trunk/Source/WebCore/platform/graphics/FloatQuad.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFloatRecth">trunk/Source/WebCore/platform/graphics/FloatRect.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFloatSizeh">trunk/Source/WebCore/platform/graphics/FloatSize.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFonth">trunk/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCacheh">trunk/Source/WebCore/platform/graphics/FontCache.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontGlyphsh">trunk/Source/WebCore/platform/graphics/FontGlyphs.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontPlatformDatah">trunk/Source/WebCore/platform/graphics/FontPlatformData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGlyphPageTreeNodeh">trunk/Source/WebCore/platform/graphics/GlyphPageTreeNode.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGradienth">trunk/Source/WebCore/platform/graphics/Gradient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContexth">trunk/Source/WebCore/platform/graphics/GraphicsContext.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsLayerh">trunk/Source/WebCore/platform/graphics/GraphicsLayer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIconh">trunk/Source/WebCore/platform/graphics/Icon.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageh">trunk/Source/WebCore/platform/graphics/Image.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBufferh">trunk/Source/WebCore/platform/graphics/ImageBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntPointh">trunk/Source/WebCore/platform/graphics/IntPoint.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntRecth">trunk/Source/WebCore/platform/graphics/IntRect.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntSizeh">trunk/Source/WebCore/platform/graphics/IntSize.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsLayoutRecth">trunk/Source/WebCore/platform/graphics/LayoutRect.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlayerh">trunk/Source/WebCore/platform/graphics/MediaPlayer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsPathh">trunk/Source/WebCore/platform/graphics/Path.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsRegionh">trunk/Source/WebCore/platform/graphics/Region.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAh">trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaLayerFlushSchedulerh">trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaLayerPoolh">trunk/Source/WebCore/platform/graphics/ca/LayerPool.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaPlatformCAFiltersh">trunk/Source/WebCore/platform/graphics/ca/PlatformCAFilters.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaPlatformCALayerh">trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscamacPlatformCAAnimationMach">trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscamacPlatformCALayerMach">trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgIOSurfacePoolh">trunk/Source/WebCore/platform/graphics/cg/IOSurfacePool.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaIOSurfaceh">trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersFilterOperationsh">trunk/Source/WebCore/platform/graphics/filters/FilterOperations.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKith">trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosLegacyTileCacheh">trunk/Source/WebCore/platform/ios/LegacyTileCache.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPlatformEventFactoryIOSh">trunk/Source/WebCore/platform/ios/PlatformEventFactoryIOS.h</a></li>
<li><a href="#trunkSourceWebCoreplatformioswakFloatingPointEnvironmenth">trunk/Source/WebCore/platform/ios/wak/FloatingPointEnvironment.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmacHIDGamepadProviderh">trunk/Source/WebCore/platform/mac/HIDGamepadProvider.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMockMediaStreamCenterh">trunk/Source/WebCore/platform/mock/MockMediaStreamCenter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatah">trunk/Source/WebCore/platform/network/FormData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPHeaderMaph">trunk/Source/WebCore/platform/network/HTTPHeaderMap.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkNetworkStorageSessionh">trunk/Source/WebCore/platform/network/NetworkStorageSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkProtectionSpaceBaseh">trunk/Source/WebCore/platform/network/ProtectionSpaceBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaProtectionSpaceCocoah">trunk/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkiosQuickLookh">trunk/Source/WebCore/platform/network/ios/QuickLook.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextTextBreakIteratorh">trunk/Source/WebCore/platform/text/TextBreakIterator.h</a></li>
<li><a href="#trunkSourceWebCorepluginsPluginDatah">trunk/Source/WebCore/plugins/PluginData.h</a></li>
<li><a href="#trunkSourceWebCorepluginsPluginMainThreadSchedulerh">trunk/Source/WebCore/plugins/PluginMainThreadScheduler.h</a></li>
<li><a href="#trunkSourceWebCorerenderingHitTestLocationh">trunk/Source/WebCore/rendering/HitTestLocation.h</a></li>
<li><a href="#trunkSourceWebCorerenderingHitTestResulth">trunk/Source/WebCore/rendering/HitTestResult.h</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineBoxh">trunk/Source/WebCore/rendering/InlineBox.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WTF/ChangeLog        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-08-22  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        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:
+
+        &quot;Revert r172831, it broke the Windows build.&quot;
+        http://trac.webkit.org/changeset/172844
+
</ins><span class="cx"> 2014-08-22  Jon Lee  &lt;jonlee@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
</span></span></pre></div>
<a id="trunkSourceWTFwtfExportMacrosh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/ExportMacros.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/ExportMacros.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WTF/wtf/ExportMacros.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -105,25 +105,7 @@
</span><span class="cx"> 
</span><span class="cx"> #endif // USE(EXPORT_MACROS)
</span><span class="cx"> 
</span><del>-// 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)
-
</del><span class="cx"> #if defined(WTF_IS_LINKED_IN_SAME_BINARY)
</span><del>-#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)
</del><span class="cx"> #define WTF_EXPORT_PRIVATE WTF_EXPORT
</span><span class="cx"> #else
</span><span class="cx"> #define WTF_EXPORT_PRIVATE WTF_IMPORT
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/ChangeLog        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-08-22  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        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:
+
+        &quot;Revert r172831, it broke the Windows build.&quot;
+        http://trac.webkit.org/changeset/172844
+
</ins><span class="cx"> 2014-08-21  David Hyatt  &lt;hyatt@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeolocationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/Geolocation.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/Geolocation.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/geolocation/Geolocation.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -52,22 +52,22 @@
</span><span class="cx"> {
</span><span class="cx"> public:
</span><span class="cx">     static PassRef&lt;Geolocation&gt; create(ScriptExecutionContext*);
</span><del>-    ~Geolocation();
</del><ins>+    WEBCORE_EXPORT ~Geolocation();
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     virtual bool canSuspend() const override;
</span><span class="cx">     virtual void suspend(ReasonForSuspension) override;
</span><span class="cx">     virtual void resume() override;
</span><del>-    void resetAllGeolocationPermission();
</del><ins>+    WEBCORE_EXPORT void resetAllGeolocationPermission();
</ins><span class="cx"> #endif // PLATFORM(IOS)
</span><span class="cx">     Document* document() const;
</span><del>-    Frame* frame() const;
</del><ins>+    WEBCORE_EXPORT Frame* frame() const;
</ins><span class="cx"> 
</span><span class="cx">     void getCurrentPosition(PassRefPtr&lt;PositionCallback&gt;, PassRefPtr&lt;PositionErrorCallback&gt;, PassRefPtr&lt;PositionOptions&gt;);
</span><span class="cx">     int watchPosition(PassRefPtr&lt;PositionCallback&gt;, PassRefPtr&lt;PositionErrorCallback&gt;, PassRefPtr&lt;PositionOptions&gt;);
</span><span class="cx">     void clearWatch(int watchID);
</span><span class="cx"> 
</span><del>-    void setIsAllowed(bool);
</del><ins>+    WEBCORE_EXPORT void setIsAllowed(bool);
</ins><span class="cx">     bool isAllowed() const { return m_allowGeolocation == Yes; }
</span><span class="cx"> 
</span><span class="cx">     void positionChanged();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeolocationControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/GeolocationController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/GeolocationController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/geolocation/GeolocationController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -54,14 +54,14 @@
</span><span class="cx">     void requestPermission(Geolocation*);
</span><span class="cx">     void cancelPermissionRequest(Geolocation*);
</span><span class="cx"> 
</span><del>-    void positionChanged(GeolocationPosition*);
-    void errorOccurred(GeolocationError*);
</del><ins>+    WEBCORE_EXPORT void positionChanged(GeolocationPosition*);
+    WEBCORE_EXPORT void errorOccurred(GeolocationError*);
</ins><span class="cx"> 
</span><span class="cx">     GeolocationPosition* lastPosition();
</span><span class="cx"> 
</span><span class="cx">     GeolocationClient* client() { return m_client; }
</span><span class="cx"> 
</span><del>-    static const char* supplementName();
</del><ins>+    WEBCORE_EXPORT static const char* supplementName();
</ins><span class="cx">     static GeolocationController* from(Page* page) { return static_cast&lt;GeolocationController*&gt;(Supplement&lt;Page&gt;::from(page, supplementName())); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseBackendh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx"> 
</span><span class="cx"> class IDBDatabaseBackend : public RefCounted&lt;IDBDatabaseBackend&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;IDBDatabaseBackend&gt; create(const String&amp; name, const String&amp; uniqueIdentifier, IDBFactoryBackendInterface*, IDBServerConnection&amp;);
-    ~IDBDatabaseBackend();
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;IDBDatabaseBackend&gt; create(const String&amp; name, const String&amp; uniqueIdentifier, IDBFactoryBackendInterface*, IDBServerConnection&amp;);
+    WEBCORE_EXPORT ~IDBDatabaseBackend();
</ins><span class="cx"> 
</span><span class="cx">     IDBServerConnection&amp; serverConnection() { return m_serverConnection.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -71,8 +71,8 @@
</span><span class="cx">     void addIndex(int64_t objectStoreId, const IDBIndexMetadata&amp;, int64_t newMaxIndexId);
</span><span class="cx">     void removeIndex(int64_t objectStoreId, int64_t indexId);
</span><span class="cx"> 
</span><del>-    void openConnection(PassRefPtr&lt;IDBCallbacks&gt;, PassRefPtr&lt;IDBDatabaseCallbacks&gt;, int64_t transactionId, uint64_t version);
-    void deleteDatabase(PassRefPtr&lt;IDBCallbacks&gt;);
</del><ins>+    WEBCORE_EXPORT void openConnection(PassRefPtr&lt;IDBCallbacks&gt;, PassRefPtr&lt;IDBDatabaseCallbacks&gt;, int64_t transactionId, uint64_t version);
+    WEBCORE_EXPORT void deleteDatabase(PassRefPtr&lt;IDBCallbacks&gt;);
</ins><span class="cx"> 
</span><span class="cx">     // IDBDatabaseBackend
</span><span class="cx">     void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String&amp; name, const IDBKeyPath&amp;, bool autoIncrement);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseMetadatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     typedef HashMap&lt;int64_t, IDBObjectStoreMetadata&gt; ObjectStoreMap;
</span><span class="cx">     ObjectStoreMap objectStores;
</span><span class="cx"> 
</span><del>-    IDBDatabaseMetadata isolatedCopy() const;
</del><ins>+    WEBCORE_EXPORT IDBDatabaseMetadata isolatedCopy() const;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKey.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKey.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKey.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">         return adoptRef(new IDBKey(array, sizeEstimate));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ~IDBKey();
</del><ins>+    WEBCORE_EXPORT ~IDBKey();
</ins><span class="cx"> 
</span><span class="cx">     // In order of the least to the highest precedent in terms of sort order.
</span><span class="cx">     enum Type {
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     Type type() const { return m_type; }
</span><del>-    bool isValid() const;
</del><ins>+    WEBCORE_EXPORT bool isValid() const;
</ins><span class="cx"> 
</span><span class="cx">     const KeyArray&amp; array() const
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyData.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyData.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyData.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    IDBKeyData(const IDBKey*);
</del><ins>+    WEBCORE_EXPORT IDBKeyData(const IDBKey*);
</ins><span class="cx"> 
</span><span class="cx">     static IDBKeyData minimum()
</span><span class="cx">     {
</span><span class="lines">@@ -61,26 +61,26 @@
</span><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;IDBKey&gt; maybeCreateIDBKey() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;IDBKey&gt; maybeCreateIDBKey() const;
</ins><span class="cx"> 
</span><span class="cx">     IDBKeyData isolatedCopy() const;
</span><span class="cx"> 
</span><del>-    void encode(KeyedEncoder&amp;) const;
-    static bool decode(KeyedDecoder&amp;, IDBKeyData&amp;);
</del><ins>+    WEBCORE_EXPORT void encode(KeyedEncoder&amp;) const;
+    WEBCORE_EXPORT static bool decode(KeyedDecoder&amp;, IDBKeyData&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // compare() has the same semantics as strcmp().
</span><span class="cx">     //   - Returns negative if this IDBKeyData is less than other.
</span><span class="cx">     //   - Returns positive if this IDBKeyData is greater than other.
</span><span class="cx">     //   - Returns zero if this IDBKeyData is equal to other.
</span><del>-    int compare(const IDBKeyData&amp; other) const;
</del><ins>+    WEBCORE_EXPORT int compare(const IDBKeyData&amp; other) const;
</ins><span class="cx"> 
</span><span class="cx">     void setArrayValue(const Vector&lt;IDBKeyData&gt;&amp;);
</span><span class="cx">     void setStringValue(const String&amp;);
</span><span class="cx">     void setDateValue(double);
</span><del>-    void setNumberValue(double);
</del><ins>+    WEBCORE_EXPORT void setNumberValue(double);
</ins><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><del>-    String loggingString() const;
</del><ins>+    WEBCORE_EXPORT String loggingString() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     IDBKey::Type type;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyPathh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyPath.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyPath.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyPath.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -48,8 +48,8 @@
</span><span class="cx"> class IDBKeyPath {
</span><span class="cx"> public:
</span><span class="cx">     IDBKeyPath() : m_type(NullType) { }
</span><del>-    explicit IDBKeyPath(const String&amp;);
-    explicit IDBKeyPath(const Vector&lt;String&gt;&amp; array);
</del><ins>+    WEBCORE_EXPORT explicit IDBKeyPath(const String&amp;);
+    WEBCORE_EXPORT explicit IDBKeyPath(const Vector&lt;String&gt;&amp; array);
</ins><span class="cx"> 
</span><span class="cx">     enum Type {
</span><span class="cx">         NullType = 0,
</span><span class="lines">@@ -77,8 +77,8 @@
</span><span class="cx"> 
</span><span class="cx">     IDBKeyPath isolatedCopy() const;
</span><span class="cx"> 
</span><del>-    void encode(KeyedEncoder&amp;) const;
-    static bool decode(KeyedDecoder&amp;, IDBKeyPath&amp;);
</del><ins>+    WEBCORE_EXPORT void encode(KeyedEncoder&amp;) const;
+    WEBCORE_EXPORT static bool decode(KeyedDecoder&amp;, IDBKeyPath&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Type m_type;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyRangeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">     static PassRefPtr&lt;IDBKeyRange&gt; bound(ScriptExecutionContext* context, const Deprecated::ScriptValue&amp; lower, const Deprecated::ScriptValue&amp; upper, bool lowerOpen, ExceptionCode&amp; ec) { return bound(context, lower, upper, lowerOpen, false, ec); }
</span><span class="cx">     static PassRefPtr&lt;IDBKeyRange&gt; bound(ScriptExecutionContext*, const Deprecated::ScriptValue&amp; lower, const Deprecated::ScriptValue&amp; upper, bool lowerOpen, bool upperOpen, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    bool isOnlyKey() const;
</del><ins>+    WEBCORE_EXPORT bool isOnlyKey() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     IDBKeyRange(PassRefPtr&lt;IDBKey&gt; lower, PassRefPtr&lt;IDBKey&gt; upper, LowerBoundType lowerType, UpperBoundType upperType);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyRangeDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx"> 
</span><span class="cx">     IDBKeyRangeData isolatedCopy() const;
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;IDBKeyRange&gt; maybeCreateIDBKeyRange() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;IDBKeyRange&gt; maybeCreateIDBKeyRange() const;
</ins><span class="cx"> 
</span><del>-    bool isExactlyOneKey() const;
</del><ins>+    WEBCORE_EXPORT bool isExactlyOneKey() const;
</ins><span class="cx"> 
</span><span class="cx">     bool isNull;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/Notification.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/Notification.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/notifications/Notification.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> class Notification final : public RefCounted&lt;Notification&gt;, public ActiveDOMObject, public EventTargetWithInlineData {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    Notification();
</del><ins>+    WEBCORE_EXPORT Notification();
</ins><span class="cx"> #if ENABLE(LEGACY_NOTIFICATIONS)
</span><span class="cx">     static PassRef&lt;Notification&gt; create(const String&amp; title, const String&amp; body, const String&amp; iconURI, ScriptExecutionContext*, ExceptionCode&amp;, PassRefPtr&lt;NotificationCenter&gt; provider);
</span><span class="cx"> #endif
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     static PassRef&lt;Notification&gt; create(ScriptExecutionContext&amp;, const String&amp; title, const Dictionary&amp; options);
</span><span class="cx"> #endif
</span><span class="cx">     
</span><del>-    virtual ~Notification();
</del><ins>+    WEBCORE_EXPORT virtual ~Notification();
</ins><span class="cx"> 
</span><span class="cx">     void show();
</span><span class="cx"> #if ENABLE(LEGACY_NOTIFICATIONS)
</span><span class="lines">@@ -111,10 +111,10 @@
</span><span class="cx">     DEFINE_ATTRIBUTE_EVENT_LISTENER(close);
</span><span class="cx">     DEFINE_ATTRIBUTE_EVENT_LISTENER(click);
</span><span class="cx">     
</span><del>-    void dispatchClickEvent();
-    void dispatchCloseEvent();
-    void dispatchErrorEvent();
-    void dispatchShowEvent();
</del><ins>+    WEBCORE_EXPORT void dispatchClickEvent();
+    WEBCORE_EXPORT void dispatchCloseEvent();
+    WEBCORE_EXPORT void dispatchErrorEvent();
+    WEBCORE_EXPORT void dispatchShowEvent();
</ins><span class="cx"> 
</span><span class="cx">     using RefCounted&lt;Notification&gt;::ref;
</span><span class="cx">     using RefCounted&lt;Notification&gt;::deref;
</span><span class="lines">@@ -128,11 +128,11 @@
</span><span class="cx">     // Deprecated. Use functions from NotificationCenter.
</span><span class="cx">     void detachPresenter() { }
</span><span class="cx"> 
</span><del>-    void finalize();
</del><ins>+    WEBCORE_EXPORT void finalize();
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(NOTIFICATIONS)
</span><span class="cx">     static const String permission(ScriptExecutionContext*);
</span><del>-    static const String permissionString(NotificationClient::Permission);
</del><ins>+    WEBCORE_EXPORT static const String permissionString(NotificationClient::Permission);
</ins><span class="cx">     static void requestPermission(ScriptExecutionContext*, PassRefPtr&lt;NotificationPermissionCallback&gt; = 0);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/NotificationController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/NotificationController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/Modules/notifications/NotificationController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx">     static const char* supplementName();
</span><span class="cx">     static NotificationController* from(Page* page) { return static_cast&lt;NotificationController*&gt;(Supplement&lt;Page&gt;::from(page, supplementName())); }
</span><del>-    static NotificationClient* clientFrom(Page*);
</del><ins>+    WEBCORE_EXPORT static NotificationClient* clientFrom(Page*);
</ins><span class="cx"> 
</span><span class="cx">     NotificationClient* client() { return m_client; }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsGCControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/GCController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/GCController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/bindings/js/GCController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,13 +40,13 @@
</span><span class="cx">         friend GCController&amp; gcController();
</span><span class="cx"> 
</span><span class="cx">     public:
</span><del>-        void garbageCollectSoon();
-        void garbageCollectNow(); // It's better to call garbageCollectSoon, unless you have a specific reason not to.
</del><ins>+        WEBCORE_EXPORT void garbageCollectSoon();
+        WEBCORE_EXPORT void garbageCollectNow(); // It's better to call garbageCollectSoon, unless you have a specific reason not to.
</ins><span class="cx"> 
</span><del>-        void garbageCollectOnAlternateThreadForDebugging(bool waitUntilDone); // Used for stress testing.
-        void releaseExecutableMemory();
-        void setJavaScriptGarbageCollectorTimerEnabled(bool);
-        void discardAllCompiledCode();
</del><ins>+        WEBCORE_EXPORT void garbageCollectOnAlternateThreadForDebugging(bool waitUntilDone); // Used for stress testing.
+        WEBCORE_EXPORT void releaseExecutableMemory();
+        WEBCORE_EXPORT void setJavaScriptGarbageCollectorTimerEnabled(bool);
+        WEBCORE_EXPORT void discardAllCompiledCode();
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         GCController(); // Use gcController() instead
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeIdentifierReph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/IdentifierRep.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/IdentifierRep.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/bridge/IdentifierRep.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -36,10 +36,10 @@
</span><span class="cx"> class IdentifierRep {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static IdentifierRep* get(int);
-    static IdentifierRep* get(const char*);
</del><ins>+    WEBCORE_EXPORT static IdentifierRep* get(int);
+    WEBCORE_EXPORT static IdentifierRep* get(const char*);
</ins><span class="cx"> 
</span><del>-    static bool isValid(IdentifierRep*);
</del><ins>+    WEBCORE_EXPORT static bool isValid(IdentifierRep*);
</ins><span class="cx">     
</span><span class="cx">     bool isString() const { return m_isString; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/css/StyleProperties.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> 
</span><span class="cx"> class ImmutableStyleProperties : public StyleProperties {
</span><span class="cx"> public:
</span><del>-    ~ImmutableStyleProperties();
</del><ins>+    WEBCORE_EXPORT ~ImmutableStyleProperties();
</ins><span class="cx">     static PassRef&lt;ImmutableStyleProperties&gt; create(const CSSProperty* properties, unsigned count, CSSParserMode);
</span><span class="cx"> 
</span><span class="cx">     unsigned propertyCount() const { return m_arraySize; }
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">     static PassRef&lt;MutableStyleProperties&gt; create(CSSParserMode = CSSQuirksMode);
</span><span class="cx">     static PassRef&lt;MutableStyleProperties&gt; create(const CSSProperty* properties, unsigned count);
</span><span class="cx"> 
</span><del>-    ~MutableStyleProperties();
</del><ins>+    WEBCORE_EXPORT ~MutableStyleProperties();
</ins><span class="cx"> 
</span><span class="cx">     unsigned propertyCount() const { return m_propertyVector.size(); }
</span><span class="cx"> 
</span><span class="lines">@@ -216,7 +216,7 @@
</span><span class="cx">     void clear();
</span><span class="cx">     void parseDeclaration(const String&amp; styleDeclaration, StyleSheetContents* contextStyleSheet);
</span><span class="cx"> 
</span><del>-    CSSStyleDeclaration* ensureCSSStyleDeclaration();
</del><ins>+    WEBCORE_EXPORT CSSStyleDeclaration* ensureCSSStyleDeclaration();
</ins><span class="cx">     CSSStyleDeclaration* ensureInlineCSSStyleDeclaration(StyledElement* parentElement);
</span><span class="cx"> 
</span><span class="cx">     int findPropertyIndex(CSSPropertyID) const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomExceptionCodePlaceholderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ExceptionCodePlaceholder.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ExceptionCodePlaceholder.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/ExceptionCodePlaceholder.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> 
</span><span class="cx"> class NoExceptionAssertionChecker : public ExceptionCodePlaceholder {
</span><span class="cx"> public:
</span><del>-    NoExceptionAssertionChecker(const char* file, int line);
-    ~NoExceptionAssertionChecker();
</del><ins>+    WEBCORE_EXPORT NoExceptionAssertionChecker(const char* file, int line);
+    WEBCORE_EXPORT ~NoExceptionAssertionChecker();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static const ExceptionCode defaultExceptionCode = 0xaaaaaaaa;
</span></span></pre></div>
<a id="trunkSourceWebCoredomKeyboardEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/KeyboardEvent.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/KeyboardEvent.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/KeyboardEvent.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -103,8 +103,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    KeyboardEvent();
-    KeyboardEvent(const PlatformKeyboardEvent&amp;, AbstractView*);
</del><ins>+    WEBCORE_EXPORT KeyboardEvent();
+    WEBCORE_EXPORT KeyboardEvent(const PlatformKeyboardEvent&amp;, AbstractView*);
</ins><span class="cx">     KeyboardEvent(const AtomicString&amp;, const KeyboardEventInit&amp;);
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;PlatformKeyboardEvent&gt; m_keyEvent;
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/MouseEvent.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">         return adoptRef(new MouseEvent);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, double timestamp, PassRefPtr&lt;AbstractView&gt;,
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, double timestamp, PassRefPtr&lt;AbstractView&gt;,
</ins><span class="cx">         int detail, int screenX, int screenY, int pageX, int pageY,
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><span class="cx">         int movementX, int movementY,
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
</span><span class="cx">         PassRefPtr&lt;EventTarget&gt; relatedTarget);
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, double timestamp, PassRefPtr&lt;AbstractView&gt;,
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, double timestamp, PassRefPtr&lt;AbstractView&gt;,
</ins><span class="cx">         int detail, int screenX, int screenY, int pageX, int pageY,
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><span class="cx">         int movementX, int movementY,
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
</span><span class="cx">         PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;DataTransfer&gt;, bool isSimulated = false);
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; eventType, PassRefPtr&lt;AbstractView&gt;, const PlatformMouseEvent&amp;, int detail, PassRefPtr&lt;Node&gt; relatedTarget);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; eventType, PassRefPtr&lt;AbstractView&gt;, const PlatformMouseEvent&amp;, int detail, PassRefPtr&lt;Node&gt; relatedTarget);
</ins><span class="cx"> 
</span><span class="cx">     static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; eventType, const MouseEventInit&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseRelatedEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseRelatedEvent.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseRelatedEvent.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/MouseRelatedEvent.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -46,8 +46,8 @@
</span><span class="cx">         const LayoutPoint&amp; clientLocation() const { return m_clientLocation; }
</span><span class="cx">         int layerX() override;
</span><span class="cx">         int layerY() override;
</span><del>-        int offsetX();
-        int offsetY();
</del><ins>+        WEBCORE_EXPORT int offsetX();
+        WEBCORE_EXPORT int offsetY();
</ins><span class="cx">         bool isSimulated() const { return m_isSimulated; }
</span><span class="cx">         virtual int pageX() const override;
</span><span class="cx">         virtual int pageY() const override;
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/Node.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -152,8 +152,8 @@
</span><span class="cx"> 
</span><span class="cx">     static bool isSupported(const String&amp; feature, const String&amp; version);
</span><span class="cx"> 
</span><del>-    static void startIgnoringLeaks();
-    static void stopIgnoringLeaks();
</del><ins>+    WEBCORE_EXPORT static void startIgnoringLeaks();
+    WEBCORE_EXPORT static void stopIgnoringLeaks();
</ins><span class="cx"> 
</span><span class="cx">     static void dumpStatistics();
</span><span class="cx"> 
</span><span class="lines">@@ -193,12 +193,12 @@
</span><span class="cx">     // These should all actually return a node, but this is only important for language bindings,
</span><span class="cx">     // which will already know and hold a ref on the right node to return. Returning bool allows
</span><span class="cx">     // these methods to be more efficient since they don't need to return a ref
</span><del>-    bool insertBefore(PassRefPtr&lt;Node&gt; newChild, Node* refChild, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT bool insertBefore(PassRefPtr&lt;Node&gt; newChild, Node* refChild, ExceptionCode&amp;);
</ins><span class="cx">     bool replaceChild(PassRefPtr&lt;Node&gt; newChild, Node* oldChild, ExceptionCode&amp;);
</span><del>-    bool removeChild(Node* child, ExceptionCode&amp;);
-    bool appendChild(PassRefPtr&lt;Node&gt; newChild, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT bool removeChild(Node* child, ExceptionCode&amp;);
+    WEBCORE_EXPORT bool appendChild(PassRefPtr&lt;Node&gt; newChild, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    void remove(ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT void remove(ExceptionCode&amp;);
</ins><span class="cx">     bool hasChildNodes() const { return firstChild(); }
</span><span class="cx">     virtual PassRefPtr&lt;Node&gt; cloneNode(bool deep) = 0;
</span><span class="cx">     virtual const AtomicString&amp; localName() const;
</span><span class="lines">@@ -214,8 +214,8 @@
</span><span class="cx">     String lookupNamespaceURI(const String&amp; prefix) const;
</span><span class="cx">     String lookupNamespacePrefix(const AtomicString&amp; namespaceURI, const Element* originalElement) const;
</span><span class="cx">     
</span><del>-    String textContent(bool convertBRsToNewlines = false) const;
-    void setTextContent(const String&amp;, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT String textContent(bool convertBRsToNewlines = false) const;
+    WEBCORE_EXPORT void setTextContent(const String&amp;, ExceptionCode&amp;);
</ins><span class="cx">     
</span><span class="cx">     Node* lastDescendant() const;
</span><span class="cx">     Node* firstDescendant() const;
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx">     Element* shadowHost() const;
</span><span class="cx">     // If this node is in a shadow tree, returns its shadow host. Otherwise, returns this.
</span><span class="cx">     // Deprecated. Should use shadowHost() and check the return value.
</span><del>-    Node* deprecatedShadowAncestorNode() const;
</del><ins>+    WEBCORE_EXPORT Node* deprecatedShadowAncestorNode() const;
</ins><span class="cx">     ShadowRoot* containingShadowRoot() const;
</span><span class="cx">     ShadowRoot* shadowRoot() const;
</span><span class="cx"> 
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx">     virtual bool canContainRangeEndPoint() const { return false; }
</span><span class="cx"> 
</span><span class="cx">     bool isRootEditableElement() const;
</span><del>-    Element* rootEditableElement() const;
</del><ins>+    WEBCORE_EXPORT Element* rootEditableElement() const;
</ins><span class="cx">     Element* rootEditableElement(EditableType) const;
</span><span class="cx"> 
</span><span class="cx">     // Called by the parser when this element's close tag is reached,
</span><span class="lines">@@ -331,7 +331,7 @@
</span><span class="cx">     void setChildNeedsStyleRecalc() { setFlag(ChildNeedsStyleRecalcFlag); }
</span><span class="cx">     void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); }
</span><span class="cx"> 
</span><del>-    void setNeedsStyleRecalc(StyleChangeType changeType = FullStyleChange);
</del><ins>+    WEBCORE_EXPORT void setNeedsStyleRecalc(StyleChangeType = FullStyleChange);
</ins><span class="cx">     void clearNeedsStyleRecalc() { m_nodeFlags &amp;= ~StyleChangeMask; }
</span><span class="cx"> 
</span><span class="cx">     void setIsLink(bool f) { setFlag(f, IsLinkFlag); }
</span><span class="lines">@@ -348,12 +348,12 @@
</span><span class="cx">         UserSelectAllDoesNotAffectEditability,
</span><span class="cx">         UserSelectAllIsAlwaysNonEditable
</span><span class="cx">     };
</span><del>-    bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEditability);
</del><ins>+    WEBCORE_EXPORT bool isContentEditable(UserSelectAllTreatment = UserSelectAllDoesNotAffectEditability);
</ins><span class="cx">     bool isContentRichlyEditable();
</span><span class="cx"> 
</span><del>-    void inspect();
</del><ins>+    WEBCORE_EXPORT void inspect();
</ins><span class="cx"> 
</span><del>-    bool hasEditableStyle(EditableType editableType = ContentIsEditable, UserSelectAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
</del><ins>+    WEBCORE_EXPORT bool hasEditableStyle(EditableType editableType = ContentIsEditable, UserSelectAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
</ins><span class="cx">     {
</span><span class="cx">         switch (editableType) {
</span><span class="cx">         case ContentIsEditable:
</span><span class="lines">@@ -379,14 +379,14 @@
</span><span class="cx"> 
</span><span class="cx">     virtual LayoutRect boundingBox() const;
</span><span class="cx">     IntRect pixelSnappedBoundingBox() const { return pixelSnappedIntRect(boundingBox()); }
</span><del>-    LayoutRect renderRect(bool* isReplaced);
</del><ins>+    WEBCORE_EXPORT LayoutRect renderRect(bool* isReplaced);
</ins><span class="cx">     IntRect pixelSnappedRenderRect(bool* isReplaced) { return pixelSnappedIntRect(renderRect(isReplaced)); }
</span><span class="cx"> 
</span><del>-    unsigned nodeIndex() const;
</del><ins>+    WEBCORE_EXPORT unsigned nodeIndex() const;
</ins><span class="cx"> 
</span><span class="cx">     // Returns the DOM ownerDocument attribute. This method never returns null, except in the case
</span><span class="cx">     // of a Document node.
</span><del>-    Document* ownerDocument() const;
</del><ins>+    WEBCORE_EXPORT Document* ownerDocument() const;
</ins><span class="cx"> 
</span><span class="cx">     // Returns the document associated with this node.
</span><span class="cx">     // A Document node returns itself.
</span><span class="lines">@@ -420,7 +420,7 @@
</span><span class="cx"> 
</span><span class="cx">     void checkSetPrefix(const AtomicString&amp; prefix, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    bool isDescendantOf(const Node*) const;
</del><ins>+    WEBCORE_EXPORT bool isDescendantOf(const Node*) const;
</ins><span class="cx">     bool isDescendantOrShadowDescendantOf(const Node*) const;
</span><span class="cx">     bool contains(const Node*) const;
</span><span class="cx">     bool containsIncludingShadowDOM(const Node*) const;
</span><span class="lines">@@ -510,7 +510,7 @@
</span><span class="cx">     virtual bool willRespondToMouseClickEvents();
</span><span class="cx">     virtual bool willRespondToMouseWheelEvents();
</span><span class="cx"> 
</span><del>-    unsigned short compareDocumentPosition(Node*);
</del><ins>+    WEBCORE_EXPORT unsigned short compareDocumentPosition(Node*);
</ins><span class="cx"> 
</span><span class="cx">     virtual Node* toNode() override;
</span><span class="cx">     virtual HTMLInputElement* toInputElement();
</span><span class="lines">@@ -559,7 +559,7 @@
</span><span class="cx">     void unregisterTransientMutationObserver(MutationObserverRegistration*);
</span><span class="cx">     void notifyMutationObserversNodeWillDetach();
</span><span class="cx"> 
</span><del>-    void textRects(Vector&lt;IntRect&gt;&amp;) const;
</del><ins>+    WEBCORE_EXPORT void textRects(Vector&lt;IntRect&gt;&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     unsigned connectedSubframeCount() const;
</span><span class="cx">     void incrementConnectedSubframeCount(unsigned amount = 1);
</span><span class="lines">@@ -677,12 +677,12 @@
</span><span class="cx">         return NOPSEUDO;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void removedLastRef();
</del><ins>+    WEBCORE_EXPORT void removedLastRef();
</ins><span class="cx">     bool hasTreeSharedParent() const { return !!parentNode(); }
</span><span class="cx"> 
</span><span class="cx">     enum EditableLevel { Editable, RichlyEditable };
</span><span class="cx">     bool hasEditableStyle(EditableLevel, UserSelectAllTreatment = UserSelectAllIsAlwaysNonEditable) const;
</span><del>-    bool isEditableToAccessibility(EditableLevel) const;
</del><ins>+    WEBCORE_EXPORT bool isEditableToAccessibility(EditableLevel) const;
</ins><span class="cx"> 
</span><span class="cx">     virtual void refEventTarget() override;
</span><span class="cx">     virtual void derefEventTarget() override;
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeTraversalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeTraversal.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeTraversal.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/NodeTraversal.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -71,9 +71,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace NodeTraversal {
</span><span class="cx"> 
</span><del>-Node* nextAncestorSibling(const Node*);
-Node* nextAncestorSibling(const Node*, const Node* stayWithin);
-Node* deepLastChild(Node*);
</del><ins>+WEBCORE_EXPORT Node* nextAncestorSibling(const Node*);
+WEBCORE_EXPORT Node* nextAncestorSibling(const Node*, const Node* stayWithin);
+WEBCORE_EXPORT Node* deepLastChild(Node*);
</ins><span class="cx"> 
</span><span class="cx"> template &lt;class NodeType&gt;
</span><span class="cx"> inline Node* traverseNextTemplate(NodeType* current)
</span></span></pre></div>
<a id="trunkSourceWebCoredomPositionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Position.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Position.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/Position.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">         PositionIsAfterChildren,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    Position()
</del><ins>+    WEBCORE_EXPORT Position()
</ins><span class="cx">         : m_offset(0)
</span><span class="cx">         , m_anchorType(PositionIsOffsetInAnchor)
</span><span class="cx">         , m_isLegacyEditingPosition(false)
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> 
</span><span class="cx">         int m_offset;
</span><span class="cx">     };
</span><del>-    Position(PassRefPtr&lt;Node&gt; anchorNode, LegacyEditingOffset);
</del><ins>+    WEBCORE_EXPORT Position(PassRefPtr&lt;Node&gt; anchorNode, LegacyEditingOffset);
</ins><span class="cx"> 
</span><span class="cx">     // For creating before/after positions:
</span><span class="cx">     Position(PassRefPtr&lt;Node&gt; anchorNode, AnchorType);
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> 
</span><span class="cx">     // For creating offset positions:
</span><span class="cx">     // FIXME: This constructor should eventually go away. See bug 63040.
</span><del>-    Position(PassRefPtr&lt;Node&gt; anchorNode, int offset, AnchorType);
</del><ins>+    WEBCORE_EXPORT Position(PassRefPtr&lt;Node&gt; anchorNode, int offset, AnchorType);
</ins><span class="cx"> 
</span><span class="cx">     AnchorType anchorType() const { return static_cast&lt;AnchorType&gt;(m_anchorType); }
</span><span class="cx"> 
</span><span class="lines">@@ -96,11 +96,11 @@
</span><span class="cx"> 
</span><span class="cx">     // These are always DOM compliant values.  Editing positions like [img, 0] (aka [img, before])
</span><span class="cx">     // will return img-&gt;parentNode() and img-&gt;nodeIndex() from these functions.
</span><del>-    Node* containerNode() const; // NULL for a before/after position anchored to a node with no parent
</del><ins>+    WEBCORE_EXPORT Node* containerNode() const; // null for a before/after position anchored to a node with no parent
</ins><span class="cx">     Text* containerText() const;
</span><span class="cx"> 
</span><span class="cx">     int computeOffsetInContainerNode() const;  // O(n) for before/after-anchored positions, O(1) for parent-anchored positions
</span><del>-    Position parentAnchoredEquivalent() const; // Convenience method for DOM positions that also fixes up some positions for editing
</del><ins>+    WEBCORE_EXPORT Position parentAnchoredEquivalent() const; // Convenience method for DOM positions that also fixes up some positions for editing
</ins><span class="cx"> 
</span><span class="cx">     // Inline O(1) access for Positions which callers know to be parent-anchored
</span><span class="cx">     int offsetInContainerNode() const
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx">     // Move up or down the DOM by one position.
</span><span class="cx">     // Offsets are computed using render text for nodes that have renderers - but note that even when
</span><span class="cx">     // using composed characters, the result may be inside a single user-visible character if a ligature is formed.
</span><del>-    Position previous(PositionMoveType = CodePoint) const;
</del><ins>+    WEBCORE_EXPORT Position previous(PositionMoveType = CodePoint) const;
</ins><span class="cx">     Position next(PositionMoveType = CodePoint) const;
</span><span class="cx">     static int uncheckedPreviousOffset(const Node*, int current);
</span><span class="cx">     static int uncheckedPreviousOffsetForBackwardDeletion(const Node*, int current);
</span><span class="lines">@@ -170,12 +170,12 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Make these non-member functions and put them somewhere in the editing directory.
</span><span class="cx">     // These aren't really basic &quot;position&quot; operations. More high level editing helper functions.
</span><del>-    Position leadingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
-    Position trailingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
</del><ins>+    WEBCORE_EXPORT Position leadingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
+    WEBCORE_EXPORT Position trailingWhitespacePosition(EAffinity, bool considerNonCollapsibleWhitespace = false) const;
</ins><span class="cx">     
</span><span class="cx">     // These return useful visually equivalent positions.
</span><del>-    Position upstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
-    Position downstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
</del><ins>+    WEBCORE_EXPORT Position upstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
+    WEBCORE_EXPORT Position downstream(EditingBoundaryCrossingRule = CannotCrossEditingBoundary) const;
</ins><span class="cx">     
</span><span class="cx">     bool isCandidate() const;
</span><span class="cx">     bool isRenderedCharacter() const;
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx"> private:
</span><del>-    int offsetForPositionAfterAnchor() const;
</del><ins>+    WEBCORE_EXPORT int offsetForPositionAfterAnchor() const;
</ins><span class="cx">     
</span><span class="cx">     Position previousCharacterPosition(EAffinity) const;
</span><span class="cx">     Position nextCharacterPosition(EAffinity) const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/dom/Range.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -52,43 +52,43 @@
</span><span class="cx"> 
</span><span class="cx"> class Range : public RefCounted&lt;Range&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;Range&gt; create(Document&amp;);
-    static PassRefPtr&lt;Range&gt; create(Document&amp;, PassRefPtr&lt;Node&gt; startContainer, int startOffset, PassRefPtr&lt;Node&gt; endContainer, int endOffset);
-    static PassRefPtr&lt;Range&gt; create(Document&amp;, const Position&amp;, const Position&amp;);
-    static PassRefPtr&lt;Range&gt; create(ScriptExecutionContext&amp;);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;Range&gt; create(Document&amp;);
+    WEBCORE_EXPORT static PassRefPtr&lt;Range&gt; create(Document&amp;, PassRefPtr&lt;Node&gt; startContainer, int startOffset, PassRefPtr&lt;Node&gt; endContainer, int endOffset);
+    WEBCORE_EXPORT static PassRefPtr&lt;Range&gt; create(Document&amp;, const Position&amp;, const Position&amp;);
+    WEBCORE_EXPORT static PassRefPtr&lt;Range&gt; create(ScriptExecutionContext&amp;);
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: Consider making this a static non-member, non-friend function.
</span><del>-    static PassRefPtr&lt;Range&gt; create(Document&amp;, const VisiblePosition&amp;, const VisiblePosition&amp;);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;Range&gt; create(Document&amp;, const VisiblePosition&amp;, const VisiblePosition&amp;);
</ins><span class="cx"> #endif
</span><del>-    ~Range();
</del><ins>+    WEBCORE_EXPORT ~Range();
</ins><span class="cx"> 
</span><span class="cx">     Document&amp; ownerDocument() const { return const_cast&lt;Document&amp;&gt;(m_ownerDocument.get()); }
</span><span class="cx"> 
</span><del>-    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(); }
</del><ins>+    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(); }
</ins><span class="cx"> 
</span><span class="cx">     Node* startContainer(ExceptionCode&amp;) const;
</span><span class="cx">     int startOffset(ExceptionCode&amp;) const;
</span><span class="cx">     Node* endContainer(ExceptionCode&amp;) const;
</span><span class="cx">     int endOffset(ExceptionCode&amp;) const;
</span><del>-    bool collapsed(ExceptionCode&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool collapsed(ExceptionCode&amp;) const;
</ins><span class="cx"> 
</span><del>-    Node* commonAncestorContainer(ExceptionCode&amp;) const;
</del><ins>+    WEBCORE_EXPORT Node* commonAncestorContainer(ExceptionCode&amp;) const;
</ins><span class="cx">     static Node* commonAncestorContainer(Node* containerA, Node* containerB);
</span><del>-    void setStart(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void setEnd(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void collapse(bool toStart, ExceptionCode&amp;);
-    bool isPointInRange(Node* refNode, int offset, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT void setStart(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEnd(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void collapse(bool toStart, ExceptionCode&amp;);
+    WEBCORE_EXPORT bool isPointInRange(Node* refNode, int offset, ExceptionCode&amp;);
</ins><span class="cx">     short comparePoint(Node* refNode, int offset, ExceptionCode&amp;) const;
</span><span class="cx">     enum CompareResults { NODE_BEFORE, NODE_AFTER, NODE_BEFORE_AND_AFTER, NODE_INSIDE };
</span><span class="cx">     CompareResults compareNode(Node* refNode, ExceptionCode&amp;) const;
</span><span class="cx">     enum CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START };
</span><del>-    short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&amp;) const;
</del><ins>+    WEBCORE_EXPORT short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&amp;) const;
</ins><span class="cx">     static short compareBoundaryPoints(Node* containerA, int offsetA, Node* containerB, int offsetB, ExceptionCode&amp;);
</span><span class="cx">     static short compareBoundaryPoints(const RangeBoundaryPoint&amp; boundaryA, const RangeBoundaryPoint&amp; boundaryB, ExceptionCode&amp;);
</span><del>-    bool boundaryPointsValid() const;
</del><ins>+    WEBCORE_EXPORT bool boundaryPointsValid() const;
</ins><span class="cx">     bool intersectsNode(Node* refNode, ExceptionCode&amp;);
</span><span class="cx">     void deleteContents(ExceptionCode&amp;);
</span><span class="cx">     PassRefPtr&lt;DocumentFragment&gt; extractContents(ExceptionCode&amp;);
</span><span class="lines">@@ -97,28 +97,28 @@
</span><span class="cx">     String toString(ExceptionCode&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     String toHTML() const;
</span><del>-    String text() const;
</del><ins>+    WEBCORE_EXPORT String text() const;
</ins><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;DocumentFragment&gt; createContextualFragment(const String&amp; html, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     void detach(ExceptionCode&amp;);
</span><del>-    PassRefPtr&lt;Range&gt; cloneRange(ExceptionCode&amp;) const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;Range&gt; cloneRange(ExceptionCode&amp;) const;
</ins><span class="cx"> 
</span><del>-    void setStartAfter(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void setEndBefore(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void setEndAfter(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void selectNode(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void selectNodeContents(Node*, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT void setStartAfter(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEndBefore(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEndAfter(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void selectNode(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void selectNodeContents(Node*, ExceptionCode&amp;);
</ins><span class="cx">     void surroundContents(PassRefPtr&lt;Node&gt;, ExceptionCode&amp;);
</span><del>-    void setStartBefore(Node*, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT void setStartBefore(Node*, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     const Position startPosition() const { return m_start.toPosition(); }
</span><span class="cx">     const Position endPosition() const { return m_end.toPosition(); }
</span><del>-    void setStart(const Position&amp;, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
-    void setEnd(const Position&amp;, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</del><ins>+    WEBCORE_EXPORT void setStart(const Position&amp;, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
+    WEBCORE_EXPORT void setEnd(const Position&amp;, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</ins><span class="cx"> 
</span><del>-    Node* firstNode() const;
-    Node* pastLastNode() const;
</del><ins>+    WEBCORE_EXPORT Node* firstNode() const;
+    WEBCORE_EXPORT Node* pastLastNode() const;
</ins><span class="cx"> 
</span><span class="cx">     ShadowRoot* shadowRoot() const;
</span><span class="cx"> 
</span><span class="lines">@@ -130,14 +130,14 @@
</span><span class="cx"> 
</span><span class="cx">     // Not transform-friendly
</span><span class="cx">     void textRects(Vector&lt;IntRect&gt;&amp;, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
</span><del>-    IntRect boundingBox() const;
</del><ins>+    WEBCORE_EXPORT IntRect boundingBox() const;
</ins><span class="cx"> 
</span><span class="cx">     // Transform-friendly
</span><del>-    void textQuads(Vector&lt;FloatQuad&gt;&amp;, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
</del><ins>+    WEBCORE_EXPORT void textQuads(Vector&lt;FloatQuad&gt;&amp;, bool useSelectionHeight = false, RangeInFixedPosition* = 0) const;
</ins><span class="cx">     void getBorderAndTextQuads(Vector&lt;FloatQuad&gt;&amp;) const;
</span><del>-    FloatRect boundingRect() const;
</del><ins>+    WEBCORE_EXPORT FloatRect boundingRect() const;
</ins><span class="cx"> #if PLATFORM(IOS)
</span><del>-    void collectSelectionRects(Vector&lt;SelectionRect&gt;&amp;);
</del><ins>+    WEBCORE_EXPORT void collectSelectionRects(Vector&lt;SelectionRect&gt;&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void nodeChildrenChanged(ContainerNode&amp;);
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">     void formatForDebugger(char* buffer, unsigned length) const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool contains(const Range&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool contains(const Range&amp;) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit Range(Document&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/editing/FrameSelection.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     bool hasCaret() const { return m_position.isNotNull(); }
</span><span class="cx">     const VisiblePosition&amp; caretPosition() { return m_position; }
</span><span class="cx">     void setCaretPosition(const VisiblePosition&amp;);
</span><del>-    void clear() { setCaretPosition(VisiblePosition()); }
</del><ins>+    WEBCORE_EXPORT void clear() { setCaretPosition(VisiblePosition()); }
</ins><span class="cx"> 
</span><span class="cx">     void nodeWillBeRemoved(Node*);
</span><span class="cx"> 
</span><span class="lines">@@ -131,21 +131,21 @@
</span><span class="cx">         return CloseTyping | ClearTypingStyle | (userTriggered ? (RevealSelection | FireSelectEvent) : 0);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    explicit FrameSelection(Frame* = 0);
</del><ins>+    WEBCORE_EXPORT explicit FrameSelection(Frame* = nullptr);
</ins><span class="cx"> 
</span><del>-    Element* rootEditableElementOrDocumentElement() const;
</del><ins>+    WEBCORE_EXPORT Element* rootEditableElementOrDocumentElement() const;
</ins><span class="cx">      
</span><span class="cx">     void moveTo(const Range*);
</span><span class="cx">     void moveTo(const VisiblePosition&amp;, EUserTriggered = NotUserTriggered, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
</span><del>-    void moveTo(const VisiblePosition&amp;, const VisiblePosition&amp;, EUserTriggered = NotUserTriggered);
</del><ins>+    WEBCORE_EXPORT void moveTo(const VisiblePosition&amp;, const VisiblePosition&amp;, EUserTriggered = NotUserTriggered);
</ins><span class="cx">     void moveTo(const Position&amp;, EAffinity, EUserTriggered = NotUserTriggered);
</span><span class="cx">     void moveTo(const Position&amp;, const Position&amp;, EAffinity, EUserTriggered = NotUserTriggered);
</span><span class="cx">     void moveWithoutValidationTo(const Position&amp;, const Position&amp;, bool selectionHasDirection, bool shouldSetFocus);
</span><span class="cx"> 
</span><span class="cx">     const VisibleSelection&amp; selection() const { return m_selection; }
</span><del>-    void setSelection(const VisibleSelection&amp;, SetSelectionOptions = defaultSetSelectionOptions(), CursorAlignOnScroll = AlignCursorOnScrollIfNeeded, TextGranularity = CharacterGranularity);
-    bool setSelectedRange(Range*, EAffinity, bool closeTyping);
-    void selectAll();
</del><ins>+    WEBCORE_EXPORT void setSelection(const VisibleSelection&amp;, SetSelectionOptions = defaultSetSelectionOptions(), CursorAlignOnScroll = AlignCursorOnScrollIfNeeded, TextGranularity = CharacterGranularity);
+    WEBCORE_EXPORT bool setSelectedRange(Range*, EAffinity, bool closeTyping);
+    WEBCORE_EXPORT void selectAll();
</ins><span class="cx">     void clear();
</span><span class="cx">     void prepareForDestruction();
</span><span class="cx"> 
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool contains(const LayoutPoint&amp;);
</span><span class="cx"> 
</span><del>-    bool modify(EAlteration, SelectionDirection, TextGranularity, EUserTriggered = NotUserTriggered);
</del><ins>+    WEBCORE_EXPORT bool modify(EAlteration, SelectionDirection, TextGranularity, EUserTriggered = NotUserTriggered);
</ins><span class="cx">     enum VerticalDirection { DirectionUp, DirectionDown };
</span><span class="cx">     bool modify(EAlteration, unsigned verticalDistance, VerticalDirection, EUserTriggered = NotUserTriggered, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
</span><span class="cx"> 
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">     RenderObject* caretRendererWithoutUpdatingLayout() const;
</span><span class="cx"> 
</span><span class="cx">     // Bounds of (possibly transformed) caret in absolute coords
</span><del>-    IntRect absoluteCaretBounds();
</del><ins>+    WEBCORE_EXPORT IntRect absoluteCaretBounds();
</ins><span class="cx">     void setCaretRectNeedsUpdate() { CaretBase::setCaretRectNeedsUpdate(); }
</span><span class="cx"> 
</span><span class="cx">     void willBeModified(EAlteration, SelectionDirection);
</span><span class="lines">@@ -198,13 +198,13 @@
</span><span class="cx">     bool isCaretBlinkingSuspended() const { return m_isCaretBlinkingSuspended; }
</span><span class="cx"> 
</span><span class="cx">     // Focus
</span><del>-    void setFocused(bool);
</del><ins>+    WEBCORE_EXPORT void setFocused(bool);
</ins><span class="cx">     bool isFocused() const { return m_focused; }
</span><del>-    bool isFocusedAndActive() const;
</del><ins>+    WEBCORE_EXPORT bool isFocusedAndActive() const;
</ins><span class="cx">     void pageActivationChanged();
</span><span class="cx"> 
</span><span class="cx">     // Painting.
</span><del>-    void updateAppearance();
</del><ins>+    WEBCORE_EXPORT void updateAppearance();
</ins><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     void formatForDebugger(char* buffer, unsigned length) const;
</span><span class="lines">@@ -213,26 +213,26 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> public:
</span><del>-    void expandSelectionToElementContainingCaretSelection();
-    PassRefPtr&lt;Range&gt; elementRangeContainingCaretSelection() const;
-    void expandSelectionToWordContainingCaretSelection();
-    PassRefPtr&lt;Range&gt; 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&lt;Range&gt; rangeByMovingCurrentSelection(int amount) const;
-    PassRefPtr&lt;Range&gt; rangeByExtendingCurrentSelection(int amount) const;
-    void selectRangeOnElement(unsigned location, unsigned length, Node*);
-    void clearCurrentSelection();
</del><ins>+    WEBCORE_EXPORT void expandSelectionToElementContainingCaretSelection();
+    WEBCORE_EXPORT PassRefPtr&lt;Range&gt; elementRangeContainingCaretSelection() const;
+    WEBCORE_EXPORT void expandSelectionToWordContainingCaretSelection();
+    WEBCORE_EXPORT PassRefPtr&lt;Range&gt; 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&lt;Range&gt; rangeByMovingCurrentSelection(int amount) const;
+    WEBCORE_EXPORT PassRefPtr&lt;Range&gt; rangeByExtendingCurrentSelection(int amount) const;
+    WEBCORE_EXPORT void selectRangeOnElement(unsigned location, unsigned length, Node*);
+    WEBCORE_EXPORT void clearCurrentSelection();
</ins><span class="cx">     void setCaretBlinks(bool caretBlinks = true);
</span><del>-    void setCaretColor(const Color&amp;);
-    static VisibleSelection wordSelectionContainingCaretSelection(const VisibleSelection&amp;);
</del><ins>+    WEBCORE_EXPORT void setCaretColor(const Color&amp;);
+    WEBCORE_EXPORT static VisibleSelection wordSelectionContainingCaretSelection(const VisibleSelection&amp;);
</ins><span class="cx">     void setUpdateAppearanceEnabled(bool enabled) { m_updateAppearanceEnabled = enabled; }
</span><span class="cx">     void suppressScrolling() { ++m_scrollingSuppressCount; }
</span><span class="cx">     void restoreScrolling()
</span><span class="lines">@@ -252,18 +252,18 @@
</span><span class="cx">     void setSelectionByMouseIfDifferent(const VisibleSelection&amp;, TextGranularity, EndPointsAdjustmentMode = DoNotAdjsutEndpoints);
</span><span class="cx"> 
</span><span class="cx">     EditingStyle* typingStyle() const;
</span><del>-    PassRefPtr&lt;MutableStyleProperties&gt; copyTypingStyle() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;MutableStyleProperties&gt; copyTypingStyle() const;
</ins><span class="cx">     void setTypingStyle(PassRefPtr&lt;EditingStyle&gt;);
</span><span class="cx">     void clearTypingStyle();
</span><span class="cx"> 
</span><del>-    FloatRect selectionBounds(bool clipToVisibleContent = true) const;
</del><ins>+    WEBCORE_EXPORT FloatRect selectionBounds(bool clipToVisibleContent = true) const;
</ins><span class="cx"> 
</span><del>-    void getClippedVisibleTextRectangles(Vector&lt;FloatRect&gt;&amp;) const;
</del><ins>+    WEBCORE_EXPORT void getClippedVisibleTextRectangles(Vector&lt;FloatRect&gt;&amp;) const;
</ins><span class="cx"> 
</span><del>-    HTMLFormElement* currentForm() const;
</del><ins>+    WEBCORE_EXPORT HTMLFormElement* currentForm() const;
</ins><span class="cx"> 
</span><del>-    void revealSelection(const ScrollAlignment&amp; = ScrollAlignment::alignCenterIfNeeded, RevealExtentOption = DoNotRevealExtent);
-    void setSelectionFromNone();
</del><ins>+    WEBCORE_EXPORT void revealSelection(const ScrollAlignment&amp; = ScrollAlignment::alignCenterIfNeeded, RevealExtentOption = DoNotRevealExtent);
+    WEBCORE_EXPORT void setSelectionFromNone();
</ins><span class="cx"> 
</span><span class="cx">     bool shouldShowBlockCursor() const { return m_shouldShowBlockCursor; }
</span><span class="cx">     void setShouldShowBlockCursor(bool);
</span></span></pre></div>
<a id="trunkSourceWebCorehistoryHistoryItemh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/history/HistoryItem.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/history/HistoryItem.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/history/HistoryItem.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -76,56 +76,56 @@
</span><span class="cx">         return adoptRef(new HistoryItem(url, target, parent, title));
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    ~HistoryItem();
</del><ins>+    WEBCORE_EXPORT ~HistoryItem();
</ins><span class="cx"> 
</span><del>-    PassRefPtr&lt;HistoryItem&gt; copy() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;HistoryItem&gt; copy() const;
</ins><span class="cx"> 
</span><span class="cx">     // Resets the HistoryItem to its initial state, as returned by create().
</span><span class="cx">     void reset();
</span><span class="cx">     
</span><del>-    const String&amp; originalURLString() const;
-    const String&amp; urlString() const;
-    const String&amp; title() const;
</del><ins>+    WEBCORE_EXPORT const String&amp; originalURLString() const;
+    WEBCORE_EXPORT const String&amp; urlString() const;
+    WEBCORE_EXPORT const String&amp; title() const;
</ins><span class="cx">     
</span><span class="cx">     bool isInPageCache() const { return m_cachedPage.get(); }
</span><del>-    bool hasCachedPageExpired() const;
</del><ins>+    WEBCORE_EXPORT bool hasCachedPageExpired() const;
</ins><span class="cx"> 
</span><del>-    void setAlternateTitle(const String&amp; alternateTitle);
-    const String&amp; alternateTitle() const;
</del><ins>+    WEBCORE_EXPORT void setAlternateTitle(const String&amp;);
+    WEBCORE_EXPORT const String&amp; alternateTitle() const;
</ins><span class="cx">     
</span><span class="cx">     const String&amp; parent() const;
</span><del>-    URL url() const;
-    URL originalURL() const;
-    const String&amp; referrer() const;
-    const String&amp; target() const;
-    bool isTargetItem() const;
</del><ins>+    WEBCORE_EXPORT URL url() const;
+    WEBCORE_EXPORT URL originalURL() const;
+    WEBCORE_EXPORT const String&amp; referrer() const;
+    WEBCORE_EXPORT const String&amp; target() const;
+    WEBCORE_EXPORT bool isTargetItem() const;
</ins><span class="cx">     
</span><del>-    FormData* formData();
-    String formContentType() const;
</del><ins>+    WEBCORE_EXPORT FormData* formData();
+    WEBCORE_EXPORT String formContentType() const;
</ins><span class="cx">     
</span><span class="cx">     bool lastVisitWasFailure() const { return m_lastVisitWasFailure; }
</span><span class="cx"> 
</span><del>-    const IntPoint&amp; scrollPoint() const;
-    void setScrollPoint(const IntPoint&amp;);
</del><ins>+    WEBCORE_EXPORT const IntPoint&amp; scrollPoint() const;
+    WEBCORE_EXPORT void setScrollPoint(const IntPoint&amp;);
</ins><span class="cx">     void clearScrollPoint();
</span><span class="cx">     
</span><del>-    float pageScaleFactor() const;
-    void setPageScaleFactor(float);
</del><ins>+    WEBCORE_EXPORT float pageScaleFactor() const;
+    WEBCORE_EXPORT void setPageScaleFactor(float);
</ins><span class="cx">     
</span><del>-    const Vector&lt;String&gt;&amp; documentState() const;
-    void setDocumentState(const Vector&lt;String&gt;&amp;);
</del><ins>+    WEBCORE_EXPORT const Vector&lt;String&gt;&amp; documentState() const;
+    WEBCORE_EXPORT void setDocumentState(const Vector&lt;String&gt;&amp;);
</ins><span class="cx">     void clearDocumentState();
</span><span class="cx"> 
</span><span class="cx">     void setURL(const URL&amp;);
</span><del>-    void setURLString(const String&amp;);
-    void setOriginalURLString(const String&amp;);
-    void setReferrer(const String&amp;);
-    void setTarget(const String&amp;);
</del><ins>+    WEBCORE_EXPORT void setURLString(const String&amp;);
+    WEBCORE_EXPORT void setOriginalURLString(const String&amp;);
+    WEBCORE_EXPORT void setReferrer(const String&amp;);
+    WEBCORE_EXPORT void setTarget(const String&amp;);
</ins><span class="cx">     void setParent(const String&amp;);
</span><del>-    void setTitle(const String&amp;);
-    void setIsTargetItem(bool);
</del><ins>+    WEBCORE_EXPORT void setTitle(const String&amp;);
+    WEBCORE_EXPORT void setIsTargetItem(bool);
</ins><span class="cx">     
</span><del>-    void setStateObject(PassRefPtr&lt;SerializedScriptValue&gt; object);
</del><ins>+    WEBCORE_EXPORT void setStateObject(PassRefPtr&lt;SerializedScriptValue&gt;);
</ins><span class="cx">     PassRefPtr&lt;SerializedScriptValue&gt; stateObject() const { return m_stateObject; }
</span><span class="cx"> 
</span><span class="cx">     void setItemSequenceNumber(long long number) { m_itemSequenceNumber = number; }
</span><span class="lines">@@ -135,38 +135,38 @@
</span><span class="cx">     long long documentSequenceNumber() const { return m_documentSequenceNumber; }
</span><span class="cx"> 
</span><span class="cx">     void setFormInfoFromRequest(const ResourceRequest&amp;);
</span><del>-    void setFormData(PassRefPtr&lt;FormData&gt;);
-    void setFormContentType(const String&amp;);
</del><ins>+    WEBCORE_EXPORT void setFormData(PassRefPtr&lt;FormData&gt;);
+    WEBCORE_EXPORT void setFormContentType(const String&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void setLastVisitWasFailure(bool wasFailure) { m_lastVisitWasFailure = wasFailure; }
</span><span class="cx"> 
</span><del>-    void addChildItem(PassRefPtr&lt;HistoryItem&gt;);
</del><ins>+    WEBCORE_EXPORT void addChildItem(PassRefPtr&lt;HistoryItem&gt;);
</ins><span class="cx">     void setChildItem(PassRefPtr&lt;HistoryItem&gt;);
</span><del>-    HistoryItem* childItemWithTarget(const String&amp;) const;
</del><ins>+    WEBCORE_EXPORT HistoryItem* childItemWithTarget(const String&amp;) const;
</ins><span class="cx">     HistoryItem* childItemWithDocumentSequenceNumber(long long number) const;
</span><del>-    HistoryItem* targetItem();
-    const HistoryItemVector&amp; children() const;
-    bool hasChildren() const;
</del><ins>+    WEBCORE_EXPORT HistoryItem* targetItem();
+    WEBCORE_EXPORT const HistoryItemVector&amp; children() const;
+    WEBCORE_EXPORT bool hasChildren() const;
</ins><span class="cx">     void clearChildren();
</span><span class="cx">     bool isAncestorOf(const HistoryItem*) const;
</span><span class="cx">     
</span><span class="cx">     bool shouldDoSameDocumentNavigationTo(HistoryItem* otherItem) const;
</span><span class="cx">     bool hasSameFrames(HistoryItem* otherItem) const;
</span><span class="cx"> 
</span><del>-    void addRedirectURL(const String&amp;);
-    Vector&lt;String&gt;* redirectURLs() const;
-    void setRedirectURLs(std::unique_ptr&lt;Vector&lt;String&gt;&gt;);
</del><ins>+    WEBCORE_EXPORT void addRedirectURL(const String&amp;);
+    WEBCORE_EXPORT Vector&lt;String&gt;* redirectURLs() const;
+    WEBCORE_EXPORT void setRedirectURLs(std::unique_ptr&lt;Vector&lt;String&gt;&gt;);
</ins><span class="cx"> 
</span><span class="cx">     bool isCurrentDocument(Document*) const;
</span><span class="cx">     
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    id viewState() const;
-    void setViewState(id);
</del><ins>+    WEBCORE_EXPORT id viewState() const;
+    WEBCORE_EXPORT void setViewState(id);
</ins><span class="cx">     
</span><span class="cx">     // Transient properties may be of any ObjC type.  They are intended to be used to store state per back/forward list entry.
</span><span class="cx">     // The properties will not be persisted; when the history item is removed, the properties will be lost.
</span><del>-    id getTransientProperty(const String&amp;) const;
-    void setTransientProperty(const String&amp;, id);
</del><ins>+    WEBCORE_EXPORT id getTransientProperty(const String&amp;) const;
+    WEBCORE_EXPORT void setTransientProperty(const String&amp;, id);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><span class="lines">@@ -206,10 +206,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    HistoryItem();
-    HistoryItem(const String&amp; urlString, const String&amp; title);
-    HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle);
-    HistoryItem(const URL&amp; url, const String&amp; frameName, const String&amp; parent, const String&amp; title);
</del><ins>+    WEBCORE_EXPORT HistoryItem();
+    WEBCORE_EXPORT HistoryItem(const String&amp; urlString, const String&amp; title);
+    WEBCORE_EXPORT HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle);
+    WEBCORE_EXPORT HistoryItem(const URL&amp;, const String&amp; frameName, const String&amp; parent, const String&amp; title);
</ins><span class="cx"> 
</span><span class="cx">     explicit HistoryItem(const HistoryItem&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehistoryPageCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/history/PageCache.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/history/PageCache.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/history/PageCache.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -45,18 +45,18 @@
</span><span class="cx">         
</span><span class="cx">         bool canCache(Page*) const;
</span><span class="cx"> 
</span><del>-        void setCapacity(int); // number of pages to cache
</del><ins>+        WEBCORE_EXPORT void setCapacity(int); // number of pages to cache
</ins><span class="cx">         int capacity() { return m_capacity; }
</span><span class="cx">         
</span><span class="cx">         void add(PassRefPtr&lt;HistoryItem&gt;, Page&amp;); // Prunes if capacity() is exceeded.
</span><del>-        void remove(HistoryItem*);
</del><ins>+        WEBCORE_EXPORT void remove(HistoryItem*);
</ins><span class="cx">         CachedPage* get(HistoryItem* item);
</span><span class="cx">         std::unique_ptr&lt;CachedPage&gt; take(HistoryItem*);
</span><span class="cx"> 
</span><span class="cx">         int pageCount() const { return m_size; }
</span><del>-        int frameCount() const;
</del><ins>+        WEBCORE_EXPORT int frameCount() const;
</ins><span class="cx"> 
</span><del>-        void markPagesForVistedLinkStyleRecalc();
</del><ins>+        WEBCORE_EXPORT void markPagesForVistedLinkStyleRecalc();
</ins><span class="cx"> 
</span><span class="cx">         // Will mark all cached pages associated with the given page as needing style recalc.
</span><span class="cx">         void markPagesForFullStyleRecalc(Page*);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFormControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FormController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FormController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/FormController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     void restoreControlStateFor(HTMLFormControlElementWithState&amp;);
</span><span class="cx">     void restoreControlStateIn(HTMLFormElement&amp;);
</span><span class="cx"> 
</span><del>-    static Vector&lt;String&gt; getReferencedFilePaths(const Vector&lt;String&gt;&amp; stateVector);
</del><ins>+    WEBCORE_EXPORT static Vector&lt;String&gt; getReferencedFilePaths(const Vector&lt;String&gt;&amp; stateVector);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     typedef ListHashSet&lt;RefPtr&lt;HTMLFormControlElementWithState&gt;, 64&gt; FormElementListHashSet;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;HTMLCollection&gt; children();
</span><span class="cx"> 
</span><del>-    virtual String title() const override final;
</del><ins>+    WEBCORE_EXPORT virtual String title() const override final;
</ins><span class="cx"> 
</span><span class="cx">     virtual short tabIndex() const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLFormElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -66,10 +66,10 @@
</span><span class="cx">     bool shouldAutocomplete() const;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE)
</span><del>-    bool autocorrect() const;
</del><ins>+    WEBCORE_EXPORT bool autocorrect() const;
</ins><span class="cx">     void setAutocorrect(bool);
</span><span class="cx"> 
</span><del>-    WebAutocapitalizeType autocapitalizeType() const;
</del><ins>+    WEBCORE_EXPORT WebAutocapitalizeType autocapitalizeType() const;
</ins><span class="cx">     const AtomicString&amp; autocapitalize() const;
</span><span class="cx">     void setAutocapitalize(const AtomicString&amp;);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameOwnerElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameOwnerElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameOwnerElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLFrameOwnerElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* contentFrame() const { return m_contentFrame; }
</span><span class="cx">     DOMWindow* contentWindow() const;
</span><del>-    Document* contentDocument() const;
</del><ins>+    WEBCORE_EXPORT Document* contentDocument() const;
</ins><span class="cx"> 
</span><span class="cx">     void setContentFrame(Frame*);
</span><span class="cx">     void clearContentFrame();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLInputElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual HTMLInputElement* toInputElement() override { return this; }
</span><span class="cx"> 
</span><del>-    virtual bool shouldAutocomplete() const override;
</del><ins>+    WEBCORE_EXPORT virtual bool shouldAutocomplete() const override;
</ins><span class="cx"> 
</span><span class="cx">     // For ValidityState
</span><span class="cx">     virtual bool hasBadInput() const override;
</span><span class="lines">@@ -108,10 +108,10 @@
</span><span class="cx">     bool isTextButton() const;
</span><span class="cx"> 
</span><span class="cx">     bool isRadioButton() const;
</span><del>-    bool isTextField() const;
-    bool isSearchField() const;
</del><ins>+    WEBCORE_EXPORT bool isTextField() const;
+    WEBCORE_EXPORT bool isSearchField() const;
</ins><span class="cx">     bool isInputTypeHidden() const;
</span><del>-    bool isPasswordField() const;
</del><ins>+    WEBCORE_EXPORT bool isPasswordField() const;
</ins><span class="cx">     bool isCheckbox() const;
</span><span class="cx">     bool isRangeControl() const;
</span><span class="cx"> 
</span><span class="lines">@@ -123,21 +123,21 @@
</span><span class="cx">     // be using a different one. Many input elements behave like text fields, and in addition
</span><span class="cx">     // any unknown input type is treated as text. Consider, for example, isTextField or
</span><span class="cx">     // isTextField &amp;&amp; !isPasswordField.
</span><del>-    bool isText() const;
</del><ins>+    WEBCORE_EXPORT bool isText() const;
</ins><span class="cx"> 
</span><del>-    bool isEmailField() const;
</del><ins>+    WEBCORE_EXPORT bool isEmailField() const;
</ins><span class="cx">     bool isFileUpload() const;
</span><span class="cx">     bool isImageButton() const;
</span><del>-    bool isNumberField() const;
</del><ins>+    WEBCORE_EXPORT bool isNumberField() const;
</ins><span class="cx">     bool isSubmitButton() const;
</span><del>-    bool isTelephoneField() const;
-    bool isURLField() const;
-    bool isDateField() const;
-    bool isDateTimeField() const;
-    bool isDateTimeLocalField() const;
-    bool isMonthField() const;
-    bool isTimeField() const;
-    bool isWeekField() const;
</del><ins>+    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;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     DateComponents::Type dateType() const;
</span><span class="lines">@@ -171,8 +171,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual String value() const override;
</span><span class="cx">     void setValue(const String&amp;, ExceptionCode&amp;, TextFieldEventBehavior = DispatchNoEvent);
</span><del>-    void setValue(const String&amp;, TextFieldEventBehavior = DispatchNoEvent);
-    void setValueForUser(const String&amp;);
</del><ins>+    WEBCORE_EXPORT void setValue(const String&amp;, TextFieldEventBehavior = DispatchNoEvent);
+    WEBCORE_EXPORT void setValueForUser(const String&amp;);
</ins><span class="cx">     // Checks if the specified string would be a valid value.
</span><span class="cx">     // We should not call this for types with no string value such as CHECKBOX and RADIO.
</span><span class="cx">     bool isValidValue(const String&amp;) const;
</span><span class="lines">@@ -185,13 +185,13 @@
</span><span class="cx">     // The value which is drawn by a renderer.
</span><span class="cx">     String visibleValue() const;
</span><span class="cx"> 
</span><del>-    void setEditingValue(const String&amp;);
</del><ins>+    WEBCORE_EXPORT void setEditingValue(const String&amp;);
</ins><span class="cx"> 
</span><span class="cx">     double valueAsDate() const;
</span><span class="cx">     void setValueAsDate(double, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    double valueAsNumber() const;
-    void setValueAsNumber(double, ExceptionCode&amp;, TextFieldEventBehavior = DispatchNoEvent);
</del><ins>+    WEBCORE_EXPORT double valueAsNumber() const;
+    WEBCORE_EXPORT void setValueAsNumber(double, ExceptionCode&amp;, TextFieldEventBehavior = DispatchNoEvent);
</ins><span class="cx"> 
</span><span class="cx">     String valueWithDefault() const;
</span><span class="cx"> 
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">     bool multiple() const;
</span><span class="cx"> 
</span><span class="cx">     bool isAutofilled() const { return m_isAutofilled; }
</span><del>-    void setAutofilled(bool = true);
</del><ins>+    WEBCORE_EXPORT void setAutofilled(bool = true);
</ins><span class="cx"> 
</span><span class="cx">     FileList* files();
</span><span class="cx">     void setFiles(PassRefPtr&lt;FileList&gt;);
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INPUT_TYPE_COLOR)
</span><span class="cx">     // For test purposes.
</span><del>-    void selectColorInColorChooser(const Color&amp;);
</del><ins>+    WEBCORE_EXPORT void selectColorInColorChooser(const Color&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     String defaultToolTip() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     virtual bool hasAudio() const override;
</span><span class="cx"> 
</span><span class="cx">     void rewind(double timeDelta);
</span><del>-    virtual void returnToRealtime() override;
</del><ins>+    WEBCORE_EXPORT virtual void returnToRealtime() override;
</ins><span class="cx"> 
</span><span class="cx">     // Eventually overloaded in HTMLVideoElement
</span><span class="cx">     virtual bool supportsFullscreen() const override { return false; };
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     
</span><span class="cx">     virtual bool doesHaveAttribute(const AtomicString&amp;, AtomicString* value = nullptr) const override;
</span><span class="cx"> 
</span><del>-    PlatformMedia platformMedia() const;
</del><ins>+    WEBCORE_EXPORT PlatformMedia platformMedia() const;
</ins><span class="cx">     PlatformLayer* platformLayer() const;
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     void setVideoFullscreenLayer(PlatformLayer*);
</span><span class="lines">@@ -167,26 +167,26 @@
</span><span class="cx">     bool seeking() const;
</span><span class="cx"> 
</span><span class="cx"> // playback state
</span><del>-    virtual double currentTime() const override;
</del><ins>+    WEBCORE_EXPORT virtual double currentTime() const override;
</ins><span class="cx">     virtual void setCurrentTime(double) override;
</span><span class="cx">     virtual void setCurrentTime(double, ExceptionCode&amp;);
</span><del>-    virtual double duration() const override;
-    virtual bool paused() const override;
</del><ins>+    WEBCORE_EXPORT virtual double duration() const override;
+    WEBCORE_EXPORT virtual bool paused() const override;
</ins><span class="cx">     virtual double defaultPlaybackRate() const override;
</span><span class="cx">     virtual void setDefaultPlaybackRate(double) override;
</span><del>-    virtual double playbackRate() const override;
</del><ins>+    WEBCORE_EXPORT virtual double playbackRate() const override;
</ins><span class="cx">     virtual void setPlaybackRate(double) override;
</span><span class="cx">     void updatePlaybackRate();
</span><span class="cx">     bool webkitPreservesPitch() const;
</span><span class="cx">     void setWebkitPreservesPitch(bool);
</span><span class="cx">     virtual PassRefPtr&lt;TimeRanges&gt; played() override;
</span><span class="cx">     virtual PassRefPtr&lt;TimeRanges&gt; seekable() const override;
</span><del>-    bool ended() const;
</del><ins>+    WEBCORE_EXPORT bool ended() const;
</ins><span class="cx">     bool autoplay() const;
</span><span class="cx">     bool loop() const;    
</span><span class="cx">     void setLoop(bool b);
</span><del>-    virtual void play() override;
-    virtual void pause() override;
</del><ins>+    WEBCORE_EXPORT virtual void play() override;
+    WEBCORE_EXPORT virtual void pause() override;
</ins><span class="cx">     virtual void setShouldBufferData(bool) override;
</span><span class="cx">     void fastSeek(double);
</span><span class="cx">     double minFastReverseRate() const;
</span><span class="lines">@@ -235,20 +235,20 @@
</span><span class="cx"> // controls
</span><span class="cx">     bool controls() const;
</span><span class="cx">     void setControls(bool);
</span><del>-    virtual double volume() const override;
</del><ins>+    WEBCORE_EXPORT virtual double volume() const override;
</ins><span class="cx">     virtual void setVolume(double, ExceptionCode&amp;) override;
</span><del>-    virtual bool muted() const override;
-    virtual void setMuted(bool) override;
</del><ins>+    WEBCORE_EXPORT virtual bool muted() const override;
+    WEBCORE_EXPORT virtual void setMuted(bool) override;
</ins><span class="cx"> 
</span><del>-    void togglePlayState();
-    virtual void beginScrubbing() override;
-    virtual void endScrubbing() override;
</del><ins>+    WEBCORE_EXPORT void togglePlayState();
+    WEBCORE_EXPORT virtual void beginScrubbing() override;
+    WEBCORE_EXPORT virtual void endScrubbing() override;
</ins><span class="cx"> 
</span><span class="cx">     virtual void beginScanning(ScanDirection) override;
</span><span class="cx">     virtual void endScanning() override;
</span><span class="cx">     double nextScanRate();
</span><span class="cx"> 
</span><del>-    virtual bool canPlay() const override;
</del><ins>+    WEBCORE_EXPORT virtual bool canPlay() const override;
</ins><span class="cx"> 
</span><span class="cx">     double percentLoaded() const;
</span><span class="cx"> 
</span><span class="lines">@@ -377,10 +377,10 @@
</span><span class="cx"> 
</span><span class="cx">     bool hasSingleSecurityOrigin() const { return !m_player || m_player-&gt;hasSingleSecurityOrigin(); }
</span><span class="cx">     
</span><del>-    virtual bool isFullscreen() const override;
</del><ins>+    WEBCORE_EXPORT virtual bool isFullscreen() const override;
</ins><span class="cx">     void toggleFullscreenState();
</span><span class="cx">     virtual void enterFullscreen() override;
</span><del>-    void exitFullscreen();
</del><ins>+    WEBCORE_EXPORT void exitFullscreen();
</ins><span class="cx"> 
</span><span class="cx">     virtual bool hasClosedCaptions() const override;
</span><span class="cx">     virtual bool closedCaptionsVisible() const override;
</span><span class="lines">@@ -394,9 +394,9 @@
</span><span class="cx">     virtual void privateBrowsingStateDidChange() override;
</span><span class="cx"> 
</span><span class="cx">     // Media cache management.
</span><del>-    static void getSitesInMediaCache(Vector&lt;String&gt;&amp;);
-    static void clearMediaCache();
-    static void clearMediaCacheForSite(const String&amp;);
</del><ins>+    WEBCORE_EXPORT static void getSitesInMediaCache(Vector&lt;String&gt;&amp;);
+    WEBCORE_EXPORT static void clearMediaCache();
+    WEBCORE_EXPORT static void clearMediaCacheForSite(const String&amp;);
</ins><span class="cx">     static void resetMediaEngines();
</span><span class="cx"> 
</span><span class="cx">     bool isPlaying() const { return m_playing; }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptGroupElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptGroupElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     virtual bool isDisabledFormControl() const override;
</span><span class="cx">     HTMLSelectElement* ownerSelectElement() const;
</span><span class="cx">     
</span><del>-    String groupLabelText() const;
</del><ins>+    WEBCORE_EXPORT String groupLabelText() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     HTMLOptGroupElement(const QualifiedName&amp;, Document&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLOptionElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     static PassRefPtr&lt;HTMLOptionElement&gt; createForJSConstructor(Document&amp;, const String&amp; data, const String&amp; value,
</span><span class="cx">        bool defaultSelected, bool selected, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    virtual String text() const;
</del><ins>+    WEBCORE_EXPORT virtual String text() const;
</ins><span class="cx">     void setText(const String&amp;, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     int index() const;
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     String value() const;
</span><span class="cx">     void setValue(const String&amp;);
</span><span class="cx"> 
</span><del>-    bool selected();
</del><ins>+    WEBCORE_EXPORT bool selected();
</ins><span class="cx">     void setSelected(bool);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DATALIST_ELEMENT)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLPlugInElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;JSC::Bindings::Instance&gt; getInstance();
</span><span class="cx"> 
</span><del>-    Widget* pluginWidget() const;
</del><ins>+    WEBCORE_EXPORT Widget* pluginWidget() const;
</ins><span class="cx"> 
</span><span class="cx">     enum DisplayState {
</span><span class="cx">         WaitingForSnapshot,
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     JSC::JSObject* scriptObjectForPluginReplacement();
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-    NPObject* getNPObject();
</del><ins>+    WEBCORE_EXPORT NPObject* getNPObject();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     bool isCapturingMouseEvents() const { return m_isCapturingMouseEvents; }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInImageElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInImageElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -70,13 +70,13 @@
</span><span class="cx">     void userDidClickSnapshot(PassRefPtr&lt;MouseEvent&gt;, bool forwardEvent);
</span><span class="cx">     void checkSnapshotStatus();
</span><span class="cx">     Image* snapshotImage() const { return m_snapshotImage.get(); }
</span><del>-    void restartSnapshottedPlugIn();
</del><ins>+    WEBCORE_EXPORT void restartSnapshottedPlugIn();
</ins><span class="cx"> 
</span><span class="cx">     // Plug-in URL might not be the same as url() with overriding parameters.
</span><span class="cx">     void subframeLoaderWillCreatePlugIn(const URL&amp; plugInURL);
</span><span class="cx">     void subframeLoaderDidCreatePlugIn(const Widget*);
</span><span class="cx"> 
</span><del>-    void setIsPrimarySnapshottedPlugIn(bool);
</del><ins>+    WEBCORE_EXPORT void setIsPrimarySnapshottedPlugIn(bool);
</ins><span class="cx">     bool partOfSnapshotOverlay(Node*);
</span><span class="cx"> 
</span><span class="cx">     bool needsCheckForSizeChange() const { return m_needsCheckForSizeChange; }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLSelectElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;HTMLSelectElement&gt; create(const QualifiedName&amp;, Document&amp;, HTMLFormElement*);
</span><span class="cx"> 
</span><del>-    int selectedIndex() const;
</del><ins>+    WEBCORE_EXPORT int selectedIndex() const;
</ins><span class="cx">     void setSelectedIndex(int);
</span><span class="cx"> 
</span><del>-    void optionSelectedByUser(int index, bool dispatchChangeEvent, bool allowMultipleSelection = false);
</del><ins>+    WEBCORE_EXPORT void optionSelectedByUser(int index, bool dispatchChangeEvent, bool allowMultipleSelection = false);
</ins><span class="cx"> 
</span><span class="cx">     // For ValidityState
</span><span class="cx">     virtual String validationMessage() const override;
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void removeByIndex(int);
</span><span class="cx">     void remove(HTMLOptionElement*);
</span><span class="cx"> 
</span><del>-    String value() const;
</del><ins>+    WEBCORE_EXPORT String value() const;
</ins><span class="cx">     void setValue(const String&amp;);
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;HTMLOptionsCollection&gt; options();
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     void invalidateSelectedItems();
</span><span class="cx">     void updateListItemSelectedStates();
</span><span class="cx"> 
</span><del>-    const Vector&lt;HTMLElement*&gt;&amp; listItems() const;
</del><ins>+    WEBCORE_EXPORT const Vector&lt;HTMLElement*&gt;&amp; listItems() const;
</ins><span class="cx"> 
</span><span class="cx">     virtual void accessKeyAction(bool sendMouseEvents) override;
</span><span class="cx">     void accessKeySetSelectedIndex(int);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableCellElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableCellElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableCellElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLTableCellElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     String headers() const;
</span><span class="cx">     String scope() const;
</span><span class="cx"> 
</span><del>-    HTMLTableCellElement* cellAbove() const;
</del><ins>+    WEBCORE_EXPORT HTMLTableCellElement* cellAbove() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     HTMLTableCellElement(const QualifiedName&amp;, Document&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,8 +40,8 @@
</span><span class="cx"> 
</span><span class="cx">     bool shouldWrapText() const { return m_wrap != NoWrap; }
</span><span class="cx"> 
</span><del>-    virtual String value() const override;
-    void setValue(const String&amp;);
</del><ins>+    WEBCORE_EXPORT virtual String value() const override;
+    WEBCORE_EXPORT void setValue(const String&amp;);
</ins><span class="cx">     String defaultValue() const;
</span><span class="cx">     void setDefaultValue(const String&amp;);
</span><span class="cx">     int textLength() const { return value().length(); }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     void updatePlaceholderVisibility();
</span><span class="cx"> 
</span><span class="cx">     int indexForVisiblePosition(const VisiblePosition&amp;) const;
</span><del>-    VisiblePosition visiblePositionForIndex(int index) const;
</del><ins>+    WEBCORE_EXPORT VisiblePosition visiblePositionForIndex(int index) const;
</ins><span class="cx">     int selectionStart() const;
</span><span class="cx">     int selectionEnd() const;
</span><span class="cx">     const AtomicString&amp; selectionDirection() const;
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">     virtual TextControlInnerTextElement* innerTextElement() const = 0;
</span><span class="cx"> 
</span><span class="cx">     void selectionChanged(bool shouldFireSelectEvent);
</span><del>-    bool lastChangeWasUserEdit() const;
</del><ins>+    WEBCORE_EXPORT bool lastChangeWasUserEdit() const;
</ins><span class="cx">     void setInnerTextValue(const String&amp;);
</span><span class="cx">     String innerTextValue() const;
</span><span class="cx"> 
</span><span class="lines">@@ -88,8 +88,8 @@
</span><span class="cx"> 
</span><span class="cx">     void setTextAsOfLastFormControlChangeEvent(const String&amp; text) { m_textAsOfLastFormControlChangeEvent = text; }
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    void hidePlaceholder();
-    void showPlaceholderIfNecessary();
</del><ins>+    WEBCORE_EXPORT void hidePlaceholder();
+    WEBCORE_EXPORT void showPlaceholderIfNecessary();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/HTMLVideoElement.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;HTMLVideoElement&gt; create(const QualifiedName&amp;, Document&amp;, bool);
</span><span class="cx"> 
</span><del>-    unsigned videoWidth() const;
-    unsigned videoHeight() const;
</del><ins>+    WEBCORE_EXPORT unsigned videoWidth() const;
+    WEBCORE_EXPORT unsigned videoHeight() const;
</ins><span class="cx">     
</span><span class="cx">     // Fullscreen
</span><span class="cx">     void webkitEnterFullscreen(ExceptionCode&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageDocument.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageDocument.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/ImageDocument.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">         return adoptRef(new ImageDocument(frame, url));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    HTMLImageElement* imageElement() const;
</del><ins>+    WEBCORE_EXPORT HTMLImageElement* imageElement() const;
</ins><span class="cx"> 
</span><span class="cx">     void updateDuringParsing();
</span><span class="cx">     void finishedParsing();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlPluginDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/PluginDocument.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/PluginDocument.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/PluginDocument.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx">     void setPluginElement(PassRefPtr&lt;HTMLPlugInElement&gt;);
</span><span class="cx"> 
</span><del>-    Widget* pluginWidget();
</del><ins>+    WEBCORE_EXPORT Widget* pluginWidget();
</ins><span class="cx">     HTMLPlugInElement* pluginElement() { return m_pluginElement.get(); }
</span><span class="cx"> 
</span><span class="cx">     void detachFromPluginElement();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlformsFileIconLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/forms/FileIconLoader.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/forms/FileIconLoader.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/forms/FileIconLoader.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     explicit FileIconLoader(FileIconLoaderClient&amp;);
</span><span class="cx"> 
</span><span class="cx">     void invalidate();
</span><del>-    void notifyFinished(PassRefPtr&lt;Icon&gt;);
</del><ins>+    WEBCORE_EXPORT void notifyFinished(PassRefPtr&lt;Icon&gt;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     FileIconLoaderClient* m_client;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowInsertionPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/InsertionPoint.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/InsertionPoint.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/html/shadow/InsertionPoint.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     bool hasDistribution() const { return m_hasDistribution; }
</span><span class="cx">     void setHasDistribution() { m_hasDistribution = true; }
</span><span class="cx">     void clearDistribution() { m_hasDistribution = false; }
</span><del>-    bool isActive() const;
</del><ins>+    WEBCORE_EXPORT bool isActive() const;
</ins><span class="cx"> 
</span><span class="cx">     virtual MatchType matchTypeFor(Node*) const { return AlwaysMatches; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorClient.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorClient.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/inspector/InspectorClient.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool handleJavaScriptDialog(bool, const String*) { return false; }
</span><span class="cx"> 
</span><del>-    static bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String&amp; message);
</del><ins>+    WEBCORE_EXPORT static bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String&amp; message);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/inspector/InspectorController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -81,21 +81,21 @@
</span><span class="cx">     bool enabled() const;
</span><span class="cx">     Page&amp; inspectedPage() const;
</span><span class="cx"> 
</span><del>-    void show();
-    void close();
</del><ins>+    WEBCORE_EXPORT void show();
+    WEBCORE_EXPORT void close();
</ins><span class="cx"> 
</span><del>-    void setInspectorFrontendClient(std::unique_ptr&lt;InspectorFrontendClient&gt;);
</del><ins>+    WEBCORE_EXPORT void setInspectorFrontendClient(std::unique_ptr&lt;InspectorFrontendClient&gt;);
</ins><span class="cx">     bool hasInspectorFrontendClient() const;
</span><span class="cx">     void didClearWindowObjectInWorld(Frame*, DOMWrapperWorld&amp;);
</span><span class="cx"> 
</span><del>-    void dispatchMessageFromFrontend(const String&amp; message);
</del><ins>+    WEBCORE_EXPORT void dispatchMessageFromFrontend(const String&amp; message);
</ins><span class="cx"> 
</span><span class="cx">     bool hasFrontend() const { return !!m_inspectorFrontendChannel; }
</span><span class="cx">     bool hasLocalFrontend() const;
</span><span class="cx">     bool hasRemoteFrontend() const;
</span><span class="cx"> 
</span><del>-    void connectFrontend(Inspector::InspectorFrontendChannel*);
-    void disconnectFrontend(Inspector::InspectorDisconnectReason);
</del><ins>+    WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel*);
+    WEBCORE_EXPORT void disconnectFrontend(Inspector::InspectorDisconnectReason);
</ins><span class="cx">     void setProcessId(long);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><span class="lines">@@ -103,21 +103,21 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void inspect(Node*);
</span><del>-    void drawHighlight(GraphicsContext&amp;) const;
-    void getHighlight(Highlight*, InspectorOverlay::CoordinateSystem) const;
</del><ins>+    WEBCORE_EXPORT void drawHighlight(GraphicsContext&amp;) const;
+    WEBCORE_EXPORT void getHighlight(Highlight*, InspectorOverlay::CoordinateSystem) const;
</ins><span class="cx">     void hideHighlight();
</span><span class="cx">     Node* highlightedNode() const;
</span><span class="cx"> 
</span><span class="cx">     void setIndicating(bool);
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</ins><span class="cx"> 
</span><span class="cx">     bool isUnderTest() const { return m_isUnderTest; }
</span><span class="cx">     void setIsUnderTest(bool isUnderTest) { m_isUnderTest = isUnderTest; }
</span><del>-    void evaluateForTestInFrontend(const String&amp; script);
</del><ins>+    WEBCORE_EXPORT void evaluateForTestInFrontend(const String&amp; script);
</ins><span class="cx"> 
</span><del>-    bool profilerEnabled() const;
-    void setProfilerEnabled(bool);
</del><ins>+    WEBCORE_EXPORT bool profilerEnabled() const;
+    WEBCORE_EXPORT void setProfilerEnabled(bool);
</ins><span class="cx"> 
</span><span class="cx">     void resume();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendClientLocalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -55,18 +55,18 @@
</span><span class="cx">         virtual void setProperty(const String&amp; name, const String&amp; value);
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    InspectorFrontendClientLocal(InspectorController*, Page*, std::unique_ptr&lt;Settings&gt;);
-    virtual ~InspectorFrontendClientLocal();
</del><ins>+    WEBCORE_EXPORT InspectorFrontendClientLocal(InspectorController*, Page*, std::unique_ptr&lt;Settings&gt;);
+    WEBCORE_EXPORT virtual ~InspectorFrontendClientLocal();
</ins><span class="cx"> 
</span><del>-    virtual void windowObjectCleared() override;
-    virtual void frontendLoaded() override;
</del><ins>+    WEBCORE_EXPORT virtual void windowObjectCleared() override;
+    WEBCORE_EXPORT virtual void frontendLoaded() override;
</ins><span class="cx"> 
</span><del>-    virtual void moveWindowBy(float x, float y) override;
</del><ins>+    WEBCORE_EXPORT virtual void moveWindowBy(float x, float y) override;
</ins><span class="cx"> 
</span><del>-    virtual void requestSetDockSide(DockSide) override;
-    virtual void changeAttachedWindowHeight(unsigned) override;
-    virtual void changeAttachedWindowWidth(unsigned) override;
-    virtual void openInNewTab(const String&amp; url) override;
</del><ins>+    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&amp; url) override;
</ins><span class="cx">     virtual bool canSave()  override { return false; }
</span><span class="cx">     virtual void save(const String&amp;, const String&amp;, bool, bool) override { }
</span><span class="cx">     virtual void append(const String&amp;, const String&amp;) override { }
</span><span class="lines">@@ -74,39 +74,39 @@
</span><span class="cx">     virtual void attachWindow(DockSide) = 0;
</span><span class="cx">     virtual void detachWindow() = 0;
</span><span class="cx"> 
</span><del>-    virtual void sendMessageToBackend(const String&amp; message) override;
</del><ins>+    WEBCORE_EXPORT virtual void sendMessageToBackend(const String&amp; message) override;
</ins><span class="cx"> 
</span><del>-    virtual bool isUnderTest() override;
</del><ins>+    WEBCORE_EXPORT virtual bool isUnderTest() override;
</ins><span class="cx"> 
</span><del>-    bool canAttachWindow();
-    void setDockingUnavailable(bool);
</del><ins>+    WEBCORE_EXPORT bool canAttachWindow();
+    WEBCORE_EXPORT void setDockingUnavailable(bool);
</ins><span class="cx"> 
</span><del>-    static unsigned constrainedAttachedWindowHeight(unsigned preferredHeight, unsigned totalWindowHeight);
-    static unsigned constrainedAttachedWindowWidth(unsigned preferredWidth, unsigned totalWindowWidth);
</del><ins>+    WEBCORE_EXPORT static unsigned constrainedAttachedWindowHeight(unsigned preferredHeight, unsigned totalWindowHeight);
+    WEBCORE_EXPORT static unsigned constrainedAttachedWindowWidth(unsigned preferredWidth, unsigned totalWindowWidth);
</ins><span class="cx"> 
</span><span class="cx">     // Direct Frontend API
</span><del>-    bool isDebuggingEnabled();
-    void setDebuggingEnabled(bool);
</del><ins>+    WEBCORE_EXPORT bool isDebuggingEnabled();
+    WEBCORE_EXPORT void setDebuggingEnabled(bool);
</ins><span class="cx"> 
</span><del>-    bool isTimelineProfilingEnabled();
-    void setTimelineProfilingEnabled(bool);
</del><ins>+    WEBCORE_EXPORT bool isTimelineProfilingEnabled();
+    WEBCORE_EXPORT void setTimelineProfilingEnabled(bool);
</ins><span class="cx"> 
</span><del>-    bool isProfilingJavaScript();
-    void startProfilingJavaScript();
-    void stopProfilingJavaScript();
</del><ins>+    WEBCORE_EXPORT bool isProfilingJavaScript();
+    WEBCORE_EXPORT void startProfilingJavaScript();
+    WEBCORE_EXPORT void stopProfilingJavaScript();
</ins><span class="cx"> 
</span><del>-    void showConsole();
</del><ins>+    WEBCORE_EXPORT void showConsole();
</ins><span class="cx"> 
</span><del>-    void showMainResourceForFrame(Frame*);
</del><ins>+    WEBCORE_EXPORT void showMainResourceForFrame(Frame*);
</ins><span class="cx"> 
</span><del>-    void showResources();
</del><ins>+    WEBCORE_EXPORT void showResources();
</ins><span class="cx"> 
</span><del>-    void setAttachedWindow(DockSide);
</del><ins>+    WEBCORE_EXPORT void setAttachedWindow(DockSide);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual void setAttachedWindowHeight(unsigned) = 0;
</span><span class="cx">     virtual void setAttachedWindowWidth(unsigned) = 0;
</span><del>-    void restoreAttachedWindowHeight();
</del><ins>+    WEBCORE_EXPORT void restoreAttachedWindowHeight();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool evaluateAsBoolean(const String&amp; expression);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx">     static void networkStateChangedImpl(InstrumentingAgents*);
</span><span class="cx">     static void updateApplicationCacheStatusImpl(InstrumentingAgents*, Frame*);
</span><span class="cx"> 
</span><del>-    static InstrumentingAgents* instrumentingAgentsForPage(Page*);
</del><ins>+    WEBCORE_EXPORT static InstrumentingAgents* instrumentingAgentsForPage(Page*);
</ins><span class="cx">     static InstrumentingAgents* instrumentingAgentsForFrame(Frame*);
</span><span class="cx">     static InstrumentingAgents* instrumentingAgentsForContext(ScriptExecutionContext*);
</span><span class="cx">     static InstrumentingAgents* instrumentingAgentsForDocument(Document*);
</span><span class="lines">@@ -490,7 +490,7 @@
</span><span class="cx">     static void renderLayerDestroyedImpl(InstrumentingAgents*, const RenderLayer*);
</span><span class="cx">     static void pseudoElementDestroyedImpl(InstrumentingAgents*, PseudoElement*);
</span><span class="cx"> 
</span><del>-    static int s_frontendCounter;
</del><ins>+    WEBCORE_EXPORT static int s_frontendCounter;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoadRequest.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoadRequest.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    FrameLoadRequest(Frame*, const ResourceRequest&amp;, const SubstituteData&amp; = SubstituteData());
</del><ins>+    WEBCORE_EXPORT FrameLoadRequest(Frame*, const ResourceRequest&amp;, const SubstituteData&amp; = SubstituteData());
</ins><span class="cx"> 
</span><span class="cx">     bool isEmpty() const { return m_resourceRequest.isEmpty(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/FrameLoader.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     FrameLoader(Frame&amp;, FrameLoaderClient&amp;);
</span><span class="cx">     ~FrameLoader();
</span><span class="cx"> 
</span><del>-    void init();
</del><ins>+    WEBCORE_EXPORT void init();
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     void initForSynthesizedDocument(const URL&amp;);
</span><span class="cx"> #endif
</span><span class="lines">@@ -106,14 +106,14 @@
</span><span class="cx">     void setupForReplace();
</span><span class="cx"> 
</span><span class="cx">     // FIXME: These are all functions which start loads. We have too many.
</span><del>-    void loadURLIntoChildFrame(const URL&amp;, const String&amp; referer, Frame*);
-    void loadFrameRequest(const FrameLoadRequest&amp;, LockHistory, LockBackForwardList,  // Called by submitForm, calls loadPostRequest and loadURL.
</del><ins>+    WEBCORE_EXPORT void loadURLIntoChildFrame(const URL&amp;, const String&amp; referer, Frame*);
+    WEBCORE_EXPORT void loadFrameRequest(const FrameLoadRequest&amp;, LockHistory, LockBackForwardList, // Called by submitForm, calls loadPostRequest and loadURL.
</ins><span class="cx">         PassRefPtr&lt;Event&gt;, PassRefPtr&lt;FormState&gt;, ShouldSendReferrer, AllowNavigationToInvalidURL);
</span><span class="cx"> 
</span><del>-    void load(const FrameLoadRequest&amp;);
</del><ins>+    WEBCORE_EXPORT void load(const FrameLoadRequest&amp;);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><del>-    void loadArchive(PassRefPtr&lt;Archive&gt;);
</del><ins>+    WEBCORE_EXPORT void loadArchive(PassRefPtr&lt;Archive&gt;);
</ins><span class="cx"> #endif
</span><span class="cx">     unsigned long loadResourceSynchronously(const ResourceRequest&amp;, StoredCredentials, ClientCredentialPolicy, ResourceError&amp;, ResourceResponse&amp;, Vector&lt;char&gt;&amp; data);
</span><span class="cx"> 
</span><span class="lines">@@ -122,8 +122,8 @@
</span><span class="cx">     void urlSelected(const URL&amp;, const String&amp; target, PassRefPtr&lt;Event&gt;, LockHistory, LockBackForwardList, ShouldSendReferrer);
</span><span class="cx">     void submitForm(PassRefPtr&lt;FormSubmission&gt;);
</span><span class="cx"> 
</span><del>-    void reload(bool endToEndReload = false);
-    void reloadWithOverrideEncoding(const String&amp; overrideEncoding);
</del><ins>+    WEBCORE_EXPORT void reload(bool endToEndReload = false);
+    WEBCORE_EXPORT void reloadWithOverrideEncoding(const String&amp; overrideEncoding);
</ins><span class="cx"> 
</span><span class="cx">     void open(CachedFrameBase&amp;);
</span><span class="cx">     void loadItem(HistoryItem*, FrameLoadType);
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: These are all functions which stop loads. We have too many.
</span><span class="cx">     void stopAllLoaders(ClearProvisionalItemPolicy = ShouldClearProvisionalItem);
</span><del>-    void stopForUserCancel(bool deferCheckLoadComplete = false);
</del><ins>+    WEBCORE_EXPORT void stopForUserCancel(bool deferCheckLoadComplete = false);
</ins><span class="cx">     void stop();
</span><span class="cx">     void stopLoading(UnloadEventPolicy);
</span><span class="cx">     bool closeURL();
</span><span class="lines">@@ -144,14 +144,14 @@
</span><span class="cx">     void clear(Document* newDocument, bool clearWindowProperties = true, bool clearScriptObjects = true, bool clearFrameView = true);
</span><span class="cx"> 
</span><span class="cx">     bool isLoading() const;
</span><del>-    bool frameHasLoaded() const;
</del><ins>+    WEBCORE_EXPORT bool frameHasLoaded() const;
</ins><span class="cx"> 
</span><del>-    int numPendingOrLoadingRequests(bool recurse) const;
</del><ins>+    WEBCORE_EXPORT int numPendingOrLoadingRequests(bool recurse) const;
</ins><span class="cx">     String referrer() const;
</span><del>-    String outgoingReferrer() const;
</del><ins>+    WEBCORE_EXPORT String outgoingReferrer() const;
</ins><span class="cx">     String outgoingOrigin() const;
</span><span class="cx"> 
</span><del>-    DocumentLoader* activeDocumentLoader() const;
</del><ins>+    WEBCORE_EXPORT DocumentLoader* activeDocumentLoader() const;
</ins><span class="cx">     DocumentLoader* documentLoader() const { return m_documentLoader.get(); }
</span><span class="cx">     DocumentLoader* policyDocumentLoader() const { return m_policyDocumentLoader.get(); }
</span><span class="cx">     DocumentLoader* provisionalDocumentLoader() const { return m_provisionalDocumentLoader.get(); }
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx"> 
</span><span class="cx">     void handleFallbackContent();
</span><span class="cx"> 
</span><del>-    ResourceError cancelledError(const ResourceRequest&amp;) const;
</del><ins>+    WEBCORE_EXPORT ResourceError cancelledError(const ResourceRequest&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     bool isHostedByObjectElement() const;
</span><span class="cx"> 
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool shouldTreatURLAsSrcdocDocument(const URL&amp;) const;
</span><span class="cx"> 
</span><del>-    FrameLoadType loadType() const;
</del><ins>+    WEBCORE_EXPORT FrameLoadType loadType() const;
</ins><span class="cx"> 
</span><span class="cx">     CachePolicy subresourceCachePolicy() const;
</span><span class="cx"> 
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">     void tellClientAboutPastMemoryCacheLoads();
</span><span class="cx"> 
</span><span class="cx">     void checkLoadComplete();
</span><del>-    void detachFromParent();
</del><ins>+    WEBCORE_EXPORT void detachFromParent();
</ins><span class="cx">     void detachViewsAndDocumentLoader();
</span><span class="cx"> 
</span><span class="cx">     void addExtraFieldsToSubresourceRequest(ResourceRequest&amp;);
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx">     bool checkIfFormActionAllowedByCSP(const URL&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     Frame* opener();
</span><del>-    void setOpener(Frame*);
</del><ins>+    WEBCORE_EXPORT void setOpener(Frame*);
</ins><span class="cx"> 
</span><span class="cx">     void resetMultipleFormSubmissionProtection();
</span><span class="cx"> 
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">     void finishedParsing();
</span><span class="cx">     void checkCompleted();
</span><span class="cx"> 
</span><del>-    bool isComplete() const;
</del><ins>+    WEBCORE_EXPORT bool isComplete() const;
</ins><span class="cx"> 
</span><span class="cx">     void commitProvisionalLoad();
</span><span class="cx"> 
</span><span class="lines">@@ -248,7 +248,7 @@
</span><span class="cx"> 
</span><span class="cx">     FrameLoaderStateMachine&amp; stateMachine() { return m_stateMachine; }
</span><span class="cx"> 
</span><del>-    Frame* findFrameForNavigation(const AtomicString&amp; name, Document* activeDocument = 0);
</del><ins>+    WEBCORE_EXPORT Frame* findFrameForNavigation(const AtomicString&amp; name, Document* activeDocument = 0);
</ins><span class="cx"> 
</span><span class="cx">     void applyUserAgent(ResourceRequest&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -264,7 +264,7 @@
</span><span class="cx">     // introduce a proper callback type for this function, we should make it private again.
</span><span class="cx">     void continueLoadAfterWillSubmitForm();
</span><span class="cx"> 
</span><del>-    void setOriginalURLForDownloadRequest(ResourceRequest&amp;);
</del><ins>+    WEBCORE_EXPORT void setOriginalURLForDownloadRequest(ResourceRequest&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool suppressOpenerInNewFrame() const { return m_suppressOpenerInNewFrame; }
</span><span class="cx"> 
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool quickRedirectComing() const { return m_quickRedirectComing; }
</span><span class="cx"> 
</span><del>-    bool shouldClose();
</del><ins>+    WEBCORE_EXPORT bool shouldClose();
</ins><span class="cx">     
</span><span class="cx">     void started();
</span><span class="cx"> 
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">     };
</span><span class="cx">     PageDismissalType pageDismissalEventBeingDispatched() const { return m_pageDismissalEventBeingDispatched; }
</span><span class="cx"> 
</span><del>-    NetworkingContext* networkingContext() const;
</del><ins>+    WEBCORE_EXPORT NetworkingContext* networkingContext() const;
</ins><span class="cx"> 
</span><span class="cx">     void loadProgressingStatusChanged();
</span><span class="cx"> 
</span><span class="lines">@@ -342,7 +342,7 @@
</span><span class="cx"> 
</span><span class="cx">     void dispatchDidCommitLoad();
</span><span class="cx"> 
</span><del>-    void urlSelected(const FrameLoadRequest&amp;, PassRefPtr&lt;Event&gt;, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL);
</del><ins>+    WEBCORE_EXPORT void urlSelected(const FrameLoadRequest&amp;, PassRefPtr&lt;Event&gt;, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL);
</ins><span class="cx"> 
</span><span class="cx">     void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr&lt;FormState&gt;, AllowNavigationToInvalidURL); // Calls continueLoadAfterNavigationPolicy
</span><span class="cx">     void load(DocumentLoader*);                                                         // Calls loadWithDocumentLoader   
</span><span class="lines">@@ -359,7 +359,7 @@
</span><span class="cx"> 
</span><span class="cx">     void requestFromDelegate(ResourceRequest&amp;, unsigned long&amp; identifier, ResourceError&amp;);
</span><span class="cx"> 
</span><del>-    void detachChildren();
</del><ins>+    WEBCORE_EXPORT void detachChildren();
</ins><span class="cx">     void closeAndRemoveChild(Frame*);
</span><span class="cx"> 
</span><span class="cx">     void loadInSameDocument(const URL&amp;, PassRefPtr&lt;SerializedScriptValue&gt; stateObject, bool isNewNavigation);
</span><span class="lines">@@ -407,7 +407,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool m_quickRedirectComing;
</span><span class="cx">     bool m_sentRedirectNotification;
</span><del>-    bool m_inStopAllLoaders;
</del><ins>+    WEBCORE_EXPORT bool m_inStopAllLoaders;
</ins><span class="cx"> 
</span><span class="cx">     String m_outgoingReferrer;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderStateMachineh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderStateMachine.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderStateMachine.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/FrameLoaderStateMachine.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -51,11 +51,11 @@
</span><span class="cx">         FirstLayoutDone
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    bool committingFirstRealLoad() const;
</del><ins>+    WEBCORE_EXPORT bool committingFirstRealLoad() const;
</ins><span class="cx">     bool committedFirstRealDocumentLoad() const;
</span><span class="cx">     bool creatingInitialEmptyDocument() const;
</span><span class="cx">     bool isDisplayingInitialEmptyDocument() const;
</span><del>-    bool firstLayoutDone() const;
</del><ins>+    WEBCORE_EXPORT bool firstLayoutDone() const;
</ins><span class="cx">     void advanceTo(State);
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderHistoryControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/HistoryController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/HistoryController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/HistoryController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -54,12 +54,12 @@
</span><span class="cx"> 
</span><span class="cx">     void saveScrollPositionAndViewStateToItem(HistoryItem*);
</span><span class="cx">     void clearScrollPositionAndViewState();
</span><del>-    void restoreScrollPositionAndViewState();
</del><ins>+    WEBCORE_EXPORT void restoreScrollPositionAndViewState();
</ins><span class="cx"> 
</span><span class="cx">     void updateBackForwardListForFragmentScroll();
</span><span class="cx"> 
</span><span class="cx">     void saveDocumentState();
</span><del>-    void saveDocumentAndScrollState();
</del><ins>+    WEBCORE_EXPORT void saveDocumentAndScrollState();
</ins><span class="cx">     void restoreDocumentState();
</span><span class="cx"> 
</span><span class="cx">     void invalidateCurrentItemCachedPage();
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">     void setCurrentItem(HistoryItem*);
</span><span class="cx">     void setCurrentItemTitle(const StringWithDirection&amp;);
</span><span class="cx">     bool currentItemShouldBeReplaced() const;
</span><del>-    void replaceCurrentItem(HistoryItem*);
</del><ins>+    WEBCORE_EXPORT void replaceCurrentItem(HistoryItem*);
</ins><span class="cx"> 
</span><span class="cx">     HistoryItem* previousItem() const { return m_previousItem.get(); }
</span><span class="cx">     void clearPreviousItem();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLoaderStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoaderStrategy.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx"> 
</span><span class="cx"> class LoaderStrategy {
</span><span class="cx"> public:
</span><del>-    virtual ResourceLoadScheduler* resourceLoadScheduler();
</del><ins>+    WEBCORE_EXPORT virtual ResourceLoadScheduler* resourceLoadScheduler();
</ins><span class="cx"> 
</span><del>-    virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&amp;, StoredCredentials, ClientCredentialPolicy, ResourceError&amp;, ResourceResponse&amp;, Vector&lt;char&gt;&amp; data);
</del><ins>+    WEBCORE_EXPORT virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&amp;, StoredCredentials, ClientCredentialPolicy, ResourceError&amp;, ResourceResponse&amp;, Vector&lt;char&gt;&amp; data);
</ins><span class="cx"> 
</span><del>-    virtual BlobRegistry* createBlobRegistry();
</del><ins>+    WEBCORE_EXPORT virtual BlobRegistry* createBlobRegistry();
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual ~LoaderStrategy()
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNavigationActionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NavigationAction.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NavigationAction.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/NavigationAction.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -39,10 +39,10 @@
</span><span class="cx"> 
</span><span class="cx">     class NavigationAction {
</span><span class="cx">     public:
</span><del>-        NavigationAction();
-        explicit NavigationAction(const ResourceRequest&amp;);
-        NavigationAction(const ResourceRequest&amp;, NavigationType);
-        NavigationAction(const ResourceRequest&amp;, FrameLoadType, bool isFormSubmission);
</del><ins>+        WEBCORE_EXPORT NavigationAction();
+        WEBCORE_EXPORT explicit NavigationAction(const ResourceRequest&amp;);
+        WEBCORE_EXPORT NavigationAction(const ResourceRequest&amp;, NavigationType);
+        WEBCORE_EXPORT NavigationAction(const ResourceRequest&amp;, FrameLoadType, bool isFormSubmission);
</ins><span class="cx">         NavigationAction(const ResourceRequest&amp;, NavigationType, PassRefPtr&lt;Event&gt;);
</span><span class="cx">         NavigationAction(const ResourceRequest&amp;, FrameLoadType, bool isFormSubmission, PassRefPtr&lt;Event&gt;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNetscapePlugInStreamLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -50,10 +50,10 @@
</span><span class="cx"> 
</span><span class="cx"> class NetscapePlugInStreamLoader final : public ResourceLoader {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;NetscapePlugInStreamLoader&gt; create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&amp;);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;NetscapePlugInStreamLoader&gt; create(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&amp;);
</ins><span class="cx">     virtual ~NetscapePlugInStreamLoader();
</span><span class="cx"> 
</span><del>-    bool isDone() const;
</del><ins>+    WEBCORE_EXPORT bool isDone() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     virtual void didReceiveResponse(const ResourceResponse&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderProgressTrackerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ProgressTracker.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ProgressTracker.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/ProgressTracker.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx">     static unsigned long createUniqueIdentifier();
</span><span class="cx"> 
</span><del>-    double estimatedProgress() const;
</del><ins>+    WEBCORE_EXPORT double estimatedProgress() const;
</ins><span class="cx"> 
</span><span class="cx">     void progressStarted(Frame&amp;);
</span><span class="cx">     void progressCompleted(Frame&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivecfLegacyWebArchiveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,18 +40,18 @@
</span><span class="cx"> 
</span><span class="cx"> class LegacyWebArchive : public Archive {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;LegacyWebArchive&gt; create();
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(SharedBuffer*);
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(const URL&amp;, SharedBuffer*);
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(PassRefPtr&lt;ArchiveResource&gt; mainResource, Vector&lt;RefPtr&lt;ArchiveResource&gt;&gt; subresources, Vector&lt;RefPtr&lt;LegacyWebArchive&gt;&gt; subframeArchives);
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(Node*, std::function&lt;bool (Frame&amp;)&gt; frameFilter = nullptr);
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(Frame*);
-    static PassRefPtr&lt;LegacyWebArchive&gt; createFromSelection(Frame*);
-    static PassRefPtr&lt;LegacyWebArchive&gt; create(Range*);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create();
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(SharedBuffer*);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(const URL&amp;, SharedBuffer*);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(PassRefPtr&lt;ArchiveResource&gt; mainResource, Vector&lt;RefPtr&lt;ArchiveResource&gt;&gt; subresources, Vector&lt;RefPtr&lt;LegacyWebArchive&gt;&gt; subframeArchives);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(Node*, std::function&lt;bool(Frame&amp;)&gt; frameFilter = nullptr);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(Frame*);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; createFromSelection(Frame*);
+    WEBCORE_EXPORT static PassRefPtr&lt;LegacyWebArchive&gt; create(Range*);
</ins><span class="cx"> 
</span><span class="cx">     virtual Type type() const override;
</span><span class="cx"> 
</span><del>-    RetainPtr&lt;CFDataRef&gt; rawDataRepresentation();
</del><ins>+    WEBCORE_EXPORT RetainPtr&lt;CFDataRef&gt; rawDataRepresentation();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     LegacyWebArchive() { }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheMemoryCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/MemoryCache.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/MemoryCache.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/cache/MemoryCache.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -111,8 +111,8 @@
</span><span class="cx">         TypeStatistic fonts;
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    CachedResource* resourceForURL(const URL&amp;);
-    CachedResource* resourceForURL(const URL&amp;, SessionID);
</del><ins>+    WEBCORE_EXPORT CachedResource* resourceForURL(const URL&amp;);
+    WEBCORE_EXPORT CachedResource* resourceForURL(const URL&amp;, SessionID);
</ins><span class="cx">     CachedResource* resourceForRequest(const ResourceRequest&amp;, SessionID);
</span><span class="cx"> 
</span><span class="cx">     bool add(CachedResource*);
</span><span class="lines">@@ -128,14 +128,14 @@
</span><span class="cx">     //  - minDeadBytes: The maximum number of bytes that dead resources should consume when the cache is under pressure.
</span><span class="cx">     //  - maxDeadBytes: The maximum number of bytes that dead resources should consume when the cache is not under pressure.
</span><span class="cx">     //  - totalBytes: The maximum number of bytes that the cache should consume overall.
</span><del>-    void setCapacities(unsigned minDeadBytes, unsigned maxDeadBytes, unsigned totalBytes);
</del><ins>+    WEBCORE_EXPORT void setCapacities(unsigned minDeadBytes, unsigned maxDeadBytes, unsigned totalBytes);
</ins><span class="cx"> 
</span><span class="cx">     // Turn the cache on and off.  Disabling the cache will remove all resources from the cache.  They may
</span><span class="cx">     // still live on if they are referenced by some Web page though.
</span><del>-    void setDisabled(bool);
</del><ins>+    WEBCORE_EXPORT void setDisabled(bool);
</ins><span class="cx">     bool disabled() const { return m_disabled; }
</span><span class="cx"> 
</span><del>-    void evictResources();
</del><ins>+    WEBCORE_EXPORT void evictResources();
</ins><span class="cx">     
</span><span class="cx">     void setPruneEnabled(bool enabled) { m_pruneEnabled = enabled; }
</span><span class="cx">     void prune();
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">     void removeFromLiveResourcesSize(CachedResource*);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DISK_IMAGE_CACHE)
</span><del>-    void flushCachedImagesToDisk(); // Flush encoded data from resources still referenced by web pages.
</del><ins>+    WEBCORE_EXPORT void flushCachedImagesToDisk(); // Flush encoded data from resources still referenced by web pages.
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     static void removeUrlFromCache(ScriptExecutionContext*, const String&amp; urlString, SessionID);
</span><span class="lines">@@ -167,13 +167,13 @@
</span><span class="cx">     static void removeRequestFromSessionCaches(ScriptExecutionContext*, const ResourceRequest&amp;);
</span><span class="cx"> 
</span><span class="cx">     // Function to collect cache statistics for the caches window in the Safari Debug menu.
</span><del>-    Statistics getStatistics();
</del><ins>+    WEBCORE_EXPORT Statistics getStatistics();
</ins><span class="cx">     
</span><span class="cx">     void resourceAccessed(CachedResource*);
</span><span class="cx"> 
</span><span class="cx">     typedef HashSet&lt;RefPtr&lt;SecurityOrigin&gt;&gt; SecurityOriginSet;
</span><del>-    void removeResourcesWithOrigin(SecurityOrigin*);
-    void getOriginsWithCache(SecurityOriginSet&amp; origins);
</del><ins>+    WEBCORE_EXPORT void removeResourcesWithOrigin(SecurityOrigin*);
+    WEBCORE_EXPORT void getOriginsWithCache(SecurityOriginSet&amp; origins);
</ins><span class="cx"> 
</span><span class="cx">     unsigned minDeadCapacity() const { return m_minDeadCapacity; }
</span><span class="cx">     unsigned maxDeadCapacity() const { return m_maxDeadCapacity; }
</span><span class="lines">@@ -184,14 +184,14 @@
</span><span class="cx"> #if USE(CG)
</span><span class="cx">     // FIXME: Remove the USE(CG) once we either make NativeImagePtr a smart pointer on all platforms or
</span><span class="cx">     // remove the usage of CFRetain() in MemoryCache::addImageToCache() so as to make the code platform-independent.
</span><del>-    bool addImageToCache(NativeImagePtr, const URL&amp;, const String&amp; cachePartition);
-    void removeImageFromCache(const URL&amp;, const String&amp; cachePartition);
</del><ins>+    WEBCORE_EXPORT bool addImageToCache(NativeImagePtr, const URL&amp;, const String&amp; cachePartition);
+    WEBCORE_EXPORT void removeImageFromCache(const URL&amp;, const String&amp; cachePartition);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // pruneDead*() - Flush decoded and encoded data from resources not referenced by Web pages.
</span><span class="cx">     // pruneLive*() - Flush decoded data from resources still referenced by Web pages.
</span><del>-    void pruneDeadResources(); // Automatically decide how much to prune.
-    void pruneLiveResources(bool shouldDestroyDecodedDataForAllLiveResources = false);
</del><ins>+    WEBCORE_EXPORT void pruneDeadResources(); // Automatically decide how much to prune.
+    WEBCORE_EXPORT void pruneLiveResources(bool shouldDestroyDecodedDataForAllLiveResources = false);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void pruneDeadResourcesToPercentage(float prunePercentage); // Prune to % current size
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> 
</span><span class="cx">     void evict(CachedResource*);
</span><span class="cx"> 
</span><del>-    CachedResource* resourceForRequestImpl(const ResourceRequest&amp;, CachedResourceMap&amp;);
</del><ins>+    WEBCORE_EXPORT CachedResource* resourceForRequestImpl(const ResourceRequest&amp;, CachedResourceMap&amp;);
</ins><span class="cx">     static void removeRequestFromCacheImpl(ScriptExecutionContext*, const ResourceRequest&amp;, SessionID);
</span><span class="cx">     static void removeRequestFromSessionCachesImpl(ScriptExecutionContext*, const ResourceRequest&amp;);
</span><span class="cx">     static void crossThreadRemoveRequestFromCache(ScriptExecutionContext&amp;, PassOwnPtr&lt;CrossThreadResourceRequestData&gt;, SessionID);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/icon/IconController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     explicit IconController(Frame&amp;);
</span><span class="cx">     ~IconController();
</span><span class="cx"> 
</span><del>-    URL url();
</del><ins>+    WEBCORE_EXPORT URL url();
</ins><span class="cx">     IconURLs urlsForTypes(int iconTypesMask);
</span><span class="cx">     IconURL iconURL(IconType) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconDatabase.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconDatabase.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/icon/IconDatabase.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -67,46 +67,46 @@
</span><span class="cx">     
</span><span class="cx"> // *** Main Thread Only ***
</span><span class="cx"> public:
</span><del>-    IconDatabase();
</del><ins>+    WEBCORE_EXPORT IconDatabase();
</ins><span class="cx">     ~IconDatabase();
</span><span class="cx"> 
</span><del>-    virtual void setClient(IconDatabaseClient*) override;
</del><ins>+    WEBCORE_EXPORT virtual void setClient(IconDatabaseClient*) override;
</ins><span class="cx"> 
</span><del>-    virtual bool open(const String&amp; directory, const String&amp; filename) override;
-    virtual void close() override;
</del><ins>+    WEBCORE_EXPORT virtual bool open(const String&amp; directory, const String&amp; filename) override;
+    WEBCORE_EXPORT virtual void close() override;
</ins><span class="cx">             
</span><del>-    virtual void removeAllIcons() override;
</del><ins>+    WEBCORE_EXPORT virtual void removeAllIcons() override;
</ins><span class="cx"> 
</span><span class="cx">     void readIconForPageURLFromDisk(const String&amp;);
</span><span class="cx"> 
</span><del>-    virtual Image* defaultIcon(const IntSize&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual Image* defaultIcon(const IntSize&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual void retainIconForPageURL(const String&amp;) override;
-    virtual void releaseIconForPageURL(const String&amp;) override;
-    virtual void setIconDataForIconURL(PassRefPtr&lt;SharedBuffer&gt; data, const String&amp;) override;
-    virtual void setIconURLForPageURL(const String&amp; iconURL, const String&amp; pageURL) override;
</del><ins>+    WEBCORE_EXPORT virtual void retainIconForPageURL(const String&amp;) override;
+    WEBCORE_EXPORT virtual void releaseIconForPageURL(const String&amp;) override;
+    WEBCORE_EXPORT virtual void setIconDataForIconURL(PassRefPtr&lt;SharedBuffer&gt; data, const String&amp;) override;
+    WEBCORE_EXPORT virtual void setIconURLForPageURL(const String&amp; iconURL, const String&amp; pageURL) override;
</ins><span class="cx"> 
</span><del>-    virtual Image* synchronousIconForPageURL(const String&amp;, const IntSize&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual Image* synchronousIconForPageURL(const String&amp;, const IntSize&amp;) override;
</ins><span class="cx">     virtual PassNativeImagePtr synchronousNativeIconForPageURL(const String&amp; pageURLOriginal, const IntSize&amp;) override;
</span><del>-    virtual String synchronousIconURLForPageURL(const String&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual String synchronousIconURLForPageURL(const String&amp;) override;
</ins><span class="cx">     virtual bool synchronousIconDataKnownForIconURL(const String&amp;) override;
</span><del>-    virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&amp;, DocumentLoader*) override;
</del><ins>+    WEBCORE_EXPORT virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&amp;, DocumentLoader*) override;
</ins><span class="cx"> 
</span><del>-    virtual void setEnabled(bool) override;
</del><ins>+    WEBCORE_EXPORT virtual void setEnabled(bool) override;
</ins><span class="cx">     virtual bool isEnabled() const override;
</span><span class="cx"> 
</span><del>-    virtual void setPrivateBrowsingEnabled(bool flag) override;
</del><ins>+    WEBCORE_EXPORT virtual void setPrivateBrowsingEnabled(bool flag) override;
</ins><span class="cx">     bool isPrivateBrowsingEnabled() const;
</span><span class="cx"> 
</span><del>-    static void delayDatabaseCleanup();
-    static void allowDatabaseCleanup();
-    static void checkIntegrityBeforeOpening();
</del><ins>+    WEBCORE_EXPORT static void delayDatabaseCleanup();
+    WEBCORE_EXPORT static void allowDatabaseCleanup();
+    WEBCORE_EXPORT static void checkIntegrityBeforeOpening();
</ins><span class="cx"> 
</span><span class="cx">     // Support for WebCoreStatistics in WebKit
</span><del>-    virtual size_t pageURLMappingCount() override;
-    virtual size_t retainedPageURLCount() override;
-    virtual size_t iconRecordCount() override;
-    virtual size_t iconRecordCountWithData() override;
</del><ins>+    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;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend IconDatabaseBase&amp; iconDatabase();
</span><span class="lines">@@ -130,15 +130,15 @@
</span><span class="cx"> 
</span><span class="cx"> // *** Any Thread ***
</span><span class="cx"> public:
</span><del>-    virtual bool isOpen() const;
-    virtual String databasePath() const;
-    static String defaultDatabaseFilename();
</del><ins>+    WEBCORE_EXPORT virtual bool isOpen() const;
+    WEBCORE_EXPORT virtual String databasePath() const;
+    WEBCORE_EXPORT static String defaultDatabaseFilename();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     PassRefPtr&lt;IconRecord&gt; getOrCreateIconRecord(const String&amp; iconURL);
</span><span class="cx">     PageURLRecord* getOrCreatePageURLRecord(const String&amp; pageURL);
</span><span class="cx">     
</span><del>-    bool m_isEnabled;
</del><ins>+    WEBCORE_EXPORT bool m_isEnabled;
</ins><span class="cx">     bool m_privateBrowsingEnabled;
</span><span class="cx"> 
</span><span class="cx">     mutable Mutex m_syncLock;
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx"> 
</span><span class="cx"> // *** Sync Thread Only ***
</span><span class="cx"> public:
</span><del>-    virtual bool shouldStopThreadActivity() const;
</del><ins>+    WEBCORE_EXPORT virtual bool shouldStopThreadActivity() const;
</ins><span class="cx"> 
</span><span class="cx"> private:    
</span><span class="cx">     static void iconDatabaseSyncThreadStart(void *);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconDatabaseBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconDatabaseBase.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconDatabaseBase.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/loader/icon/IconDatabaseBase.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Synchronous calls used internally by WebCore.
</span><span class="cx">     // Usage should be replaced by asynchronous calls.
</span><del>-    virtual String synchronousIconURLForPageURL(const String&amp;);
</del><ins>+    WEBCORE_EXPORT virtual String synchronousIconURLForPageURL(const String&amp;);
</ins><span class="cx">     virtual bool synchronousIconDataKnownForIconURL(const String&amp;) { return false; }
</span><span class="cx">     virtual IconLoadDecision synchronousLoadDecisionForIconURL(const String&amp;, DocumentLoader*) { return IconLoadNo; }
</span><span class="cx">     virtual Image* synchronousIconForPageURL(const String&amp;, const IntSize&amp;) { return 0; }
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldStopThreadActivity() const { return true; }
</span><span class="cx"> 
</span><del>-    virtual bool open(const String&amp; directory, const String&amp; filename);
</del><ins>+    WEBCORE_EXPORT virtual bool open(const String&amp; directory, const String&amp; filename);
</ins><span class="cx">     virtual void close() { }
</span><span class="cx">     virtual void removeAllIcons() { }
</span><span class="cx"> 
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">     virtual void setClient(IconDatabaseClient*) { }
</span><span class="cx">     
</span><span class="cx">     virtual bool isOpen() const { return false; }
</span><del>-    virtual String databasePath() const;
</del><ins>+    WEBCORE_EXPORT virtual String databasePath() const;
</ins><span class="cx"> 
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageFocusControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FocusController.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FocusController.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/FocusController.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> public:
</span><span class="cx">     ContainerNode* rootNode() const;
</span><span class="cx">     Element* owner() const;
</span><del>-    static FocusNavigationScope focusNavigationScopeOf(Node*);
</del><ins>+    WEBCORE_EXPORT static FocusNavigationScope focusNavigationScopeOf(Node*);
</ins><span class="cx">     static FocusNavigationScope focusNavigationScopeOwnedByShadowHost(Node*);
</span><span class="cx">     static FocusNavigationScope focusNavigationScopeOwnedByIFrame(HTMLFrameOwnerElement*);
</span><span class="cx"> 
</span><span class="lines">@@ -66,28 +66,28 @@
</span><span class="cx"> public:
</span><span class="cx">     explicit FocusController(Page&amp;, ViewState::Flags);
</span><span class="cx"> 
</span><del>-    void setFocusedFrame(PassRefPtr&lt;Frame&gt;);
</del><ins>+    WEBCORE_EXPORT void setFocusedFrame(PassRefPtr&lt;Frame&gt;);
</ins><span class="cx">     Frame* focusedFrame() const { return m_focusedFrame.get(); }
</span><del>-    Frame&amp; focusedOrMainFrame() const;
</del><ins>+    WEBCORE_EXPORT Frame&amp; focusedOrMainFrame() const;
</ins><span class="cx"> 
</span><del>-    bool setInitialFocus(FocusDirection, KeyboardEvent*);
</del><ins>+    WEBCORE_EXPORT bool setInitialFocus(FocusDirection, KeyboardEvent*);
</ins><span class="cx">     bool advanceFocus(FocusDirection, KeyboardEvent*, bool initialFocus = false);
</span><span class="cx"> 
</span><del>-    bool setFocusedElement(Element*, PassRefPtr&lt;Frame&gt;, FocusDirection = FocusDirectionNone);
</del><ins>+    WEBCORE_EXPORT bool setFocusedElement(Element*, PassRefPtr&lt;Frame&gt;, FocusDirection = FocusDirectionNone);
</ins><span class="cx"> 
</span><span class="cx">     void setViewState(ViewState::Flags);
</span><span class="cx"> 
</span><del>-    void setActive(bool);
</del><ins>+    WEBCORE_EXPORT void setActive(bool);
</ins><span class="cx">     bool isActive() const { return m_viewState &amp; ViewState::WindowIsActive; }
</span><span class="cx"> 
</span><del>-    void setFocused(bool);
</del><ins>+    WEBCORE_EXPORT void setFocused(bool);
</ins><span class="cx">     bool isFocused() const { return m_viewState &amp; ViewState::IsFocused; }
</span><span class="cx"> 
</span><span class="cx">     bool contentIsVisible() const { return m_viewState &amp; ViewState::IsVisible; }
</span><span class="cx"> 
</span><span class="cx">     // These methods are used in WebCore/bindings/objc/DOM.mm.
</span><del>-    Element* nextFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
-    Element* previousFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
</del><ins>+    WEBCORE_EXPORT Element* nextFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
+    WEBCORE_EXPORT Element* previousFocusableElement(FocusNavigationScope, Node* start, KeyboardEvent*);
</ins><span class="cx"> 
</span><span class="cx">     void setFocusedElementNeedsRepaint();
</span><span class="cx">     double timeSinceFocusWasSet() const;
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Frame.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Frame.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/Frame.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -115,20 +115,20 @@
</span><span class="cx"> 
</span><span class="cx">     class Frame : public RefCounted&lt;Frame&gt; {
</span><span class="cx">     public:
</span><del>-        static PassRefPtr&lt;Frame&gt; create(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
</del><ins>+        WEBCORE_EXPORT static PassRefPtr&lt;Frame&gt; create(Page*, HTMLFrameOwnerElement*, FrameLoaderClient*);
</ins><span class="cx"> 
</span><span class="cx">         void init();
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         // Creates &lt;html&gt;&lt;body style=&quot;...&quot;&gt;&lt;/body&gt;&lt;/html&gt; doing minimal amount of work.
</span><del>-        void initWithSimpleHTMLDocument(const String&amp; style, const URL&amp;);
</del><ins>+        WEBCORE_EXPORT void initWithSimpleHTMLDocument(const String&amp; style, const URL&amp;);
</ins><span class="cx"> #endif
</span><del>-        void setView(PassRefPtr&lt;FrameView&gt;);
-        void createView(const IntSize&amp;, const Color&amp;, bool,
</del><ins>+        WEBCORE_EXPORT void setView(PassRefPtr&lt;FrameView&gt;);
+        WEBCORE_EXPORT void createView(const IntSize&amp;, const Color&amp;, bool,
</ins><span class="cx">             const IntSize&amp; fixedLayoutSize = IntSize(), const IntRect&amp; fixedVisibleContentRect = IntRect(),
</span><span class="cx">             bool useFixedLayout = false, ScrollbarMode = ScrollbarAuto, bool horizontalLock = false,
</span><span class="cx">             ScrollbarMode = ScrollbarAuto, bool verticalLock = false);
</span><span class="cx"> 
</span><del>-        virtual ~Frame();
</del><ins>+        WEBCORE_EXPORT virtual ~Frame();
</ins><span class="cx"> 
</span><span class="cx">         void addDestructionObserver(FrameDestructionObserver*);
</span><span class="cx">         void removeDestructionObserver(FrameDestructionObserver*);
</span><span class="lines">@@ -155,79 +155,79 @@
</span><span class="cx">         AnimationController&amp; animation() const;
</span><span class="cx">         ScriptController&amp; script();
</span><span class="cx">         
</span><del>-        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.
</del><ins>+        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.
</ins><span class="cx"> 
</span><span class="cx">     // ======== All public functions below this point are candidates to move out of Frame into another class. ========
</span><span class="cx"> 
</span><span class="cx">         void injectUserScripts(UserScriptInjectionTime);
</span><span class="cx">         
</span><del>-        String layerTreeAsText(LayerTreeFlags = 0) const;
-        String trackedRepaintRectsAsText() const;
</del><ins>+        WEBCORE_EXPORT String layerTreeAsText(LayerTreeFlags = 0) const;
+        WEBCORE_EXPORT String trackedRepaintRectsAsText() const;
</ins><span class="cx"> 
</span><del>-        static Frame* frameForWidget(const Widget*);
</del><ins>+        WEBCORE_EXPORT static Frame* frameForWidget(const Widget*);
</ins><span class="cx"> 
</span><span class="cx">         Settings&amp; settings() const { return *m_settings; }
</span><span class="cx"> 
</span><span class="cx">         void setPrinting(bool printing, const FloatSize&amp; pageSize, const FloatSize&amp; originalPageSize, float maximumShrinkRatio, AdjustViewSizeOrNot);
</span><span class="cx">         bool shouldUsePrintingLayout() const;
</span><del>-        FloatSize resizePageRectsKeepingRatio(const FloatSize&amp; originalSize, const FloatSize&amp; expectedSize);
</del><ins>+        WEBCORE_EXPORT FloatSize resizePageRectsKeepingRatio(const FloatSize&amp; originalSize, const FloatSize&amp; expectedSize);
</ins><span class="cx"> 
</span><span class="cx">         void setDocument(PassRefPtr&lt;Document&gt;);
</span><span class="cx"> 
</span><del>-        void setPageZoomFactor(float factor);
</del><ins>+        WEBCORE_EXPORT void setPageZoomFactor(float);
</ins><span class="cx">         float pageZoomFactor() const { return m_pageZoomFactor; }
</span><del>-        void setTextZoomFactor(float factor);
</del><ins>+        WEBCORE_EXPORT void setTextZoomFactor(float);
</ins><span class="cx">         float textZoomFactor() const { return m_textZoomFactor; }
</span><del>-        void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
</del><ins>+        WEBCORE_EXPORT void setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor);
</ins><span class="cx"> 
</span><span class="cx">         // Scale factor of this frame with respect to the container.
</span><del>-        float frameScaleFactor() const;
</del><ins>+        WEBCORE_EXPORT float frameScaleFactor() const;
</ins><span class="cx"> 
</span><span class="cx">         void deviceOrPageScaleFactorChanged();
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         const ViewportArguments&amp; viewportArguments() const;
</span><del>-        void setViewportArguments(const ViewportArguments&amp;);
</del><ins>+        WEBCORE_EXPORT void setViewportArguments(const ViewportArguments&amp;);
</ins><span class="cx"> 
</span><del>-        Node* deepestNodeAtLocation(const FloatPoint&amp; viewportLocation);
-        Node* nodeRespondingToClickEvents(const FloatPoint&amp; viewportLocation, FloatPoint&amp; adjustedViewportLocation);
-        Node* nodeRespondingToScrollWheelEvents(const FloatPoint&amp; viewportLocation);
</del><ins>+        WEBCORE_EXPORT Node* deepestNodeAtLocation(const FloatPoint&amp; viewportLocation);
+        WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint&amp; viewportLocation, FloatPoint&amp; adjustedViewportLocation);
+        WEBCORE_EXPORT Node* nodeRespondingToScrollWheelEvents(const FloatPoint&amp; viewportLocation);
</ins><span class="cx"> 
</span><span class="cx">         int indexCountOfWordPrecedingSelection(NSString* word) const;
</span><del>-        NSArray* wordsInCurrentParagraph() const;
-        CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const;
</del><ins>+        WEBCORE_EXPORT NSArray* wordsInCurrentParagraph() const;
+        WEBCORE_EXPORT CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const;
</ins><span class="cx"> 
</span><del>-        void setSelectionChangeCallbacksDisabled(bool = true);
</del><ins>+        WEBCORE_EXPORT void setSelectionChangeCallbacksDisabled(bool = true);
</ins><span class="cx">         bool selectionChangeCallbacksDisabled() const;
</span><span class="cx"> 
</span><span class="cx">         enum ViewportOffsetChangeType { IncrementalScrollOffset, CompletedScrollOffset };
</span><del>-        void viewportOffsetChanged(ViewportOffsetChangeType);
</del><ins>+        WEBCORE_EXPORT void viewportOffsetChanged(ViewportOffsetChangeType);
</ins><span class="cx">         bool containsTiledBackingLayers() const;
</span><span class="cx"> 
</span><del>-        void overflowScrollPositionChangedForNode(const IntPoint&amp;, Node*, bool isUserScroll);
</del><ins>+        WEBCORE_EXPORT void overflowScrollPositionChangedForNode(const IntPoint&amp;, Node*, bool isUserScroll);
</ins><span class="cx"> 
</span><del>-        void resetAllGeolocationPermission();
</del><ins>+        WEBCORE_EXPORT void resetAllGeolocationPermission();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ORIENTATION_EVENTS)
</span><span class="cx">         // Orientation is the interface orientation in degrees. Some examples are:
</span><span class="cx">         //  0 is straight up; -90 is when the device is rotated 90 clockwise;
</span><span class="cx">         //  90 is when rotated counter clockwise.
</span><del>-        void orientationChanged();
</del><ins>+        WEBCORE_EXPORT void orientationChanged();
</ins><span class="cx">         int orientation() const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         void clearTimers();
</span><span class="cx">         static void clearTimers(FrameView*, Document*);
</span><span class="cx"> 
</span><del>-        String displayStringModifiedByEncoding(const String&amp;) const;
</del><ins>+        WEBCORE_EXPORT String displayStringModifiedByEncoding(const String&amp;) const;
</ins><span class="cx"> 
</span><del>-        VisiblePosition visiblePositionForPoint(const IntPoint&amp; framePoint);
</del><ins>+        WEBCORE_EXPORT VisiblePosition visiblePositionForPoint(const IntPoint&amp; framePoint);
</ins><span class="cx">         Document* documentAtPoint(const IntPoint&amp; windowPoint);
</span><del>-        PassRefPtr&lt;Range&gt; rangeForPoint(const IntPoint&amp; framePoint);
</del><ins>+        WEBCORE_EXPORT PassRefPtr&lt;Range&gt; rangeForPoint(const IntPoint&amp; framePoint);
</ins><span class="cx"> 
</span><del>-        String searchForLabelsAboveCell(const JSC::Yarr::RegularExpression&amp;, HTMLTableCellElement*, size_t* resultDistanceFromStartOfCell);
</del><ins>+        WEBCORE_EXPORT String searchForLabelsAboveCell(const JSC::Yarr::RegularExpression&amp;, HTMLTableCellElement*, size_t* resultDistanceFromStartOfCell);
</ins><span class="cx">         String searchForLabelsBeforeElement(const Vector&lt;String&gt;&amp; labels, Element*, size_t* resultDistance, bool* resultIsInCellAbove);
</span><span class="cx">         String matchLabelsAgainstElement(const Vector&lt;String&gt;&amp; labels, Element*);
</span><span class="cx"> 
</span><span class="lines">@@ -235,27 +235,27 @@
</span><span class="cx">         // Scroll the selection in an overflow layer on iOS.
</span><span class="cx">         void scrollOverflowLayer(RenderLayer* , const IntRect&amp; visibleRect, const IntRect&amp; exposeRect);
</span><span class="cx"> 
</span><del>-        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);
</del><ins>+        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);
</ins><span class="cx">         bool timersPaused() const { return m_timersPausedCount; }
</span><del>-        void dispatchPageHideEventBeforePause();
-        void dispatchPageShowEventBeforeResume();
-        void setRangedSelectionBaseToCurrentSelection();
-        void setRangedSelectionBaseToCurrentSelectionStart();
-        void setRangedSelectionBaseToCurrentSelectionEnd();
-        void clearRangedSelectionInitialExtent();
-        void setRangedSelectionInitialExtentToCurrentSelectionStart();
-        void setRangedSelectionInitialExtentToCurrentSelectionEnd();
</del><ins>+        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();
</ins><span class="cx">         VisibleSelection rangedSelectionBase() const;
</span><del>-        VisibleSelection rangedSelectionInitialExtent() const;
-        void recursiveSetUpdateAppearanceEnabled(bool);
-        NSArray* interpretationsForCurrentRoot() const;
</del><ins>+        WEBCORE_EXPORT VisibleSelection rangedSelectionInitialExtent() const;
+        WEBCORE_EXPORT void recursiveSetUpdateAppearanceEnabled(bool);
+        WEBCORE_EXPORT NSArray* interpretationsForCurrentRoot() const;
</ins><span class="cx"> #endif
</span><span class="cx">         void suspendActiveDOMObjectsAndAnimations();
</span><span class="cx">         void resumeActiveDOMObjectsAndAnimations();
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameDestructionObserverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameDestructionObserver.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameDestructionObserver.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/FrameDestructionObserver.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -34,16 +34,16 @@
</span><span class="cx"> 
</span><span class="cx"> class FrameDestructionObserver {
</span><span class="cx"> public:
</span><del>-    WEBCORE_TESTING explicit FrameDestructionObserver(Frame*);
</del><ins>+    WEBCORE_EXPORT explicit FrameDestructionObserver(Frame*);
</ins><span class="cx"> 
</span><del>-    WEBCORE_TESTING virtual void frameDestroyed();
-    WEBCORE_TESTING virtual void willDetachPage();
</del><ins>+    WEBCORE_EXPORT virtual void frameDestroyed();
+    WEBCORE_EXPORT virtual void willDetachPage();
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame() const { return m_frame; }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    WEBCORE_TESTING virtual ~FrameDestructionObserver();
-    WEBCORE_TESTING void observeFrame(Frame*);
</del><ins>+    WEBCORE_EXPORT virtual ~FrameDestructionObserver();
+    WEBCORE_EXPORT void observeFrame(Frame*);
</ins><span class="cx"> 
</span><span class="cx">     Frame* m_frame;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameTreeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameTree.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameTree.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/FrameTree.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx"> 
</span><span class="cx">         const AtomicString&amp; name() const { return m_name; }
</span><span class="cx">         const AtomicString&amp; uniqueName() const { return m_uniqueName; }
</span><del>-        void setName(const AtomicString&amp;);
-        void clearName();
-        Frame* parent() const;
</del><ins>+        WEBCORE_EXPORT void setName(const AtomicString&amp;);
+        WEBCORE_EXPORT void clearName();
+        WEBCORE_EXPORT Frame* parent() const;
</ins><span class="cx">         void setParent(Frame* parent) { m_parent = parent; }
</span><span class="cx">         
</span><span class="cx">         Frame* nextSibling() const { return m_nextSibling.get(); }
</span><span class="lines">@@ -55,24 +55,24 @@
</span><span class="cx">         Frame* firstChild() const { return m_firstChild.get(); }
</span><span class="cx">         Frame* lastChild() const { return m_lastChild; }
</span><span class="cx"> 
</span><del>-        bool isDescendantOf(const Frame* ancestor) const;
-        Frame* traverseNext(const Frame* stayWithin = 0) const;
-        Frame* traverseNextWithWrap(bool) const;
-        Frame* traversePreviousWithWrap(bool) const;
</del><ins>+        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;
</ins><span class="cx">         
</span><del>-        void appendChild(PassRefPtr&lt;Frame&gt;);
</del><ins>+        WEBCORE_EXPORT void appendChild(PassRefPtr&lt;Frame&gt;);
</ins><span class="cx">         bool transferChild(PassRefPtr&lt;Frame&gt;);
</span><span class="cx">         void detachFromParent() { m_parent = 0; }
</span><span class="cx">         void removeChild(Frame*);
</span><span class="cx"> 
</span><span class="cx">         Frame* child(unsigned index) const;
</span><span class="cx">         Frame* child(const AtomicString&amp; name) const;
</span><del>-        Frame* find(const AtomicString&amp; name) const;
-        unsigned childCount() const;
</del><ins>+        WEBCORE_EXPORT Frame* find(const AtomicString&amp; name) const;
+        WEBCORE_EXPORT unsigned childCount() const;
</ins><span class="cx"> 
</span><span class="cx">         AtomicString uniqueChildName(const AtomicString&amp; requestedName) const;
</span><span class="cx"> 
</span><del>-        Frame&amp; top() const;
</del><ins>+        WEBCORE_EXPORT Frame&amp; top() const;
</ins><span class="cx"> 
</span><span class="cx">         Frame* scopedChild(unsigned index) const;
</span><span class="cx">         Frame* scopedChild(const AtomicString&amp; name) const;
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/FrameView.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -67,14 +67,14 @@
</span><span class="cx">     friend class RenderView;
</span><span class="cx">     friend class Internals;
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;FrameView&gt; create(Frame&amp;);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;FrameView&gt; create(Frame&amp;);
</ins><span class="cx">     static PassRefPtr&lt;FrameView&gt; create(Frame&amp;, const IntSize&amp; initialSize);
</span><span class="cx"> 
</span><span class="cx">     virtual ~FrameView();
</span><span class="cx"> 
</span><span class="cx">     virtual HostWindow* hostWindow() const override;
</span><span class="cx">     
</span><del>-    virtual void invalidateRect(const IntRect&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void invalidateRect(const IntRect&amp;) override;
</ins><span class="cx">     virtual void setFrameRect(const IntRect&amp;) override;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REQUEST_ANIMATION_FRAME)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame&amp; frame() const { return *m_frame; }
</span><span class="cx"> 
</span><del>-    RenderView* renderView() const;
</del><ins>+    WEBCORE_EXPORT RenderView* renderView() const;
</ins><span class="cx"> 
</span><span class="cx">     int mapFromLayoutToCSSUnits(LayoutUnit) const;
</span><span class="cx">     LayoutUnit mapFromCSSToLayoutUnits(int) const;
</span><span class="lines">@@ -93,8 +93,8 @@
</span><span class="cx">     void setMarginWidth(LayoutUnit);
</span><span class="cx">     void setMarginHeight(LayoutUnit);
</span><span class="cx"> 
</span><del>-    virtual void setCanHaveScrollbars(bool) override;
-    void updateCanHaveScrollbars();
</del><ins>+    WEBCORE_EXPORT virtual void setCanHaveScrollbars(bool) override;
+    WEBCORE_EXPORT void updateCanHaveScrollbars();
</ins><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;Scrollbar&gt; createScrollbar(ScrollbarOrientation) override;
</span><span class="cx"> 
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">     virtual void setContentsSize(const IntSize&amp;) override;
</span><span class="cx"> 
</span><span class="cx">     void layout(bool allowSubtree = true);
</span><del>-    bool didFirstLayout() const;
</del><ins>+    WEBCORE_EXPORT bool didFirstLayout() const;
</ins><span class="cx">     void layoutTimerFired(Timer&lt;FrameView&gt;&amp;);
</span><span class="cx">     void scheduleRelayout();
</span><span class="cx">     void scheduleRelayoutOfSubtree(RenderElement&amp;);
</span><span class="lines">@@ -115,31 +115,31 @@
</span><span class="cx">     void clearLayoutRoot() { m_layoutRoot = nullptr; }
</span><span class="cx">     int layoutCount() const { return m_layoutCount; }
</span><span class="cx"> 
</span><del>-    bool needsLayout() const;
-    void setNeedsLayout();
</del><ins>+    WEBCORE_EXPORT bool needsLayout() const;
+    WEBCORE_EXPORT void setNeedsLayout();
</ins><span class="cx">     void setViewportConstrainedObjectsNeedLayout();
</span><span class="cx"> 
</span><span class="cx">     bool needsFullRepaint() const { return m_needsFullRepaint; }
</span><span class="cx"> 
</span><del>-    bool renderedCharactersExceed(unsigned threshold);
</del><ins>+    WEBCORE_EXPORT bool renderedCharactersExceed(unsigned threshold);
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     bool useCustomFixedPositionLayoutRect() const { return m_useCustomFixedPositionLayoutRect; }
</span><span class="cx">     IntRect customFixedPositionLayoutRect() const { return m_customFixedPositionLayoutRect; }
</span><del>-    void setCustomFixedPositionLayoutRect(const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT void setCustomFixedPositionLayoutRect(const IntRect&amp;);
</ins><span class="cx">     bool updateFixedPositionLayoutRect();
</span><span class="cx"> 
</span><span class="cx">     IntSize customSizeForResizeEvent() const { return m_customSizeForResizeEvent; }
</span><del>-    void setCustomSizeForResizeEvent(IntSize);
</del><ins>+    WEBCORE_EXPORT void setCustomSizeForResizeEvent(IntSize);
</ins><span class="cx"> 
</span><del>-    void setScrollVelocity(double horizontalVelocity, double verticalVelocity, double scaleChangeRate, double timestamp);
</del><ins>+    WEBCORE_EXPORT void setScrollVelocity(double horizontalVelocity, double verticalVelocity, double scaleChangeRate, double timestamp);
</ins><span class="cx">     FloatRect computeCoverageRect(double horizontalMargin, double verticalMargin) const;
</span><span class="cx"> #else
</span><span class="cx">     bool useCustomFixedPositionLayoutRect() const { return false; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REQUEST_ANIMATION_FRAME)
</span><del>-    void serviceScriptedAnimations(double monotonicAnimationStartTime);
</del><ins>+    WEBCORE_EXPORT void serviceScriptedAnimations(double monotonicAnimationStartTime);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void updateCompositingLayersAfterStyleChange();
</span><span class="lines">@@ -153,10 +153,10 @@
</span><span class="cx">     // content rendered via the normal painting path.
</span><span class="cx">     void setNeedsOneShotDrawingSynchronization();
</span><span class="cx"> 
</span><del>-    GraphicsLayer* graphicsLayerForPlatformWidget(PlatformWidget);
-    void scheduleLayerFlushAllowingThrottling();
</del><ins>+    WEBCORE_EXPORT GraphicsLayer* graphicsLayerForPlatformWidget(PlatformWidget);
+    WEBCORE_EXPORT void scheduleLayerFlushAllowingThrottling();
</ins><span class="cx"> 
</span><del>-    virtual TiledBacking* tiledBacking() const override;
</del><ins>+    WEBCORE_EXPORT virtual TiledBacking* tiledBacking() const override;
</ins><span class="cx"> 
</span><span class="cx">     // In the future when any ScrollableArea can have a node in th ScrollingTree, this should
</span><span class="cx">     // become a virtual function on ScrollableArea.
</span><span class="lines">@@ -166,16 +166,16 @@
</span><span class="cx">     bool hasCompositedContent() const;
</span><span class="cx">     bool hasCompositedContentIncludingDescendants() const;
</span><span class="cx">     bool hasCompositingAncestor() const;
</span><del>-    void enterCompositingMode();
-    bool isEnclosedInCompositingLayer() const;
</del><ins>+    WEBCORE_EXPORT void enterCompositingMode();
+    WEBCORE_EXPORT bool isEnclosedInCompositingLayer() const;
</ins><span class="cx"> 
</span><span class="cx">     // Only used with accelerated compositing, but outside the #ifdef to make linkage easier.
</span><span class="cx">     // Returns true if the flush was completed.
</span><del>-    bool flushCompositingStateIncludingSubframes();
</del><ins>+    WEBCORE_EXPORT bool flushCompositingStateIncludingSubframes();
</ins><span class="cx"> 
</span><span class="cx">     // Returns true when a paint with the PaintBehaviorFlattenCompositingLayers flag set gives
</span><span class="cx">     // a faithful representation of the content.
</span><del>-    bool isSoftwareRenderable() const;
</del><ins>+    WEBCORE_EXPORT bool isSoftwareRenderable() const;
</ins><span class="cx"> 
</span><span class="cx">     void didMoveOnscreen();
</span><span class="cx">     void willMoveOffscreen();
</span><span class="lines">@@ -189,14 +189,14 @@
</span><span class="cx"> 
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><del>-    bool isTransparent() const;
-    void setTransparent(bool isTransparent);
</del><ins>+    WEBCORE_EXPORT bool isTransparent() const;
+    WEBCORE_EXPORT void setTransparent(bool isTransparent);
</ins><span class="cx">     
</span><span class="cx">     // True if the FrameView is not transparent, and the base background color is opaque.
</span><span class="cx">     bool hasOpaqueBackground() const;
</span><span class="cx"> 
</span><del>-    Color baseBackgroundColor() const;
-    void setBaseBackgroundColor(const Color&amp;);
</del><ins>+    WEBCORE_EXPORT Color baseBackgroundColor() const;
+    WEBCORE_EXPORT void setBaseBackgroundColor(const Color&amp;);
</ins><span class="cx">     void updateBackgroundRecursively(const Color&amp;, bool);
</span><span class="cx"> 
</span><span class="cx">     enum ExtendedBackgroundModeFlags {
</span><span class="lines">@@ -215,16 +215,16 @@
</span><span class="cx">     IntRect extendedBackgroundRectForPainting() const;
</span><span class="cx"> 
</span><span class="cx">     bool shouldUpdateWhileOffscreen() const;
</span><del>-    void setShouldUpdateWhileOffscreen(bool);
</del><ins>+    WEBCORE_EXPORT void setShouldUpdateWhileOffscreen(bool);
</ins><span class="cx">     bool shouldUpdate() const;
</span><span class="cx"> 
</span><del>-    void adjustViewSize();
</del><ins>+    WEBCORE_EXPORT void adjustViewSize();
</ins><span class="cx">     
</span><del>-    void setViewportSizeForCSSViewportUnits(IntSize);
</del><ins>+    WEBCORE_EXPORT void setViewportSizeForCSSViewportUnits(IntSize);
</ins><span class="cx">     IntSize viewportSizeForCSSViewportUnits() const;
</span><span class="cx">     
</span><span class="cx">     virtual IntRect windowClipRect(bool clipToContents = true) const override;
</span><del>-    IntRect windowClipRectForFrameOwner(const HTMLFrameOwnerElement*, bool clipToLayerContents) const;
</del><ins>+    WEBCORE_EXPORT IntRect windowClipRectForFrameOwner(const HTMLFrameOwnerElement*, bool clipToLayerContents) const;
</ins><span class="cx"> 
</span><span class="cx">     virtual IntRect windowResizerRect() const override;
</span><span class="cx"> 
</span><span class="lines">@@ -233,14 +233,14 @@
</span><span class="cx"> #if USE(TILED_BACKING_STORE)
</span><span class="cx">     virtual void setFixedVisibleContentRect(const IntRect&amp;) override;
</span><span class="cx"> #endif
</span><del>-    virtual void setScrollPosition(const IntPoint&amp;) override;
-    void scrollPositionChangedViaPlatformWidget(const IntPoint&amp; oldPosition, const IntPoint&amp; newPosition);
</del><ins>+    WEBCORE_EXPORT virtual void setScrollPosition(const IntPoint&amp;) override;
+    WEBCORE_EXPORT void scrollPositionChangedViaPlatformWidget(const IntPoint&amp; oldPosition, const IntPoint&amp; newPosition);
</ins><span class="cx">     virtual void updateLayerPositionsAfterScrolling() override;
</span><span class="cx">     virtual void updateCompositingLayersAfterScrolling() override;
</span><span class="cx">     virtual bool requestScrollPositionUpdate(const IntPoint&amp;) override;
</span><span class="cx">     virtual bool isRubberBandInProgress() const override;
</span><del>-    virtual IntPoint minimumScrollPosition() const override;
-    virtual IntPoint maximumScrollPosition() const override;
</del><ins>+    WEBCORE_EXPORT virtual IntPoint minimumScrollPosition() const override;
+    WEBCORE_EXPORT virtual IntPoint maximumScrollPosition() const override;
</ins><span class="cx">     void delayedScrollEventTimerFired(Timer&lt;FrameView&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     void resumeVisibleImageAnimationsIncludingSubframes();
</span><span class="lines">@@ -250,7 +250,7 @@
</span><span class="cx">     LayoutRect viewportConstrainedVisibleContentRect() const;
</span><span class="cx"> 
</span><span class="cx">     String mediaType() const;
</span><del>-    void setMediaType(const String&amp;);
</del><ins>+    WEBCORE_EXPORT void setMediaType(const String&amp;);
</ins><span class="cx">     void adjustMediaTypeForPrinting(bool printing);
</span><span class="cx"> 
</span><span class="cx">     void setCannotBlitToWindow();
</span><span class="lines">@@ -280,33 +280,33 @@
</span><span class="cx">     // These layers are positioned differently when there is a topContentInset, a header, or a footer. These value need to be computed
</span><span class="cx">     // on both the main thread and the scrolling thread.
</span><span class="cx">     static float yPositionForInsetClipLayer(const FloatPoint&amp; scrollPosition, float topContentInset);
</span><del>-    static float yPositionForRootContentLayer(const FloatPoint&amp; scrollPosition, float topContentInset, float headerHeight);
</del><ins>+    WEBCORE_EXPORT static float yPositionForRootContentLayer(const FloatPoint&amp; scrollPosition, float topContentInset, float headerHeight);
</ins><span class="cx">     static float yPositionForHeaderLayer(const FloatPoint&amp; scrollPosition, float topContentInset);
</span><span class="cx">     static float yPositionForFooterLayer(const FloatPoint&amp; scrollPosition, float topContentInset, float totalContentsHeight, float footerHeight);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    LayoutRect viewportConstrainedObjectsRect() const;
</del><ins>+    WEBCORE_EXPORT LayoutRect viewportConstrainedObjectsRect() const;
</ins><span class="cx">     // Static function can be called from another thread.
</span><del>-    static LayoutRect rectForViewportConstrainedObjects(const LayoutRect&amp; visibleContentRect, const LayoutSize&amp; totalContentsSize, float frameScaleFactor, bool fixedElementsLayoutRelativeToFrame, ScrollBehaviorForFixedElements);
</del><ins>+    WEBCORE_EXPORT static LayoutRect rectForViewportConstrainedObjects(const LayoutRect&amp; visibleContentRect, const LayoutSize&amp; totalContentsSize, float frameScaleFactor, bool fixedElementsLayoutRelativeToFrame, ScrollBehaviorForFixedElements);
</ins><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     bool fixedElementsLayoutRelativeToFrame() const;
</span><span class="cx"> 
</span><del>-    void disableLayerFlushThrottlingTemporarilyForInteraction();
</del><ins>+    WEBCORE_EXPORT void disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx">     bool speculativeTilingEnabled() const { return m_speculativeTilingEnabled; }
</span><span class="cx">     void loadProgressingStatusChanged();
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">     void updateAnnotatedRegions();
</span><span class="cx"> #endif
</span><del>-    void updateControlTints();
</del><ins>+    WEBCORE_EXPORT void updateControlTints();
</ins><span class="cx"> 
</span><span class="cx">     void restoreScrollbar();
</span><span class="cx"> 
</span><span class="cx">     void postLayoutTimerFired(Timer&lt;FrameView&gt;&amp;);
</span><span class="cx"> 
</span><del>-    bool wasScrolledByUser() const;
-    void setWasScrolledByUser(bool);
</del><ins>+    WEBCORE_EXPORT bool wasScrolledByUser() const;
+    WEBCORE_EXPORT void setWasScrolledByUser(bool);
</ins><span class="cx"> 
</span><span class="cx">     bool safeToPropagateScrollToParent() const { return m_safeToPropagateScrollToParent; }
</span><span class="cx">     void setSafeToPropagateScrollToParent(bool isSafe) { m_safeToPropagateScrollToParent = isSafe; }
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx">     void addEmbeddedObjectToUpdate(RenderEmbeddedObject&amp;);
</span><span class="cx">     void removeEmbeddedObjectToUpdate(RenderEmbeddedObject&amp;);
</span><span class="cx"> 
</span><del>-    virtual void paintContents(GraphicsContext*, const IntRect&amp; dirtyRect) override;
</del><ins>+    WEBCORE_EXPORT virtual void paintContents(GraphicsContext*, const IntRect&amp; dirtyRect) override;
</ins><span class="cx"> 
</span><span class="cx">     struct PaintingState {
</span><span class="cx">         PaintBehavior paintBehavior;
</span><span class="lines">@@ -331,39 +331,39 @@
</span><span class="cx">     void willPaintContents(GraphicsContext*, const IntRect&amp; dirtyRect, PaintingState&amp;);
</span><span class="cx">     void didPaintContents(GraphicsContext*, const IntRect&amp; dirtyRect, PaintingState&amp;);
</span><span class="cx"> 
</span><del>-    void setPaintBehavior(PaintBehavior);
-    PaintBehavior paintBehavior() const;
</del><ins>+    WEBCORE_EXPORT void setPaintBehavior(PaintBehavior);
+    WEBCORE_EXPORT PaintBehavior paintBehavior() const;
</ins><span class="cx">     bool isPainting() const;
</span><span class="cx">     bool hasEverPainted() const { return m_lastPaintTime; }
</span><span class="cx">     void setLastPaintTime(double lastPaintTime) { m_lastPaintTime = lastPaintTime; }
</span><del>-    void setNodeToDraw(Node*);
</del><ins>+    WEBCORE_EXPORT void setNodeToDraw(Node*);
</ins><span class="cx"> 
</span><span class="cx">     enum SelectionInSnapshot { IncludeSelection, ExcludeSelection };
</span><span class="cx">     enum CoordinateSpaceForSnapshot { DocumentCoordinates, ViewCoordinates };
</span><del>-    void paintContentsForSnapshot(GraphicsContext*, const IntRect&amp; imageRect, SelectionInSnapshot shouldPaintSelection, CoordinateSpaceForSnapshot);
</del><ins>+    WEBCORE_EXPORT void paintContentsForSnapshot(GraphicsContext*, const IntRect&amp; imageRect, SelectionInSnapshot shouldPaintSelection, CoordinateSpaceForSnapshot);
</ins><span class="cx"> 
</span><span class="cx">     virtual void paintOverhangAreas(GraphicsContext*, const IntRect&amp; horizontalOverhangArea, const IntRect&amp; verticalOverhangArea, const IntRect&amp; dirtyRect) override;
</span><span class="cx">     virtual void paintScrollCorner(GraphicsContext*, const IntRect&amp; cornerRect) override;
</span><span class="cx">     virtual void paintScrollbar(GraphicsContext*, Scrollbar*, const IntRect&amp;) override;
</span><span class="cx"> 
</span><del>-    Color documentBackgroundColor() const;
</del><ins>+    WEBCORE_EXPORT Color documentBackgroundColor() const;
</ins><span class="cx"> 
</span><span class="cx">     bool isInChildFrameWithFrameFlattening() const;
</span><span class="cx"> 
</span><span class="cx">     static double currentPaintTimeStamp() { return sCurrentPaintTimeStamp; } // returns 0 if not painting
</span><span class="cx">     
</span><del>-    void updateLayoutAndStyleIfNeededRecursive();
</del><ins>+    WEBCORE_EXPORT void updateLayoutAndStyleIfNeededRecursive();
</ins><span class="cx"> 
</span><span class="cx">     void incrementVisuallyNonEmptyCharacterCount(unsigned);
</span><span class="cx">     void incrementVisuallyNonEmptyPixelCount(const IntSize&amp;);
</span><span class="cx">     void updateIsVisuallyNonEmpty();
</span><span class="cx">     bool isVisuallyNonEmpty() const { return m_isVisuallyNonEmpty; }
</span><del>-    void enableAutoSizeMode(bool enable, const IntSize&amp; minSize, const IntSize&amp; maxSize);
-    void setAutoSizeFixedMinimumHeight(int fixedMinimumHeight);
</del><ins>+    WEBCORE_EXPORT void enableAutoSizeMode(bool enable, const IntSize&amp; minSize, const IntSize&amp; maxSize);
+    WEBCORE_EXPORT void setAutoSizeFixedMinimumHeight(int);
</ins><span class="cx">     IntSize autoSizingIntrinsicContentSize() const { return m_autoSizeContentSize; }
</span><span class="cx"> 
</span><del>-    void forceLayout(bool allowSubtree = false);
-    void forceLayoutForPagination(const FloatSize&amp; pageSize, const FloatSize&amp; originalPageSize, float maximumShrinkFactor, AdjustViewSizeOrNot);
</del><ins>+    WEBCORE_EXPORT void forceLayout(bool allowSubtree = false);
+    WEBCORE_EXPORT void forceLayoutForPagination(const FloatSize&amp; pageSize, const FloatSize&amp; originalPageSize, float maximumShrinkFactor, AdjustViewSizeOrNot);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: This method is retained because of embedded WebViews in AppKit.  When a WebView is embedded inside
</span><span class="cx">     // some enclosing view with auto-pagination, no call happens to resize the view.  The new pagination model
</span><span class="lines">@@ -381,18 +381,18 @@
</span><span class="cx">     // but that doesn't solve the general problem of how other AppKit views could opt in to the better model.
</span><span class="cx">     //
</span><span class="cx">     // NO OTHER PLATFORM BESIDES MAC SHOULD USE THIS METHOD.
</span><del>-    void adjustPageHeightDeprecated(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
</del><ins>+    WEBCORE_EXPORT void adjustPageHeightDeprecated(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
</ins><span class="cx"> 
</span><span class="cx">     bool scrollToFragment(const URL&amp;);
</span><span class="cx">     bool scrollToAnchor(const String&amp;);
</span><span class="cx">     void maintainScrollPositionAtAnchor(Node*);
</span><del>-    void scrollElementToRect(Element*, const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT void scrollElementToRect(Element*, const IntRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Methods to convert points and rects between the coordinate space of the renderer, and this view.
</span><del>-    IntRect convertFromRendererToContainingView(const RenderElement*, const IntRect&amp;) const;
-    IntRect convertFromContainingViewToRenderer(const RenderElement*, const IntRect&amp;) const;
-    IntPoint convertFromRendererToContainingView(const RenderElement*, const IntPoint&amp;) const;
-    IntPoint convertFromContainingViewToRenderer(const RenderElement*, const IntPoint&amp;) const;
</del><ins>+    WEBCORE_EXPORT IntRect convertFromRendererToContainingView(const RenderElement*, const IntRect&amp;) const;
+    WEBCORE_EXPORT IntRect convertFromContainingViewToRenderer(const RenderElement*, const IntRect&amp;) const;
+    WEBCORE_EXPORT IntPoint convertFromRendererToContainingView(const RenderElement*, const IntPoint&amp;) const;
+    WEBCORE_EXPORT IntPoint convertFromContainingViewToRenderer(const RenderElement*, const IntPoint&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
</span><span class="cx"> 
</span><span class="lines">@@ -413,17 +413,17 @@
</span><span class="cx"> 
</span><span class="cx">     RenderBox* embeddedContentBox() const;
</span><span class="cx">     
</span><del>-    void setTracksRepaints(bool);
</del><ins>+    WEBCORE_EXPORT void setTracksRepaints(bool);
</ins><span class="cx">     bool isTrackingRepaints() const { return m_isTrackingRepaints; }
</span><del>-    void resetTrackedRepaints();
</del><ins>+    WEBCORE_EXPORT void resetTrackedRepaints();
</ins><span class="cx">     const Vector&lt;FloatRect&gt;&amp; trackedRepaintRects() const { return m_trackedRepaintRects; }
</span><span class="cx">     String trackedRepaintRectsAsText() const;
</span><span class="cx"> 
</span><span class="cx">     typedef HashSet&lt;ScrollableArea*&gt; ScrollableAreaSet;
</span><span class="cx">     // Returns whether the scrollable area has just been newly added.
</span><del>-    bool addScrollableArea(ScrollableArea*);
</del><ins>+    WEBCORE_EXPORT bool addScrollableArea(ScrollableArea*);
</ins><span class="cx">     // Returns whether the scrollable area has just been removed.
</span><del>-    bool removeScrollableArea(ScrollableArea*);
</del><ins>+    WEBCORE_EXPORT bool removeScrollableArea(ScrollableArea*);
</ins><span class="cx">     bool containsScrollableArea(ScrollableArea*) const;
</span><span class="cx">     const ScrollableAreaSet* scrollableAreas() const { return m_scrollableAreas.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -434,7 +434,7 @@
</span><span class="cx">     // we need this function in order to do the scroll ourselves.
</span><span class="cx">     bool wheelEvent(const PlatformWheelEvent&amp;);
</span><span class="cx"> 
</span><del>-    void setScrollingPerformanceLoggingEnabled(bool);
</del><ins>+    WEBCORE_EXPORT void setScrollingPerformanceLoggingEnabled(bool);
</ins><span class="cx"> 
</span><span class="cx">     // Page and FrameView both store a Pagination value. Page::pagination() is set only by API,
</span><span class="cx">     // and FrameView::pagination() is set only by CSS. Page::pagination() will affect all
</span><span class="lines">@@ -458,20 +458,20 @@
</span><span class="cx">     virtual bool forceUpdateScrollbarsOnMainThreadForPerformanceTesting() const override;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(RUBBER_BANDING)
</span><del>-    GraphicsLayer* setWantsLayerForTopOverHangArea(bool) const;
-    GraphicsLayer* setWantsLayerForBottomOverHangArea(bool) const;
</del><ins>+    WEBCORE_EXPORT GraphicsLayer* setWantsLayerForTopOverHangArea(bool) const;
+    WEBCORE_EXPORT GraphicsLayer* setWantsLayerForBottomOverHangArea(bool) const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     virtual int headerHeight() const override { return m_headerHeight; }
</span><del>-    void setHeaderHeight(int);
</del><ins>+    WEBCORE_EXPORT void setHeaderHeight(int);
</ins><span class="cx">     virtual int footerHeight() const override { return m_footerHeight; }
</span><del>-    void setFooterHeight(int);
</del><ins>+    WEBCORE_EXPORT void setFooterHeight(int);
</ins><span class="cx"> 
</span><del>-    virtual float topContentInset(TopContentInsetType = TopContentInsetType::WebCoreContentInset) const override;
</del><ins>+    WEBCORE_EXPORT virtual float topContentInset(TopContentInsetType = TopContentInsetType::WebCoreContentInset) const override;
</ins><span class="cx">     void topContentInsetDidChange(float newTopContentInset);
</span><span class="cx"> 
</span><del>-    virtual void willStartLiveResize() override;
-    virtual void willEndLiveResize() override;
</del><ins>+    WEBCORE_EXPORT virtual void willStartLiveResize() override;
+    WEBCORE_EXPORT virtual void willEndLiveResize() override;
</ins><span class="cx"> 
</span><span class="cx">     void addPaintPendingMilestones(LayoutMilestones);
</span><span class="cx">     void firePaintRelatedMilestonesIfNeeded();
</span><span class="lines">@@ -479,9 +479,9 @@
</span><span class="cx">     LayoutMilestones milestonesPendingPaint() const { return m_milestonesPendingPaint; }
</span><span class="cx"> 
</span><span class="cx">     bool visualUpdatesAllowedByClient() const { return m_visualUpdatesAllowedByClient; }
</span><del>-    void setVisualUpdatesAllowedByClient(bool);
</del><ins>+    WEBCORE_EXPORT void setVisualUpdatesAllowedByClient(bool);
</ins><span class="cx"> 
</span><del>-    void setScrollPinningBehavior(ScrollPinningBehavior);
</del><ins>+    WEBCORE_EXPORT void setScrollPinningBehavior(ScrollPinningBehavior);
</ins><span class="cx"> 
</span><span class="cx">     ScrollBehaviorForFixedElements scrollBehaviorForFixedElements() const;
</span><span class="cx"> 
</span><span class="lines">@@ -495,7 +495,7 @@
</span><span class="cx">     // of the view is actually exposed on screen (taking into account
</span><span class="cx">     // clipping by other UI elements), whereas visibleContentRect is
</span><span class="cx">     // internal to WebCore and doesn't respect those things.
</span><del>-    void setExposedRect(FloatRect);
</del><ins>+    WEBCORE_EXPORT void setExposedRect(FloatRect);
</ins><span class="cx">     FloatRect exposedRect() const { return m_exposedRect; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_SCROLL_SNAP)
</span><span class="lines">@@ -545,14 +545,14 @@
</span><span class="cx"> 
</span><span class="cx">     void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
</span><span class="cx"> 
</span><del>-    void paintControlTints();
</del><ins>+    WEBCORE_EXPORT void paintControlTints();
</ins><span class="cx"> 
</span><span class="cx">     void forceLayoutParentViewIfNeeded();
</span><span class="cx">     void performPostLayoutTasks();
</span><span class="cx">     void autoSizeIfEnabled();
</span><span class="cx"> 
</span><span class="cx">     void updateLayerFlushThrottling();
</span><del>-    void adjustTiledBackingCoverage();
</del><ins>+    WEBCORE_EXPORT void adjustTiledBackingCoverage();
</ins><span class="cx"> 
</span><span class="cx">     virtual void repaintContentRectangle(const IntRect&amp;) override;
</span><span class="cx">     virtual void contentsResized() override;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/Page.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -116,16 +116,16 @@
</span><span class="cx">     friend class PageThrottler;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
-    static void clearPreviousItemFromAllPages(HistoryItem*);
</del><ins>+    WEBCORE_EXPORT static void updateStyleForAllPagesAfterGlobalChangeInEnvironment();
+    WEBCORE_EXPORT static void clearPreviousItemFromAllPages(HistoryItem*);
</ins><span class="cx"> 
</span><span class="cx">     // It is up to the platform to ensure that non-null clients are provided where required.
</span><span class="cx">     // FIXME: Rename this to PageConfiguration and move it to its own class.
</span><span class="cx">     struct PageClients {
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(PageClients); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><del>-        PageClients();
-        ~PageClients();
</del><ins>+        WEBCORE_EXPORT PageClients();
+        WEBCORE_EXPORT ~PageClients();
</ins><span class="cx"> 
</span><span class="cx">         AlternativeTextClient* alternativeTextClient;
</span><span class="cx">         ChromeClient* chromeClient;
</span><span class="lines">@@ -145,21 +145,21 @@
</span><span class="cx">         RefPtr&lt;VisitedLinkStore&gt; visitedLinkStore;
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    explicit Page(PageClients&amp;);
-    ~Page();
</del><ins>+    WEBCORE_EXPORT explicit Page(PageClients&amp;);
+    WEBCORE_EXPORT ~Page();
</ins><span class="cx"> 
</span><del>-    uint64_t renderTreeSize() const;
</del><ins>+    WEBCORE_EXPORT uint64_t renderTreeSize() const;
</ins><span class="cx"> 
</span><span class="cx">     void setNeedsRecalcStyleInAllFrames();
</span><span class="cx"> 
</span><span class="cx">     RenderTheme&amp; theme() const { return *m_theme; }
</span><span class="cx"> 
</span><del>-    ViewportArguments viewportArguments() const;
</del><ins>+    WEBCORE_EXPORT ViewportArguments viewportArguments() const;
</ins><span class="cx"> 
</span><span class="cx">     static void refreshPlugins(bool reload);
</span><del>-    PluginData&amp; pluginData() const;
</del><ins>+    WEBCORE_EXPORT PluginData&amp; pluginData() const;
</ins><span class="cx"> 
</span><del>-    void setCanStartMedia(bool);
</del><ins>+    WEBCORE_EXPORT void setCanStartMedia(bool);
</ins><span class="cx">     bool canStartMedia() const { return m_canStartMedia; }
</span><span class="cx"> 
</span><span class="cx">     EditorClient* editorClient() const { return m_editorClient; }
</span><span class="lines">@@ -171,10 +171,10 @@
</span><span class="cx">     bool openedByDOM() const;
</span><span class="cx">     void setOpenedByDOM();
</span><span class="cx"> 
</span><del>-    void goToItem(HistoryItem*, FrameLoadType);
</del><ins>+    WEBCORE_EXPORT void goToItem(HistoryItem*, FrameLoadType);
</ins><span class="cx"> 
</span><del>-    void setGroupName(const String&amp;);
-    const String&amp; groupName() const;
</del><ins>+    WEBCORE_EXPORT void setGroupName(const String&amp;);
+    WEBCORE_EXPORT const String&amp; groupName() const;
</ins><span class="cx"> 
</span><span class="cx">     PageGroup&amp; group();
</span><span class="cx">     PageGroup* groupPtr() { return m_group; } // can return 0
</span><span class="lines">@@ -184,8 +184,8 @@
</span><span class="cx">     int subframeCount() const { checkSubframeCountConsistency(); return m_subframeCount; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><del>-    bool remoteInspectionAllowed() const;
-    void setRemoteInspectionAllowed(bool);
</del><ins>+    WEBCORE_EXPORT bool remoteInspectionAllowed() const;
+    WEBCORE_EXPORT void setRemoteInspectionAllowed(bool);
</ins><span class="cx">     void remoteInspectorInformationDidChange() const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -212,9 +212,9 @@
</span><span class="cx"> 
</span><span class="cx">     ScrollingCoordinator* scrollingCoordinator();
</span><span class="cx"> 
</span><del>-    String scrollingStateTreeAsText();
-    String synchronousScrollingReasonsAsText();
-    PassRefPtr&lt;ClientRectList&gt; nonFastScrollableRects(const Frame*);
</del><ins>+    WEBCORE_EXPORT String scrollingStateTreeAsText();
+    WEBCORE_EXPORT String synchronousScrollingReasonsAsText();
+    WEBCORE_EXPORT PassRefPtr&lt;ClientRectList&gt; nonFastScrollableRects(const Frame*);
</ins><span class="cx"> 
</span><span class="cx">     Settings&amp; settings() const { return *m_settings; }
</span><span class="cx">     ProgressTracker&amp; progress() const { return *m_progress; }
</span><span class="lines">@@ -232,20 +232,20 @@
</span><span class="cx">     static ViewMode stringToViewMode(const String&amp;);
</span><span class="cx"> 
</span><span class="cx">     ViewMode viewMode() const { return m_viewMode; }
</span><del>-    void setViewMode(ViewMode);
</del><ins>+    WEBCORE_EXPORT void setViewMode(ViewMode);
</ins><span class="cx"> #endif // ENABLE(VIEW_MODE_CSS_MEDIA)
</span><span class="cx"> 
</span><span class="cx">     void setTabKeyCyclesThroughElements(bool b) { m_tabKeyCyclesThroughElements = b; }
</span><span class="cx">     bool tabKeyCyclesThroughElements() const { return m_tabKeyCyclesThroughElements; }
</span><span class="cx"> 
</span><del>-    bool findString(const String&amp;, FindOptions);
</del><ins>+    WEBCORE_EXPORT bool findString(const String&amp;, FindOptions);
</ins><span class="cx"> 
</span><del>-    PassRefPtr&lt;Range&gt; rangeOfString(const String&amp;, Range*, FindOptions);
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;Range&gt; rangeOfString(const String&amp;, Range*, FindOptions);
</ins><span class="cx"> 
</span><del>-    unsigned countFindMatches(const String&amp;, FindOptions, unsigned maxMatchCount);
-    unsigned markAllMatchesForText(const String&amp;, FindOptions, bool shouldHighlight, unsigned maxMatchCount);
</del><ins>+    WEBCORE_EXPORT unsigned countFindMatches(const String&amp;, FindOptions, unsigned maxMatchCount);
+    WEBCORE_EXPORT unsigned markAllMatchesForText(const String&amp;, FindOptions, bool shouldHighlight, unsigned maxMatchCount);
</ins><span class="cx"> 
</span><del>-    void unmarkAllTextMatches();
</del><ins>+    WEBCORE_EXPORT void unmarkAllTextMatches();
</ins><span class="cx"> 
</span><span class="cx">     // find all the Ranges for the matching text.
</span><span class="cx">     // Upon return, indexForSelection will be one of the following:
</span><span class="lines">@@ -253,39 +253,39 @@
</span><span class="cx">     // the index of the first range after the user selection
</span><span class="cx">     // NoMatchAfterUserSelection if there is no matching text after the user selection.
</span><span class="cx">     enum { NoMatchAfterUserSelection = -1 };
</span><del>-    void findStringMatchingRanges(const String&amp;, FindOptions, int maxCount, Vector&lt;RefPtr&lt;Range&gt;&gt;&amp;, int&amp; indexForSelection);
</del><ins>+    WEBCORE_EXPORT void findStringMatchingRanges(const String&amp;, FindOptions, int maxCount, Vector&lt;RefPtr&lt;Range&gt;&gt;&amp;, int&amp; indexForSelection);
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    void addSchedulePair(PassRefPtr&lt;SchedulePair&gt;);
-    void removeSchedulePair(PassRefPtr&lt;SchedulePair&gt;);
</del><ins>+    WEBCORE_EXPORT void addSchedulePair(PassRefPtr&lt;SchedulePair&gt;);
+    WEBCORE_EXPORT void removeSchedulePair(PassRefPtr&lt;SchedulePair&gt;);
</ins><span class="cx">     SchedulePairHashSet* scheduledRunLoopPairs() { return m_scheduledRunLoopPairs.get(); }
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;SchedulePairHashSet&gt; m_scheduledRunLoopPairs;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    const VisibleSelection&amp; selection() const;
</del><ins>+    WEBCORE_EXPORT const VisibleSelection&amp; selection() const;
</ins><span class="cx"> 
</span><del>-    void setDefersLoading(bool);
</del><ins>+    WEBCORE_EXPORT void setDefersLoading(bool);
</ins><span class="cx">     bool defersLoading() const { return m_defersLoading; }
</span><span class="cx"> 
</span><del>-    void clearUndoRedoOperations();
</del><ins>+    WEBCORE_EXPORT void clearUndoRedoOperations();
</ins><span class="cx"> 
</span><del>-    bool inLowQualityImageInterpolationMode() const;
-    void setInLowQualityImageInterpolationMode(bool = true);
</del><ins>+    WEBCORE_EXPORT bool inLowQualityImageInterpolationMode() const;
+    WEBCORE_EXPORT void setInLowQualityImageInterpolationMode(bool = true);
</ins><span class="cx"> 
</span><span class="cx">     float mediaVolume() const { return m_mediaVolume; }
</span><del>-    void setMediaVolume(float);
</del><ins>+    WEBCORE_EXPORT void setMediaVolume(float);
</ins><span class="cx"> 
</span><del>-    void setPageScaleFactor(float scale, const IntPoint&amp; origin, bool inStableState = true);
</del><ins>+    WEBCORE_EXPORT void setPageScaleFactor(float scale, const IntPoint&amp; origin, bool inStableState = true);
</ins><span class="cx">     float pageScaleFactor() const { return m_pageScaleFactor; }
</span><span class="cx"> 
</span><del>-    void setZoomedOutPageScaleFactor(float);
</del><ins>+    WEBCORE_EXPORT void setZoomedOutPageScaleFactor(float);
</ins><span class="cx">     float zoomedOutPageScaleFactor() const { return m_zoomedOutPageScaleFactor; }
</span><span class="cx"> 
</span><span class="cx">     float deviceScaleFactor() const { return m_deviceScaleFactor; }
</span><del>-    void setDeviceScaleFactor(float);
</del><ins>+    WEBCORE_EXPORT void setDeviceScaleFactor(float);
</ins><span class="cx"> 
</span><span class="cx">     float topContentInset() const { return m_topContentInset; }
</span><del>-    void setTopContentInset(float);
</del><ins>+    WEBCORE_EXPORT void setTopContentInset(float);
</ins><span class="cx">     
</span><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">     float textAutosizingWidth() const { return m_textAutosizingWidth; }
</span><span class="lines">@@ -293,13 +293,13 @@
</span><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     bool shouldSuppressScrollbarAnimations() const { return m_suppressScrollbarAnimations; }
</span><del>-    void setShouldSuppressScrollbarAnimations(bool suppressAnimations);
</del><ins>+    WEBCORE_EXPORT void setShouldSuppressScrollbarAnimations(bool suppressAnimations);
</ins><span class="cx">     void lockAllOverlayScrollbarsToHidden(bool lockOverlayScrollbars);
</span><span class="cx">     
</span><del>-    void setVerticalScrollElasticity(ScrollElasticity);
</del><ins>+    WEBCORE_EXPORT void setVerticalScrollElasticity(ScrollElasticity);
</ins><span class="cx">     ScrollElasticity verticalScrollElasticity() const { return static_cast&lt;ScrollElasticity&gt;(m_verticalScrollElasticity); }
</span><span class="cx"> 
</span><del>-    void setHorizontalScrollElasticity(ScrollElasticity);
</del><ins>+    WEBCORE_EXPORT void setHorizontalScrollElasticity(ScrollElasticity);
</ins><span class="cx">     ScrollElasticity horizontalScrollElasticity() const { return static_cast&lt;ScrollElasticity&gt;(m_horizontalScrollElasticity); }
</span><span class="cx">     
</span><span class="cx">     // Page and FrameView both store a Pagination value. Page::pagination() is set only by API,
</span><span class="lines">@@ -307,18 +307,18 @@
</span><span class="cx">     // FrameViews in the page cache, but FrameView::pagination() only affects the current
</span><span class="cx">     // FrameView.
</span><span class="cx">     const Pagination&amp; pagination() const { return m_pagination; }
</span><del>-    void setPagination(const Pagination&amp;);
</del><ins>+    WEBCORE_EXPORT void setPagination(const Pagination&amp;);
</ins><span class="cx"> 
</span><del>-    unsigned pageCount() const;
</del><ins>+    WEBCORE_EXPORT unsigned pageCount() const;
</ins><span class="cx"> 
</span><span class="cx">     // Notifications when the Page starts and stops being presented via a native window.
</span><del>-    void setViewState(ViewState::Flags);
-    void setIsVisible(bool);
-    void setIsPrerender();
</del><ins>+    WEBCORE_EXPORT void setViewState(ViewState::Flags);
+    WEBCORE_EXPORT void setIsVisible(bool);
+    WEBCORE_EXPORT void setIsPrerender();
</ins><span class="cx">     bool isVisible() const { return m_viewState &amp; ViewState::IsVisible; }
</span><span class="cx"> 
</span><span class="cx">     // Notification that this Page was moved into or out of a native window.
</span><del>-    void setIsInWindow(bool);
</del><ins>+    WEBCORE_EXPORT void setIsInWindow(bool);
</ins><span class="cx">     bool isInWindow() const { return m_viewState &amp; ViewState::IsInWindow; }
</span><span class="cx"> 
</span><span class="cx">     void setIsClosing() { m_isClosing = true; }
</span><span class="lines">@@ -327,8 +327,8 @@
</span><span class="cx">     void addViewStateChangeObserver(ViewStateChangeObserver&amp;);
</span><span class="cx">     void removeViewStateChangeObserver(ViewStateChangeObserver&amp;);
</span><span class="cx"> 
</span><del>-    void suspendScriptedAnimations();
-    void resumeScriptedAnimations();
</del><ins>+    WEBCORE_EXPORT void suspendScriptedAnimations();
+    WEBCORE_EXPORT void resumeScriptedAnimations();
</ins><span class="cx">     bool scriptedAnimationsSuspended() const { return m_scriptedAnimationsSuspended; }
</span><span class="cx"> 
</span><span class="cx">     void userStyleSheetLocationChanged();
</span><span class="lines">@@ -342,8 +342,8 @@
</span><span class="cx"> 
</span><span class="cx">     static void removeAllVisitedLinks();
</span><span class="cx"> 
</span><del>-    void invalidateStylesForAllLinks();
-    void invalidateStylesForLink(LinkHash);
</del><ins>+    WEBCORE_EXPORT void invalidateStylesForAllLinks();
+    WEBCORE_EXPORT void invalidateStylesForLink(LinkHash);
</ins><span class="cx"> 
</span><span class="cx">     StorageNamespace* sessionStorage(bool optionalCreate = true);
</span><span class="cx">     void setSessionStorage(PassRefPtr&lt;StorageNamespace&gt;);
</span><span class="lines">@@ -351,7 +351,7 @@
</span><span class="cx">     bool hasCustomHTMLTokenizerTimeDelay() const;
</span><span class="cx">     double customHTMLTokenizerTimeDelay() const;
</span><span class="cx"> 
</span><del>-    void setMemoryCacheClientCallsEnabled(bool);
</del><ins>+    WEBCORE_EXPORT void setMemoryCacheClientCallsEnabled(bool);
</ins><span class="cx">     bool areMemoryCacheClientCallsEnabled() const { return m_areMemoryCacheClientCallsEnabled; }
</span><span class="cx"> 
</span><span class="cx">     // Don't allow more than a certain number of frames in a page.
</span><span class="lines">@@ -363,22 +363,22 @@
</span><span class="cx">     void setEditable(bool isEditable) { m_isEditable = isEditable; }
</span><span class="cx">     bool isEditable() { return m_isEditable; }
</span><span class="cx"> 
</span><del>-    PageVisibilityState visibilityState() const;
-    void resumeAnimatingImages();
</del><ins>+    WEBCORE_EXPORT PageVisibilityState visibilityState() const;
+    WEBCORE_EXPORT void resumeAnimatingImages();
</ins><span class="cx"> 
</span><del>-    void addLayoutMilestones(LayoutMilestones);
-    void removeLayoutMilestones(LayoutMilestones);
</del><ins>+    WEBCORE_EXPORT void addLayoutMilestones(LayoutMilestones);
+    WEBCORE_EXPORT void removeLayoutMilestones(LayoutMilestones);
</ins><span class="cx">     LayoutMilestones requestedLayoutMilestones() const { return m_requestedLayoutMilestones; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(RUBBER_BANDING)
</span><del>-    void addHeaderWithHeight(int);
-    void addFooterWithHeight(int);
</del><ins>+    WEBCORE_EXPORT void addHeaderWithHeight(int);
+    WEBCORE_EXPORT void addFooterWithHeight(int);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     int headerHeight() const { return m_headerHeight; }
</span><span class="cx">     int footerHeight() const { return m_footerHeight; }
</span><span class="cx"> 
</span><del>-    Color pageExtendedBackgroundColor() const;
</del><ins>+    WEBCORE_EXPORT Color pageExtendedBackgroundColor() const;
</ins><span class="cx"> 
</span><span class="cx">     bool isCountingRelevantRepaintedObjects() const;
</span><span class="cx">     void startCountingRelevantRepaintedObjects();
</span><span class="lines">@@ -386,8 +386,8 @@
</span><span class="cx">     void addRelevantRepaintedObject(RenderObject*, const LayoutRect&amp; objectPaintRect);
</span><span class="cx">     void addRelevantUnpaintedObject(RenderObject*, const LayoutRect&amp; objectPaintRect);
</span><span class="cx"> 
</span><del>-    void suspendActiveDOMObjectsAndAnimations();
-    void resumeActiveDOMObjectsAndAnimations();
</del><ins>+    WEBCORE_EXPORT void suspendActiveDOMObjectsAndAnimations();
+    WEBCORE_EXPORT void resumeActiveDOMObjectsAndAnimations();
</ins><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     void setIsPainting(bool painting) { m_isPainting = painting; }
</span><span class="cx">     bool isPainting() const { return m_isPainting; }
</span><span class="lines">@@ -396,7 +396,7 @@
</span><span class="cx">     AlternativeTextClient* alternativeTextClient() const { return m_alternativeTextClient; }
</span><span class="cx"> 
</span><span class="cx">     bool hasSeenPlugin(const String&amp; serviceType) const;
</span><del>-    bool hasSeenAnyPlugin() const;
</del><ins>+    WEBCORE_EXPORT bool hasSeenAnyPlugin() const;
</ins><span class="cx">     void sawPlugin(const String&amp; serviceType);
</span><span class="cx">     void resetSeenPlugins();
</span><span class="cx"> 
</span><span class="lines">@@ -406,7 +406,7 @@
</span><span class="cx">     void resetSeenMediaEngines();
</span><span class="cx"> 
</span><span class="cx">     PageThrottler* pageThrottler() { return m_pageThrottler.get(); }
</span><del>-    void createPageThrottler();
</del><ins>+    WEBCORE_EXPORT void createPageThrottler();
</ins><span class="cx"> 
</span><span class="cx">     PageConsole&amp; console() { return *m_console; }
</span><span class="cx"> 
</span><span class="lines">@@ -427,13 +427,13 @@
</span><span class="cx"> 
</span><span class="cx">     VisitedLinkStore&amp; visitedLinkStore();
</span><span class="cx"> 
</span><del>-    SessionID sessionID() const;
-    void setSessionID(SessionID);
-    void enableLegacyPrivateBrowsing(bool privateBrowsingEnabled);
</del><ins>+    WEBCORE_EXPORT SessionID sessionID() const;
+    WEBCORE_EXPORT void setSessionID(SessionID);
+    WEBCORE_EXPORT void enableLegacyPrivateBrowsing(bool privateBrowsingEnabled);
</ins><span class="cx">     bool usesEphemeralSession() const { return m_sessionID.isEphemeral(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    void initGroup();
</del><ins>+    WEBCORE_EXPORT void initGroup();
</ins><span class="cx"> 
</span><span class="cx">     void setIsInWindowInternal(bool);
</span><span class="cx">     void setIsVisibleInternal(bool);
</span><span class="lines">@@ -482,7 +482,7 @@
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><span class="cx">     const std::unique_ptr&lt;PointerLockController&gt; m_pointerLockController;
</span><span class="cx"> #endif
</span><del>-    RefPtr&lt;ScrollingCoordinator&gt; m_scrollingCoordinator;
</del><ins>+    WEBCORE_EXPORT RefPtr&lt;ScrollingCoordinator&gt; m_scrollingCoordinator;
</ins><span class="cx"> 
</span><span class="cx">     const RefPtr&lt;Settings&gt; m_settings;
</span><span class="cx">     const std::unique_ptr&lt;ProgressTracker&gt; m_progress;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageConsoleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageConsole.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageConsole.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/PageConsole.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -50,8 +50,8 @@
</span><span class="cx">     explicit PageConsole(Page&amp;);
</span><span class="cx">     virtual ~PageConsole();
</span><span class="cx"> 
</span><del>-    static bool shouldPrintExceptions();
-    static void setShouldPrintExceptions(bool);
</del><ins>+    WEBCORE_EXPORT static bool shouldPrintExceptions();
+    WEBCORE_EXPORT static void setShouldPrintExceptions(bool);
</ins><span class="cx"> 
</span><span class="cx">     static void mute();
</span><span class="cx">     static void unmute();
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageGrouph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageGroup.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageGroup.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/PageGroup.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -57,15 +57,15 @@
</span><span class="cx">         explicit PageGroup(Page&amp;);
</span><span class="cx">         ~PageGroup();
</span><span class="cx"> 
</span><del>-        static PageGroup* pageGroup(const String&amp; groupName);
</del><ins>+        WEBCORE_EXPORT static PageGroup* pageGroup(const String&amp; groupName);
</ins><span class="cx"> 
</span><del>-        static void closeLocalStorage();
</del><ins>+        WEBCORE_EXPORT static void closeLocalStorage();
</ins><span class="cx"> 
</span><span class="cx">         static void clearLocalStorageForAllOrigins();
</span><span class="cx">         static void clearLocalStorageForOrigin(SecurityOrigin*);
</span><del>-        static void closeIdleLocalStorageDatabases();
</del><ins>+        WEBCORE_EXPORT static void closeIdleLocalStorageDatabases();
</ins><span class="cx">         // DumpRenderTree helper that triggers a StorageArea sync.
</span><del>-        static void syncLocalStorage();
</del><ins>+        WEBCORE_EXPORT static void syncLocalStorage();
</ins><span class="cx"> 
</span><span class="cx">         const HashSet&lt;Page*&gt;&amp; pages() const { return m_pages; }
</span><span class="cx"> 
</span><span class="lines">@@ -74,16 +74,16 @@
</span><span class="cx"> 
</span><span class="cx">         VisitedLinkStore&amp; visitedLinkStore();
</span><span class="cx"> 
</span><del>-        bool isLinkVisited(LinkHash);
</del><ins>+        WEBCORE_EXPORT bool isLinkVisited(LinkHash);
</ins><span class="cx"> 
</span><span class="cx">         void addVisitedLink(const URL&amp;);
</span><span class="cx">         void addVisitedLink(const UChar*, size_t);
</span><del>-        void addVisitedLinkHash(LinkHash);
-        void removeVisitedLink(const URL&amp;);
</del><ins>+        WEBCORE_EXPORT void addVisitedLinkHash(LinkHash);
+        WEBCORE_EXPORT void removeVisitedLink(const URL&amp;);
</ins><span class="cx">         void removeVisitedLinks();
</span><span class="cx"> 
</span><del>-        static void setShouldTrackVisitedLinks(bool);
-        static void removeAllVisitedLinks();
</del><ins>+        WEBCORE_EXPORT static void setShouldTrackVisitedLinks(bool);
+        WEBCORE_EXPORT static void removeAllVisitedLinks();
</ins><span class="cx"> 
</span><span class="cx">         const String&amp; name() { return m_name; }
</span><span class="cx">         unsigned identifier() { return m_identifier; }
</span><span class="lines">@@ -93,23 +93,23 @@
</span><span class="cx"> 
</span><span class="cx">         StorageNamespace* transientLocalStorage(SecurityOrigin* topOrigin);
</span><span class="cx"> 
</span><del>-        void addUserScriptToWorld(DOMWrapperWorld&amp;, const String&amp; source, const URL&amp;, const Vector&lt;String&gt;&amp; whitelist, const Vector&lt;String&gt;&amp; blacklist, UserScriptInjectionTime, UserContentInjectedFrames);
-        void addUserStyleSheetToWorld(DOMWrapperWorld&amp;, const String&amp; source, const URL&amp;, const Vector&lt;String&gt;&amp; whitelist, const Vector&lt;String&gt;&amp; blacklist, UserContentInjectedFrames, UserStyleLevel = UserStyleUserLevel, UserStyleInjectionTime = InjectInExistingDocuments);
-        void removeUserStyleSheetFromWorld(DOMWrapperWorld&amp;, const URL&amp;);
-        void removeUserScriptFromWorld(DOMWrapperWorld&amp;, const URL&amp;);
-        void removeUserScriptsFromWorld(DOMWrapperWorld&amp;);
-        void removeUserStyleSheetsFromWorld(DOMWrapperWorld&amp;);
-        void removeAllUserContent();
</del><ins>+        WEBCORE_EXPORT void addUserScriptToWorld(DOMWrapperWorld&amp;, const String&amp; source, const URL&amp;, const Vector&lt;String&gt;&amp; whitelist, const Vector&lt;String&gt;&amp; blacklist, UserScriptInjectionTime, UserContentInjectedFrames);
+        WEBCORE_EXPORT void addUserStyleSheetToWorld(DOMWrapperWorld&amp;, const String&amp; source, const URL&amp;, const Vector&lt;String&gt;&amp; whitelist, const Vector&lt;String&gt;&amp; blacklist, UserContentInjectedFrames, UserStyleLevel = UserStyleUserLevel, UserStyleInjectionTime = InjectInExistingDocuments);
+        WEBCORE_EXPORT void removeUserStyleSheetFromWorld(DOMWrapperWorld&amp;, const URL&amp;);
+        WEBCORE_EXPORT void removeUserScriptFromWorld(DOMWrapperWorld&amp;, const URL&amp;);
+        WEBCORE_EXPORT void removeUserScriptsFromWorld(DOMWrapperWorld&amp;);
+        WEBCORE_EXPORT void removeUserStyleSheetsFromWorld(DOMWrapperWorld&amp;);
+        WEBCORE_EXPORT void removeAllUserContent();
</ins><span class="cx"> 
</span><span class="cx">         GroupSettings&amp; groupSettings() const { return *m_groupSettings; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>-        void captionPreferencesChanged();
</del><ins>+        WEBCORE_EXPORT void captionPreferencesChanged();
</ins><span class="cx">         CaptionUserPreferences* captionPreferences();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        void addVisitedLink(LinkHash);
</del><ins>+        WEBCORE_EXPORT void addVisitedLink(LinkHash);
</ins><span class="cx"> 
</span><span class="cx">         String m_name;
</span><span class="cx">         HashSet&lt;Page*&gt; m_pages;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageThrottlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageThrottler.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageThrottler.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/PageThrottler.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     void updateHysteresis();
</span><span class="cx"> 
</span><span class="cx">     friend class HysteresisActivity&lt;PageThrottler&gt;;
</span><del>-    void started();
</del><ins>+    WEBCORE_EXPORT void started();
</ins><span class="cx">     void stopped();
</span><span class="cx"> 
</span><span class="cx">     Page&amp; m_page;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePrintContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PrintContext.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PrintContext.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/PrintContext.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -35,8 +35,8 @@
</span><span class="cx"> 
</span><span class="cx"> class PrintContext {
</span><span class="cx"> public:
</span><del>-    explicit PrintContext(Frame*);
-    ~PrintContext();
</del><ins>+    WEBCORE_EXPORT explicit PrintContext(Frame*);
+    WEBCORE_EXPORT ~PrintContext();
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame() const { return m_frame; }
</span><span class="cx"> 
</span><span class="lines">@@ -44,40 +44,40 @@
</span><span class="cx">     // 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.
</span><span class="cx">     // FIXME: Header and footer height should be applied before layout, not after.
</span><span class="cx">     // FIXME: The printRect argument is only used to determine page aspect ratio, it would be better to pass a FloatSize with page dimensions instead.
</span><del>-    void computePageRects(const FloatRect&amp; printRect, float headerHeight, float footerHeight, float userScaleFactor, float&amp; outPageHeight, bool allowHorizontalTiling = false);
</del><ins>+    WEBCORE_EXPORT void computePageRects(const FloatRect&amp; printRect, float headerHeight, float footerHeight, float userScaleFactor, float&amp; outPageHeight, bool allowHorizontalTiling = false);
</ins><span class="cx"> 
</span><span class="cx">     // Deprecated. Page size computation is already in this class, clients shouldn't be copying it.
</span><del>-    void computePageRectsWithPageSize(const FloatSize&amp; pageSizeInPixels, bool allowHorizontalTiling);
</del><ins>+    WEBCORE_EXPORT void computePageRectsWithPageSize(const FloatSize&amp; pageSizeInPixels, bool allowHorizontalTiling);
</ins><span class="cx"> 
</span><span class="cx">     // These are only valid after page rects are computed.
</span><span class="cx">     size_t pageCount() const { return m_pageRects.size(); }
</span><span class="cx">     const IntRect&amp; pageRect(size_t pageNumber) const { return m_pageRects[pageNumber]; }
</span><span class="cx">     const Vector&lt;IntRect&gt;&amp; pageRects() const { return m_pageRects; }
</span><span class="cx"> 
</span><del>-    float computeAutomaticScaleFactor(const FloatSize&amp; availablePaperSize);
</del><ins>+    WEBCORE_EXPORT float computeAutomaticScaleFactor(const FloatSize&amp; availablePaperSize);
</ins><span class="cx"> 
</span><span class="cx">     // Enter print mode, updating layout for new page size.
</span><span class="cx">     // This function can be called multiple times to apply new print options without going back to screen mode.
</span><del>-    void begin(float width, float height = 0);
</del><ins>+    WEBCORE_EXPORT void begin(float width, float height = 0);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: eliminate width argument.
</span><del>-    void spoolPage(GraphicsContext&amp; ctx, int pageNumber, float width);
</del><ins>+    WEBCORE_EXPORT void spoolPage(GraphicsContext&amp; ctx, int pageNumber, float width);
</ins><span class="cx"> 
</span><del>-    void spoolRect(GraphicsContext&amp; ctx, const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT void spoolRect(GraphicsContext&amp; ctx, const IntRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Return to screen mode.
</span><del>-    void end();
</del><ins>+    WEBCORE_EXPORT void end();
</ins><span class="cx"> 
</span><span class="cx">     // Used by layout tests.
</span><del>-    static int pageNumberForElement(Element*, const FloatSize&amp; 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&amp; pageSizeInPixels);
</del><ins>+    WEBCORE_EXPORT static int pageNumberForElement(Element*, const FloatSize&amp; 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&amp; pageSizeInPixels);
</ins><span class="cx">     // Draw all pages into a graphics context with lines which mean page boundaries.
</span><span class="cx">     // The height of the graphics context should be
</span><span class="cx">     // (pageSizeInPixels.height() + 1) * number-of-pages - 1
</span><del>-    static void spoolAllPagesWithBoundaries(Frame*, GraphicsContext&amp;, const FloatSize&amp; pageSizeInPixels);
</del><ins>+    WEBCORE_EXPORT static void spoolAllPagesWithBoundaries(Frame*, GraphicsContext&amp;, const FloatSize&amp; pageSizeInPixels);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     Frame* m_frame;
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingConstraintsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">         , m_layerPositionAtLastLayout(other.m_layerPositionAtLastLayout)
</span><span class="cx">     { }
</span><span class="cx">     
</span><del>-    FloatPoint layerPositionForViewportRect(const FloatRect&amp; viewportRect) const;
</del><ins>+    WEBCORE_EXPORT FloatPoint layerPositionForViewportRect(const FloatRect&amp; viewportRect) const;
</ins><span class="cx"> 
</span><span class="cx">     const FloatRect&amp; viewportRectAtLastLayout() const { return m_viewportRectAtLastLayout; }
</span><span class="cx">     void setViewportRectAtLastLayout(const FloatRect&amp; rect) { m_viewportRectAtLastLayout = rect; }
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingStateNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -171,8 +171,8 @@
</span><span class="cx">     bool representsPlatformLayerID() const { return m_representation == PlatformLayerIDRepresentation; }
</span><span class="cx">     
</span><span class="cx"> private:
</span><del>-    void retainPlatformLayer(PlatformLayer*);
-    void releasePlatformLayer(PlatformLayer*);
</del><ins>+    WEBCORE_EXPORT void retainPlatformLayer(PlatformLayer*);
+    WEBCORE_EXPORT void releasePlatformLayer(PlatformLayer*);
</ins><span class="cx"> 
</span><span class="cx">     union {
</span><span class="cx">         GraphicsLayer* m_graphicsLayer;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformFileChooserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/FileChooser.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/FileChooser.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/FileChooser.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -78,16 +78,16 @@
</span><span class="cx"> class FileChooser : public RefCounted&lt;FileChooser&gt; {
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;FileChooser&gt; create(FileChooserClient*, const FileChooserSettings&amp;);
</span><del>-    ~FileChooser();
</del><ins>+    WEBCORE_EXPORT ~FileChooser();
</ins><span class="cx"> 
</span><span class="cx">     void invalidate();
</span><span class="cx"> 
</span><del>-    void chooseFile(const String&amp; path);
-    void chooseFiles(const Vector&lt;String&gt;&amp; paths);
</del><ins>+    WEBCORE_EXPORT void chooseFile(const String&amp; path);
+    WEBCORE_EXPORT void chooseFiles(const Vector&lt;String&gt;&amp; paths);
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: This function is almost identical to FileChooser::chooseFiles(). We should merge this
</span><span class="cx">     // function with FileChooser::chooseFiles() and hence remove the PLATFORM(IOS)-guard.
</span><del>-    void chooseMediaFiles(const Vector&lt;String&gt;&amp; paths, const String&amp; displayString, Icon*);
</del><ins>+    WEBCORE_EXPORT void chooseMediaFiles(const Vector&lt;String&gt;&amp; paths, const String&amp; displayString, Icon*);
</ins><span class="cx"> #endif    
</span><span class="cx"> 
</span><span class="cx">     // FIXME: We should probably just pass file paths that could be virtual paths with proper display names rather than passing structs.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformGamepadProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/GamepadProvider.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/GamepadProvider.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/GamepadProvider.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~GamepadProvider() { }
</span><span class="cx"> 
</span><del>-    static GamepadProvider&amp; shared();
-    static void setSharedProvider(GamepadProvider&amp;);
</del><ins>+    WEBCORE_EXPORT static GamepadProvider&amp; shared();
+    WEBCORE_EXPORT static void setSharedProvider(GamepadProvider&amp;);
</ins><span class="cx"> 
</span><span class="cx">     virtual void startMonitoringGamepads(GamepadProviderClient*);
</span><span class="cx">     virtual void stopMonitoringGamepads(GamepadProviderClient*);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLengthh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Length.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Length.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/Length.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     Length(float value, LengthType, bool hasQuirk = false);
</span><span class="cx">     Length(double value, LengthType, bool hasQuirk = false);
</span><span class="cx"> 
</span><del>-    explicit Length(PassRef&lt;CalculationValue&gt;);
</del><ins>+    WEBCORE_EXPORT explicit Length(PassRef&lt;CalculationValue&gt;);
</ins><span class="cx"> 
</span><span class="cx">     Length(const Length&amp;);
</span><span class="cx">     Length(Length&amp;&amp;);
</span><span class="lines">@@ -117,8 +117,8 @@
</span><span class="cx">     bool isCalculatedEqual(const Length&amp;) const;
</span><span class="cx">     Length blendMixedTypes(const Length&amp; from, double progress) const;
</span><span class="cx"> 
</span><del>-    void ref() const;
-    void deref() const;
</del><ins>+    WEBCORE_EXPORT void ref() const;
+    WEBCORE_EXPORT void deref() const;
</ins><span class="cx">     
</span><span class="cx">     union {
</span><span class="cx">         int m_intValue;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformMIMETypeRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/MIMETypeRegistry.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/MIMETypeRegistry.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/MIMETypeRegistry.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -35,10 +35,10 @@
</span><span class="cx"> 
</span><span class="cx"> class MIMETypeRegistry {
</span><span class="cx"> public:
</span><del>-    static String getMIMETypeForExtension(const String&amp; extension);
</del><ins>+    WEBCORE_EXPORT static String getMIMETypeForExtension(const String&amp; extension);
</ins><span class="cx"> 
</span><span class="cx">     static Vector&lt;String&gt; getExtensionsForMIMEType(const String&amp; type);
</span><del>-    static String getPreferredExtensionForMIMEType(const String&amp; type);
</del><ins>+    WEBCORE_EXPORT static String getPreferredExtensionForMIMEType(const String&amp; type);
</ins><span class="cx">     static String getMediaMIMETypeForExtension(const String&amp; extension);
</span><span class="cx">     static Vector&lt;String&gt; getMediaMIMETypesForExtension(const String&amp; extension);
</span><span class="cx"> 
</span><span class="lines">@@ -46,11 +46,11 @@
</span><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is suitable for being loaded inline as an
</span><span class="cx">     // image (e.g., &lt;img&gt; tags).
</span><del>-    static bool isSupportedImageMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool isSupportedImageMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is suitable for being loaded as an image
</span><span class="cx">     // document in a frame.
</span><del>-    static bool isSupportedImageResourceMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool isSupportedImageResourceMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is suitable for being encoded.
</span><span class="cx">     static bool isSupportedImageMIMETypeForEncoding(const String&amp; mimeType);
</span><span class="lines">@@ -61,39 +61,39 @@
</span><span class="cx"> 
</span><span class="cx">     // Check to see if a non-image mime type is suitable for being loaded as a
</span><span class="cx">     // document in a frame.  Includes supported JavaScript MIME types.
</span><del>-    static bool isSupportedNonImageMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool isSupportedNonImageMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is suitable for being loaded using &lt;video&gt; and &lt;audio&gt;
</span><del>-    static bool isSupportedMediaMIMEType(const String&amp; mimeType); 
</del><ins>+    WEBCORE_EXPORT static bool isSupportedMediaMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><span class="cx">     // Check to see if the mime type is not suitable for being loaded as a text
</span><span class="cx">     // document in a frame. Only valid for mime types begining with &quot;text/&quot;.
</span><span class="cx">     static bool isUnsupportedTextMIMEType(const String&amp; mimeType);
</span><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is a valid Java applet mime type
</span><del>-    static bool isJavaAppletMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool isJavaAppletMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is a plugin implemented by the
</span><span class="cx">     // browser (e.g. a Qt Plugin).
</span><span class="cx">     static bool isApplicationPluginMIMEType(const String&amp; mimeType);
</span><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is one of the common PDF/PS types.
</span><del>-    static bool isPDFOrPostScriptMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool isPDFOrPostScriptMIMEType(const String&amp; mimeType);
</ins><span class="cx">     static bool isPDFMIMEType(const String&amp; mimeType);
</span><span class="cx"> 
</span><span class="cx">     // Check to see if a mime type is suitable for being shown inside a page.
</span><span class="cx">     // Returns true if any of isSupportedImageMIMEType(), isSupportedNonImageMIMEType(), isSupportedMediaMIMEType() returns true
</span><span class="cx">     // or if given mime type begins with &quot;text/&quot; and isUnsupportedTextMIMEType() returns false.
</span><del>-    static bool canShowMIMEType(const String&amp; mimeType);
</del><ins>+    WEBCORE_EXPORT static bool canShowMIMEType(const String&amp; mimeType);
</ins><span class="cx"> 
</span><del>-    static HashSet&lt;String&gt;&amp; getSupportedImageMIMETypes();
</del><ins>+    WEBCORE_EXPORT static HashSet&lt;String&gt;&amp; getSupportedImageMIMETypes();
</ins><span class="cx">     static HashSet&lt;String&gt;&amp; getSupportedImageResourceMIMETypes();
</span><span class="cx">     static HashSet&lt;String&gt;&amp; getSupportedImageMIMETypesForEncoding();
</span><del>-    static HashSet&lt;String&gt;&amp; getSupportedNonImageMIMETypes();
</del><ins>+    WEBCORE_EXPORT static HashSet&lt;String&gt;&amp; getSupportedNonImageMIMETypes();
</ins><span class="cx">     static HashSet&lt;String&gt;&amp; getSupportedMediaMIMETypes();
</span><del>-    static HashSet&lt;String&gt;&amp; getPDFMIMETypes();
</del><ins>+    WEBCORE_EXPORT static HashSet&lt;String&gt;&amp; getPDFMIMETypes();
</ins><span class="cx">     static HashSet&lt;String&gt;&amp; getPDFAndPostScriptMIMETypes();
</span><del>-    static HashSet&lt;String&gt;&amp; getUnsupportedTextMIMETypes();
</del><ins>+    WEBCORE_EXPORT static HashSet&lt;String&gt;&amp; getUnsupportedTextMIMETypes();
</ins><span class="cx"> 
</span><span class="cx">     static String getNormalizedMIMEType(const String&amp;);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformMemoryPressureHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/MemoryPressureHandler.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/MemoryPressureHandler.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/MemoryPressureHandler.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> public:
</span><span class="cx">     friend MemoryPressureHandler&amp; memoryPressureHandler();
</span><span class="cx"> 
</span><del>-    void install();
</del><ins>+    WEBCORE_EXPORT void install();
</ins><span class="cx"> 
</span><span class="cx">     void setLowMemoryHandler(LowMemoryHandler handler)
</span><span class="cx">     {
</span><span class="lines">@@ -64,10 +64,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: Can we share more of this with OpenSource?
</span><del>-    void installMemoryReleaseBlock(void (^releaseMemoryBlock)(), bool clearPressureOnMemoryRelease = true);
-    void setReceivedMemoryPressure(MemoryPressureReason);
-    void clearMemoryPressure();
-    bool shouldWaitForMemoryClearMessage();
</del><ins>+    WEBCORE_EXPORT void installMemoryReleaseBlock(void (^releaseMemoryBlock)(), bool clearPressureOnMemoryRelease = true);
+    WEBCORE_EXPORT void setReceivedMemoryPressure(MemoryPressureReason);
+    WEBCORE_EXPORT void clearMemoryPressure();
+    WEBCORE_EXPORT bool shouldWaitForMemoryClearMessage();
</ins><span class="cx">     void respondToMemoryPressureIfNeeded();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">         static bool s_loggingEnabled;
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    static void releaseMemory(bool critical);
</del><ins>+    WEBCORE_EXPORT static void releaseMemory(bool critical);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static void releaseNoncriticalMemory();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Pasteboard.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Pasteboard.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/Pasteboard.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> 
</span><span class="cx"> struct PasteboardWebContent {
</span><span class="cx"> #if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(WIN))
</span><del>-    PasteboardWebContent();
-    ~PasteboardWebContent();
</del><ins>+    WEBCORE_EXPORT PasteboardWebContent();
+    WEBCORE_EXPORT ~PasteboardWebContent();
</ins><span class="cx">     bool canSmartCopyOrDelete;
</span><span class="cx">     RefPtr&lt;SharedBuffer&gt; dataInWebArchiveFormat;
</span><span class="cx">     RefPtr&lt;SharedBuffer&gt; dataInRTFDFormat;
</span><span class="lines">@@ -89,8 +89,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> struct PasteboardImage {
</span><del>-    PasteboardImage();
-    ~PasteboardImage();
</del><ins>+    WEBCORE_EXPORT PasteboardImage();
+    WEBCORE_EXPORT ~PasteboardImage();
</ins><span class="cx">     RefPtr&lt;Image&gt; image;
</span><span class="cx"> #if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(WIN))
</span><span class="cx">     PasteboardURL url;
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx"> public:
</span><span class="cx">     ~Pasteboard();
</span><span class="cx"> 
</span><del>-    static PassOwnPtr&lt;Pasteboard&gt; createForCopyAndPaste();
</del><ins>+    WEBCORE_EXPORT static PassOwnPtr&lt;Pasteboard&gt; createForCopyAndPaste();
</ins><span class="cx">     static PassOwnPtr&lt;Pasteboard&gt; createPrivate(); // Temporary pasteboard. Can put data on this and then write to another pasteboard with writePasteboard.
</span><span class="cx"> 
</span><span class="cx">     bool hasData();
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx"> 
</span><span class="cx">     void writeMarkup(const String&amp; markup);
</span><span class="cx">     enum SmartReplaceOption { CanSmartReplace, CannotSmartReplace };
</span><del>-    void writePlainText(const String&amp;, SmartReplaceOption); // FIXME: Two separate functions would be clearer than one function with an argument.
</del><ins>+    WEBCORE_EXPORT void writePlainText(const String&amp;, SmartReplaceOption); // FIXME: Two separate functions would be clearer than one function with an argument.
</ins><span class="cx">     void writePasteboard(const Pasteboard&amp; sourcePasteboard);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformExportMacrosh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformExportMacros.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformExportMacros.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/PlatformExportMacros.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -69,18 +69,4 @@
</span><span class="cx"> 
</span><span class="cx"> #endif // USE(EXPORT_MACROS)
</span><span class="cx"> 
</span><del>-#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)
-
</del><span class="cx"> #endif // PlatformExportMacros_h
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformKeyboardEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformKeyboardEvent.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformKeyboardEvent.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/PlatformKeyboardEvent.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        void disambiguateKeyDownEvent(Type, bool backwardCompatibilityMode = false); // Only used on platforms that need it, i.e. those that generate KeyDown events.
</del><ins>+        WEBCORE_EXPORT void disambiguateKeyDownEvent(Type, bool backwardCompatibilityMode = false); // Only used on platforms that need it, i.e. those that generate KeyDown events.
</ins><span class="cx"> 
</span><span class="cx">         // Text as as generated by processing a virtual key code with a keyboard layout
</span><span class="cx">         // (in most cases, just a character code, but the layout can emit several
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformPasteboard.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformPasteboard.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/PlatformPasteboard.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -50,36 +50,36 @@
</span><span class="cx"> class PlatformPasteboard {
</span><span class="cx"> public:
</span><span class="cx">     // FIXME: probably we don't need a constructor that takes a pasteboard name for iOS.
</span><del>-    explicit PlatformPasteboard(const String&amp; pasteboardName);
</del><ins>+    WEBCORE_EXPORT explicit PlatformPasteboard(const String&amp; pasteboardName);
</ins><span class="cx"> #if PLATFORM(IOS)
</span><del>-    PlatformPasteboard();
</del><ins>+    WEBCORE_EXPORT PlatformPasteboard();
</ins><span class="cx"> #endif
</span><del>-    static String uniqueName();
</del><ins>+    WEBCORE_EXPORT static String uniqueName();
</ins><span class="cx">     
</span><del>-    void getTypes(Vector&lt;String&gt;&amp; types);
-    PassRefPtr&lt;SharedBuffer&gt; bufferForType(const String&amp; pasteboardType);
-    void getPathnamesForType(Vector&lt;String&gt;&amp; pathnames, const String&amp; pasteboardType);
-    String stringForType(const String&amp; pasteboardType);
-    long changeCount() const;
-    Color color();
-    URL url();
</del><ins>+    WEBCORE_EXPORT void getTypes(Vector&lt;String&gt;&amp; types);
+    WEBCORE_EXPORT PassRefPtr&lt;SharedBuffer&gt; bufferForType(const String&amp; pasteboardType);
+    WEBCORE_EXPORT void getPathnamesForType(Vector&lt;String&gt;&amp; pathnames, const String&amp; pasteboardType);
+    WEBCORE_EXPORT String stringForType(const String&amp; pasteboardType);
+    WEBCORE_EXPORT long changeCount() const;
+    WEBCORE_EXPORT Color color();
+    WEBCORE_EXPORT URL url();
</ins><span class="cx"> 
</span><span class="cx">     // Take ownership of the pasteboard, and return new change count.
</span><del>-    long addTypes(const Vector&lt;String&gt;&amp; pasteboardTypes);
-    long setTypes(const Vector&lt;String&gt;&amp; pasteboardTypes);
</del><ins>+    WEBCORE_EXPORT long addTypes(const Vector&lt;String&gt;&amp; pasteboardTypes);
+    WEBCORE_EXPORT long setTypes(const Vector&lt;String&gt;&amp; pasteboardTypes);
</ins><span class="cx"> 
</span><span class="cx">     // These methods will return 0 if pasteboard ownership has been taken from us.
</span><del>-    long copy(const String&amp; fromPasteboard);
-    long setBufferForType(PassRefPtr&lt;SharedBuffer&gt;, const String&amp; pasteboardType);
-    long setPathnamesForType(const Vector&lt;String&gt;&amp; pathnames, const String&amp; pasteboardType);
-    long setStringForType(const String&amp;, const String&amp; pasteboardType);
-    void write(const PasteboardWebContent&amp;);
-    void write(const PasteboardImage&amp;);
-    void write(const String&amp; pasteboardType, const String&amp;);
-    PassRefPtr&lt;SharedBuffer&gt; readBuffer(int index, const String&amp; pasteboardType);
-    String readString(int index, const String&amp; pasteboardType);
-    URL readURL(int index, const String&amp; pasteboardType);
-    int count();
</del><ins>+    WEBCORE_EXPORT long copy(const String&amp; fromPasteboard);
+    WEBCORE_EXPORT long setBufferForType(PassRefPtr&lt;SharedBuffer&gt;, const String&amp; pasteboardType);
+    WEBCORE_EXPORT long setPathnamesForType(const Vector&lt;String&gt;&amp; pathnames, const String&amp; pasteboardType);
+    WEBCORE_EXPORT long setStringForType(const String&amp;, const String&amp; pasteboardType);
+    WEBCORE_EXPORT void write(const PasteboardWebContent&amp;);
+    WEBCORE_EXPORT void write(const PasteboardImage&amp;);
+    WEBCORE_EXPORT void write(const String&amp; pasteboardType, const String&amp;);
+    WEBCORE_EXPORT PassRefPtr&lt;SharedBuffer&gt; readBuffer(int index, const String&amp; pasteboardType);
+    WEBCORE_EXPORT String readString(int index, const String&amp; pasteboardType);
+    WEBCORE_EXPORT URL readURL(int index, const String&amp; pasteboardType);
+    WEBCORE_EXPORT int count();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> #if PLATFORM(MAC)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformSpeechSynthesisVoiceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformSpeechSynthesisVoice.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformSpeechSynthesisVoice.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/PlatformSpeechSynthesisVoice.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformSpeechSynthesisVoice : public RefCounted&lt;PlatformSpeechSynthesisVoice&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;PlatformSpeechSynthesisVoice&gt; create(const String&amp; voiceURI, const String&amp; name, const String&amp; lang, bool localService, bool isDefault);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;PlatformSpeechSynthesisVoice&gt; create(const String&amp; voiceURI, const String&amp; name, const String&amp; lang, bool localService, bool isDefault);
</ins><span class="cx">     static PassRefPtr&lt;PlatformSpeechSynthesisVoice&gt; create();
</span><span class="cx"> 
</span><span class="cx">     const String&amp; voiceURI() const { return m_voiceURI; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformSpeechSynthesizerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformSpeechSynthesizer.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformSpeechSynthesizer.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/PlatformSpeechSynthesizer.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -66,11 +66,11 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformSpeechSynthesizer {
</span><span class="cx"> public:
</span><del>-    explicit PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient*);
</del><ins>+    WEBCORE_EXPORT explicit PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient*);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: We have multiple virtual functions just so we can support a mock for testing.
</span><span class="cx">     // Seems wasteful. Would be nice to find a better way.
</span><del>-    virtual ~PlatformSpeechSynthesizer();
</del><ins>+    WEBCORE_EXPORT virtual ~PlatformSpeechSynthesizer();
</ins><span class="cx">     
</span><span class="cx">     const Vector&lt;RefPtr&lt;PlatformSpeechSynthesisVoice&gt;&gt;&amp; voiceList() const;
</span><span class="cx">     virtual void speak(PassRefPtr&lt;PlatformSpeechSynthesisUtterance&gt;);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioMediaSessionManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/MediaSessionManager.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/MediaSessionManager.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/audio/MediaSessionManager.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -42,18 +42,18 @@
</span><span class="cx"> 
</span><span class="cx"> class MediaSessionManager : private RemoteCommandListenerClient, private SystemSleepListener::Client, private AudioHardwareListener::Client {
</span><span class="cx"> public:
</span><del>-    static MediaSessionManager&amp; sharedManager();
</del><ins>+    WEBCORE_EXPORT static MediaSessionManager&amp; sharedManager();
</ins><span class="cx">     virtual ~MediaSessionManager() { }
</span><span class="cx"> 
</span><span class="cx">     bool has(MediaSession::MediaType) const;
</span><span class="cx">     int count(MediaSession::MediaType) const;
</span><span class="cx">     bool activeAudioSessionRequired() const;
</span><span class="cx"> 
</span><del>-    void beginInterruption(MediaSession::InterruptionType);
-    void endInterruption(MediaSession::EndInterruptionFlags);
</del><ins>+    WEBCORE_EXPORT void beginInterruption(MediaSession::InterruptionType);
+    WEBCORE_EXPORT void endInterruption(MediaSession::EndInterruptionFlags);
</ins><span class="cx"> 
</span><del>-    void applicationWillEnterForeground() const;
-    void applicationWillEnterBackground() const;
</del><ins>+    WEBCORE_EXPORT void applicationWillEnterForeground() const;
+    WEBCORE_EXPORT void applicationWillEnterBackground() const;
</ins><span class="cx">     void wirelessRoutesAvailableChanged();
</span><span class="cx"> 
</span><span class="cx">     enum SessionRestrictionFlags {
</span><span class="lines">@@ -66,9 +66,9 @@
</span><span class="cx">     };
</span><span class="cx">     typedef unsigned SessionRestrictions;
</span><span class="cx">     
</span><del>-    void addRestriction(MediaSession::MediaType, SessionRestrictions);
-    void removeRestriction(MediaSession::MediaType, SessionRestrictions);
-    SessionRestrictions restrictions(MediaSession::MediaType);
</del><ins>+    WEBCORE_EXPORT void addRestriction(MediaSession::MediaType, SessionRestrictions);
+    WEBCORE_EXPORT void removeRestriction(MediaSession::MediaType, SessionRestrictions);
+    WEBCORE_EXPORT SessionRestrictions restrictions(MediaSession::MediaType);
</ins><span class="cx">     virtual void resetRestrictions();
</span><span class="cx"> 
</span><span class="cx">     virtual void sessionWillBeginPlayback(MediaSession&amp;);
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     void updateSessionState();
</span><span class="cx"> 
</span><span class="cx">     // RemoteCommandListenerClient
</span><del>-    virtual void didReceiveRemoteControlCommand(MediaSession::RemoteControlCommandType) override;
</del><ins>+    WEBCORE_EXPORT virtual void didReceiveRemoteControlCommand(MediaSession::RemoteControlCommandType) override;
</ins><span class="cx"> 
</span><span class="cx">     // AudioHardwareListenerClient
</span><span class="cx">     virtual void audioHardwareDidBecomeActive() override { }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFloatPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FloatPoint.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FloatPoint.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FloatPoint.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> public:
</span><span class="cx">     FloatPoint() : m_x(0), m_y(0) { }
</span><span class="cx">     FloatPoint(float x, float y) : m_x(x), m_y(y) { }
</span><del>-    FloatPoint(const IntPoint&amp;);
</del><ins>+    WEBCORE_EXPORT FloatPoint(const IntPoint&amp;);
</ins><span class="cx">     explicit FloatPoint(const FloatSize&amp; size) : m_x(size.width()), m_y(size.height()) { }
</span><span class="cx"> 
</span><span class="cx">     static FloatPoint zero() { return FloatPoint(); }
</span><span class="lines">@@ -132,13 +132,13 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    FloatPoint(const CGPoint&amp;);
-    operator CGPoint() const;
</del><ins>+    WEBCORE_EXPORT FloatPoint(const CGPoint&amp;);
+    WEBCORE_EXPORT operator CGPoint() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    FloatPoint(const NSPoint&amp;);
-    operator NSPoint() const;
</del><ins>+    WEBCORE_EXPORT FloatPoint(const NSPoint&amp;);
+    WEBCORE_EXPORT operator NSPoint() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     FloatPoint matrixTransform(const TransformationMatrix&amp;) const;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFloatQuadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FloatQuad.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FloatQuad.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FloatQuad.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -78,15 +78,15 @@
</span><span class="cx">     // that is, if two edges are parallel to the x-axis and the other two
</span><span class="cx">     // are parallel to the y-axis. If this method returns true, the
</span><span class="cx">     // corresponding FloatRect can be retrieved with boundingBox().
</span><del>-    bool isRectilinear() const;
</del><ins>+    WEBCORE_EXPORT bool isRectilinear() const;
</ins><span class="cx"> 
</span><span class="cx">     // Tests whether the given point is inside, or on an edge or corner of this quad.
</span><del>-    bool containsPoint(const FloatPoint&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool containsPoint(const FloatPoint&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     // Tests whether the four corners of other are inside, or coincident with the sides of this quad.
</span><span class="cx">     // Note that this only works for convex quads, but that includes all quads that originate
</span><span class="cx">     // from transformed rects.
</span><del>-    bool containsQuad(const FloatQuad&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool containsQuad(const FloatQuad&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     // Tests whether any part of the rectangle intersects with this quad.
</span><span class="cx">     // This only works for convex quads.
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">                           (m_p1.y() + m_p2.y() + m_p3.y() + m_p4.y()) / 4.0);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    FloatRect boundingBox() const;
</del><ins>+    WEBCORE_EXPORT FloatRect boundingBox() const;
</ins><span class="cx">     IntRect enclosingBoundingBox() const
</span><span class="cx">     {
</span><span class="cx">         return enclosingIntRect(boundingBox());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFloatRecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FloatRect.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FloatRect.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FloatRect.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">         : m_location(location), m_size(size) { }
</span><span class="cx">     FloatRect(float x, float y, float width, float height)
</span><span class="cx">         : m_location(FloatPoint(x, y)), m_size(FloatSize(width, height)) { }
</span><del>-    FloatRect(const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT FloatRect(const IntRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static FloatRect narrowPrecision(double x, double y, double width, double height);
</span><span class="cx"> 
</span><span class="lines">@@ -127,12 +127,12 @@
</span><span class="cx">     FloatPoint minXMaxYCorner() const { return FloatPoint(m_location.x(), m_location.y() + m_size.height()); } // typically bottomLeft
</span><span class="cx">     FloatPoint maxXMaxYCorner() const { return FloatPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
</span><span class="cx"> 
</span><del>-    bool intersects(const FloatRect&amp;) const;
-    bool contains(const FloatRect&amp;) const;
-    bool contains(const FloatPoint&amp;, ContainsMode = InsideOrOnStroke) const;
</del><ins>+    WEBCORE_EXPORT bool intersects(const FloatRect&amp;) const;
+    WEBCORE_EXPORT bool contains(const FloatRect&amp;) const;
+    WEBCORE_EXPORT bool contains(const FloatPoint&amp;, ContainsMode = InsideOrOnStroke) const;
</ins><span class="cx"> 
</span><del>-    void intersect(const FloatRect&amp;);
-    void unite(const FloatRect&amp;);
</del><ins>+    WEBCORE_EXPORT void intersect(const FloatRect&amp;);
+    WEBCORE_EXPORT void unite(const FloatRect&amp;);
</ins><span class="cx">     void uniteEvenIfEmpty(const FloatRect&amp;);
</span><span class="cx">     void uniteIfNonZero(const FloatRect&amp;);
</span><span class="cx">     void extend(const FloatPoint&amp;);
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">     }
</span><span class="cx">     void inflate(float d) { inflateX(d); inflateY(d); }
</span><span class="cx">     void scale(float s) { scale(s, s); }
</span><del>-    void scale(float sx, float sy);
</del><ins>+    WEBCORE_EXPORT void scale(float sx, float sy);
</ins><span class="cx"> 
</span><span class="cx">     FloatRect transposedRect() const { return FloatRect(m_location.transposedPoint(), m_size.transposedSize()); }
</span><span class="cx"> 
</span><span class="lines">@@ -165,13 +165,13 @@
</span><span class="cx">     void fitToPoints(const FloatPoint&amp; p0, const FloatPoint&amp; p1, const FloatPoint&amp; p2, const FloatPoint&amp; p3);
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    FloatRect(const CGRect&amp;);
-    operator CGRect() const;
</del><ins>+    WEBCORE_EXPORT FloatRect(const CGRect&amp;);
+    WEBCORE_EXPORT operator CGRect() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    FloatRect(const NSRect&amp;);
-    operator NSRect() const;
</del><ins>+    WEBCORE_EXPORT FloatRect(const NSRect&amp;);
+    WEBCORE_EXPORT operator NSRect() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(CAIRO)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFloatSizeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FloatSize.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FloatSize.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FloatSize.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> public:
</span><span class="cx">     FloatSize() : m_width(0), m_height(0) { }
</span><span class="cx">     FloatSize(float width, float height) : m_width(width), m_height(height) { }
</span><del>-    FloatSize(const IntSize&amp;);
</del><ins>+    WEBCORE_EXPORT FloatSize(const IntSize&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static FloatSize narrowPrecision(double width, double height);
</span><span class="cx"> 
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">     void setHeight(float height) { m_height = height; }
</span><span class="cx"> 
</span><span class="cx">     bool isEmpty() const { return m_width &lt;= 0 || m_height &lt;= 0; }
</span><del>-    bool isZero() const;
</del><ins>+    WEBCORE_EXPORT bool isZero() const;
</ins><span class="cx">     bool isExpressibleAsIntSize() const;
</span><span class="cx"> 
</span><span class="cx">     float aspectRatio() const { return m_width / m_height; }
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">            m_height &lt; other.m_height ? m_height : other.m_height);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    float diagonalLength() const;
</del><ins>+    WEBCORE_EXPORT float diagonalLength() const;
</ins><span class="cx">     float diagonalLengthSquared() const
</span><span class="cx">     {
</span><span class="cx">         return m_width * m_width + m_height * m_height;
</span><span class="lines">@@ -109,12 +109,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    explicit FloatSize(const CGSize&amp;); // don't do this implicitly since it's lossy
-    operator CGSize() const;
</del><ins>+    WEBCORE_EXPORT explicit FloatSize(const CGSize&amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGSize() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    explicit FloatSize(const NSSize &amp;); // don't do this implicitly since it's lossy
</del><ins>+    WEBCORE_EXPORT explicit FloatSize(const NSSize &amp;); // don't do this implicitly since it's lossy
</ins><span class="cx">     operator NSSize() const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Font.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -108,10 +108,10 @@
</span><span class="cx"> 
</span><span class="cx"> class Font {
</span><span class="cx"> public:
</span><del>-    Font();
-    Font(const FontDescription&amp;, float letterSpacing, float wordSpacing);
</del><ins>+    WEBCORE_EXPORT Font();
+    WEBCORE_EXPORT Font(const FontDescription&amp;, float letterSpacing, float wordSpacing);
</ins><span class="cx">     // This constructor is only used if the platform wants to start with a native font.
</span><del>-    Font(const FontPlatformData&amp;, bool isPrinting, FontSmoothingMode = AutoSmoothing);
</del><ins>+    WEBCORE_EXPORT Font(const FontPlatformData&amp;, bool isPrinting, FontSmoothingMode = AutoSmoothing);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: We should make this constructor platform-independent.
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -120,9 +120,9 @@
</span><span class="cx">     ~Font();
</span><span class="cx"> 
</span><span class="cx">     Font(const Font&amp;);
</span><del>-    Font&amp; operator=(const Font&amp;);
</del><ins>+    WEBCORE_EXPORT Font&amp; operator=(const Font&amp;);
</ins><span class="cx"> 
</span><del>-    bool operator==(const Font&amp; other) const;
</del><ins>+    WEBCORE_EXPORT bool operator==(const Font&amp; other) const;
</ins><span class="cx">     bool operator!=(const Font&amp; other) const { return !(*this == other); }
</span><span class="cx"> 
</span><span class="cx">     const FontDescription&amp; fontDescription() const { return m_fontDescription; }
</span><span class="lines">@@ -133,13 +133,13 @@
</span><span class="cx">     void update(PassRefPtr&lt;FontSelector&gt;) const;
</span><span class="cx"> 
</span><span class="cx">     enum CustomFontNotReadyAction { DoNotPaintIfFontNotReady, UseFallbackIfFontNotReady };
</span><del>-    float drawText(GraphicsContext*, const TextRun&amp;, const FloatPoint&amp;, int from = 0, int to = -1, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const;
</del><ins>+    WEBCORE_EXPORT float drawText(GraphicsContext*, const TextRun&amp;, const FloatPoint&amp;, int from = 0, int to = -1, CustomFontNotReadyAction = DoNotPaintIfFontNotReady) const;
</ins><span class="cx">     void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&amp;, int from, int numGlyphs, const FloatPoint&amp;) const;
</span><span class="cx">     void drawEmphasisMarks(GraphicsContext*, const TextRun&amp;, const AtomicString&amp; mark, const FloatPoint&amp;, int from = 0, int to = -1) const;
</span><span class="cx"> 
</span><span class="cx">     DashArray dashesForIntersectionsWithRect(const TextRun&amp;, const FloatPoint&amp; textOrigin, const FloatRect&amp; lineExtents) const;
</span><span class="cx"> 
</span><del>-    float width(const TextRun&amp;, HashSet&lt;const SimpleFontData*&gt;* fallbackFonts = 0, GlyphOverflow* = 0) const;
</del><ins>+    WEBCORE_EXPORT float width(const TextRun&amp;, HashSet&lt;const SimpleFontData*&gt;* fallbackFonts = 0, GlyphOverflow* = 0) const;
</ins><span class="cx">     float width(const TextRun&amp;, int&amp; charsConsumed, String&amp; glyphName) const;
</span><span class="cx"> 
</span><span class="cx">     PassOwnPtr&lt;TextLayout&gt; createLayout(RenderText*, float xPos, bool collapseWhiteSpace) const;
</span><span class="lines">@@ -204,8 +204,8 @@
</span><span class="cx">     static unsigned expansionOpportunityCount(const LChar*, size_t length, TextDirection, bool&amp; isAfterExpansion);
</span><span class="cx">     static unsigned expansionOpportunityCount(const UChar*, size_t length, TextDirection, bool&amp; isAfterExpansion);
</span><span class="cx"> 
</span><del>-    static void setShouldUseSmoothing(bool);
-    static bool shouldUseSmoothing();
</del><ins>+    WEBCORE_EXPORT static void setShouldUseSmoothing(bool);
+    WEBCORE_EXPORT static bool shouldUseSmoothing();
</ins><span class="cx"> 
</span><span class="cx">     enum CodePath { Auto, Simple, Complex, SimpleWithGlyphOverflow };
</span><span class="cx">     CodePath codePath(const TextRun&amp;) const;
</span><span class="lines">@@ -254,11 +254,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Useful for debugging the different font rendering code paths.
</span><del>-    static void setCodePath(CodePath);
</del><ins>+    WEBCORE_EXPORT static void setCodePath(CodePath);
</ins><span class="cx">     static CodePath codePath();
</span><span class="cx">     static CodePath s_codePath;
</span><span class="cx"> 
</span><del>-    static void setDefaultTypesettingFeatures(TypesettingFeatures);
</del><ins>+    WEBCORE_EXPORT static void setDefaultTypesettingFeatures(TypesettingFeatures);
</ins><span class="cx">     static TypesettingFeatures defaultTypesettingFeatures();
</span><span class="cx"> 
</span><span class="cx">     static const uint8_t s_roundingHackCharacterTable[256];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCache.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCache.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FontCache.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -134,18 +134,18 @@
</span><span class="cx">     void getTraitsInFamily(const AtomicString&amp;, Vector&lt;unsigned&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;SimpleFontData&gt; getCachedFontData(const FontDescription&amp;, const AtomicString&amp;, bool checkingAlternateName = false, ShouldRetain = Retain);
</span><del>-    PassRefPtr&lt;SimpleFontData&gt; getLastResortFallbackFont(const FontDescription&amp;, ShouldRetain = Retain);
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;SimpleFontData&gt; getLastResortFallbackFont(const FontDescription&amp;, ShouldRetain = Retain);
</ins><span class="cx">     SimpleFontData* getNonRetainedLastResortFallbackFont(const FontDescription&amp;);
</span><span class="cx"> 
</span><span class="cx">     void addClient(FontSelector*);
</span><span class="cx">     void removeClient(FontSelector*);
</span><span class="cx"> 
</span><span class="cx">     unsigned short generation();
</span><del>-    void invalidate();
</del><ins>+    WEBCORE_EXPORT void invalidate();
</ins><span class="cx"> 
</span><del>-    size_t fontDataCount();
-    size_t inactiveFontDataCount();
-    void purgeInactiveFontData(int count = INT_MAX);
</del><ins>+    WEBCORE_EXPORT size_t fontDataCount();
+    WEBCORE_EXPORT size_t inactiveFontDataCount();
+    WEBCORE_EXPORT void purgeInactiveFontData(int count = INT_MAX);
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="cx">     PassRefPtr&lt;SimpleFontData&gt; fontDataFromDescriptionAndLogFont(const FontDescription&amp;, ShouldRetain, const LOGFONT&amp;, AtomicString&amp; outFontFamilyName);
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx">             purgeInactiveFontDataIfNeeded();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void purgeInactiveFontDataIfNeeded();
</del><ins>+    void WEBCORE_EXPORT purgeInactiveFontDataIfNeeded();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: This method should eventually be removed.
</span><span class="cx">     FontPlatformData* getCachedFontPlatformData(const FontDescription&amp;, const AtomicString&amp; family, bool checkingAlternateName = false);
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">     PassRefPtr&lt;SimpleFontData&gt; similarFontPlatformData(const FontDescription&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;SimpleFontData&gt; getCachedFontData(const FontPlatformData*, ShouldRetain = Retain);
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;SimpleFontData&gt; getCachedFontData(const FontPlatformData*, ShouldRetain = Retain);
</ins><span class="cx"> 
</span><span class="cx">     // Don't purge if this count is &gt; 0;
</span><span class="cx">     int m_purgePreventCount;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontGlyphsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontGlyphs.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontGlyphs.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FontGlyphs.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -91,13 +91,13 @@
</span><span class="cx"> 
</span><span class="cx">     const SimpleFontData* primarySimpleFontData(const FontDescription&amp;) const;
</span><span class="cx">     const FontData* primaryFontData(const FontDescription&amp; description) const { return realizeFontDataAt(description, 0); }
</span><del>-    const FontData* realizeFontDataAt(const FontDescription&amp;, unsigned index) const;
</del><ins>+    WEBCORE_EXPORT const FontData* realizeFontDataAt(const FontDescription&amp;, unsigned index) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     FontGlyphs(PassRefPtr&lt;FontSelector&gt;);
</span><span class="cx">     FontGlyphs(const FontPlatformData&amp;);
</span><span class="cx"> 
</span><del>-    void releaseFontData();
</del><ins>+    WEBCORE_EXPORT void releaseFontData();
</ins><span class="cx">     
</span><span class="cx">     mutable Vector&lt;RefPtr&lt;FontData&gt;, 1&gt; m_realizedFontData;
</span><span class="cx">     mutable GlyphPages m_pages;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontPlatformDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontPlatformData.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontPlatformData.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/FontPlatformData.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -96,10 +96,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if OS(DARWIN)
</span><span class="cx"> #if USE(APPKIT)
</span><del>-    FontPlatformData(NSFont*, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
</del><ins>+    WEBCORE_EXPORT FontPlatformData(NSFont*, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
</ins><span class="cx">                      FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
</span><span class="cx"> #else
</span><del>-    FontPlatformData(CTFontRef, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
</del><ins>+    WEBCORE_EXPORT FontPlatformData(CTFontRef, float size, bool isPrinterFont = false, bool syntheticBold = false, bool syntheticOblique = false,
</ins><span class="cx">                      FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">     FontPlatformData(CTFontRef, float size, bool syntheticBold = false, bool syntheticOblique = false, FontOrientation = Horizontal, FontWidthVariant = RegularWidth);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    ~FontPlatformData();
</del><ins>+    WEBCORE_EXPORT ~FontPlatformData();
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="cx">     HFONT hfont() const { return m_font ? m_font-&gt;get() : 0; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGlyphPageTreeNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GlyphPageTreeNode.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GlyphPageTreeNode.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/GlyphPageTreeNode.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     // The system fallback font has special rules (see above).
</span><span class="cx">     bool isSystemFallback() const { return m_isSystemFallback; }
</span><span class="cx"> 
</span><del>-    static size_t treeGlyphPageCount();
</del><ins>+    WEBCORE_EXPORT static size_t treeGlyphPageCount();
</ins><span class="cx">     size_t pageCount() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGradienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Gradient.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Gradient.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Gradient.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -65,10 +65,10 @@
</span><span class="cx">         {
</span><span class="cx">             return adoptRef(new Gradient(p0, r0, p1, r1, aspectRatio));
</span><span class="cx">         }
</span><del>-        ~Gradient();
</del><ins>+        WEBCORE_EXPORT ~Gradient();
</ins><span class="cx"> 
</span><span class="cx">         struct ColorStop;
</span><del>-        void addColorStop(const ColorStop&amp;);
</del><ins>+        WEBCORE_EXPORT void addColorStop(const ColorStop&amp;);
</ins><span class="cx">         void addColorStop(float, const Color&amp;);
</span><span class="cx"> 
</span><span class="cx">         bool hasAlpha() const;
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        Gradient(const FloatPoint&amp; p0, const FloatPoint&amp; p1);
</del><ins>+        WEBCORE_EXPORT Gradient(const FloatPoint&amp; p0, const FloatPoint&amp; p1);
</ins><span class="cx">         Gradient(const FloatPoint&amp; p0, float r0, const FloatPoint&amp; p1, float r1, float aspectRatio);
</span><span class="cx"> 
</span><span class="cx">         void platformInit() { m_gradient = 0; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -228,13 +228,13 @@
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(GraphicsContext); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>-        GraphicsContext(PlatformGraphicsContext*);
</del><ins>+        WEBCORE_EXPORT GraphicsContext(PlatformGraphicsContext*);
</ins><span class="cx"> #else
</span><del>-        GraphicsContext(PlatformGraphicsContext*, bool shouldUseContextColors = true);
</del><ins>+        WEBCORE_EXPORT GraphicsContext(PlatformGraphicsContext*, bool shouldUseContextColors = true);
</ins><span class="cx"> #endif
</span><del>-        ~GraphicsContext();
</del><ins>+        WEBCORE_EXPORT ~GraphicsContext();
</ins><span class="cx"> 
</span><del>-        PlatformGraphicsContext* platformContext() const;
</del><ins>+        WEBCORE_EXPORT PlatformGraphicsContext* platformContext() const;
</ins><span class="cx"> 
</span><span class="cx">         float strokeThickness() const;
</span><span class="cx">         void setStrokeThickness(float);
</span><span class="lines">@@ -242,7 +242,7 @@
</span><span class="cx">         void setStrokeStyle(StrokeStyle);
</span><span class="cx">         Color strokeColor() const;
</span><span class="cx">         ColorSpace strokeColorSpace() const;
</span><del>-        void setStrokeColor(const Color&amp;, ColorSpace);
</del><ins>+        WEBCORE_EXPORT void setStrokeColor(const Color&amp;, ColorSpace);
</ins><span class="cx"> 
</span><span class="cx">         void setStrokePattern(PassRefPtr&lt;Pattern&gt;);
</span><span class="cx">         Pattern* strokePattern() const;
</span><span class="lines">@@ -254,21 +254,21 @@
</span><span class="cx">         void setFillRule(WindRule);
</span><span class="cx">         Color fillColor() const;
</span><span class="cx">         ColorSpace fillColorSpace() const;
</span><del>-        void setFillColor(const Color&amp;, ColorSpace);
</del><ins>+        WEBCORE_EXPORT void setFillColor(const Color&amp;, ColorSpace);
</ins><span class="cx"> 
</span><span class="cx">         void setFillPattern(PassRefPtr&lt;Pattern&gt;);
</span><span class="cx">         Pattern* fillPattern() const;
</span><span class="cx"> 
</span><del>-        void setFillGradient(PassRefPtr&lt;Gradient&gt;);
</del><ins>+        WEBCORE_EXPORT void setFillGradient(PassRefPtr&lt;Gradient&gt;);
</ins><span class="cx">         Gradient* fillGradient() const;
</span><span class="cx"> 
</span><span class="cx">         void setShadowsIgnoreTransforms(bool);
</span><span class="cx">         bool shadowsIgnoreTransforms() const;
</span><span class="cx"> 
</span><del>-        void setShouldAntialias(bool);
</del><ins>+        WEBCORE_EXPORT void setShouldAntialias(bool);
</ins><span class="cx">         bool shouldAntialias() const;
</span><span class="cx"> 
</span><del>-        void setShouldSmoothFonts(bool);
</del><ins>+        WEBCORE_EXPORT void setShouldSmoothFonts(bool);
</ins><span class="cx">         bool shouldSmoothFonts() const;
</span><span class="cx"> 
</span><span class="cx">         // Normally CG enables subpixel-quantization because it improves the performance of aligning glyphs.
</span><span class="lines">@@ -283,20 +283,20 @@
</span><span class="cx">         void applyFillPattern();
</span><span class="cx">         void drawPath(const Path&amp;);
</span><span class="cx"> 
</span><del>-        void drawNativeImage(PassNativeImagePtr, const FloatSize&amp; selfSize, ColorSpace styleColorSpace, const FloatRect&amp; destRect, const FloatRect&amp; srcRect, CompositeOperator = CompositeSourceOver, BlendMode = BlendModeNormal, ImageOrientation = DefaultImageOrientation);
</del><ins>+        WEBCORE_EXPORT void drawNativeImage(PassNativeImagePtr, const FloatSize&amp; selfSize, ColorSpace styleColorSpace, const FloatRect&amp; destRect, const FloatRect&amp; srcRect, CompositeOperator = CompositeSourceOver, BlendMode = BlendModeNormal, ImageOrientation = DefaultImageOrientation);
</ins><span class="cx"> 
</span><span class="cx">         // Allow font smoothing (LCD antialiasing). Not part of the graphics state.
</span><span class="cx">         void setAllowsFontSmoothing(bool);
</span><span class="cx">         
</span><del>-        void setIsCALayerContext(bool);
</del><ins>+        WEBCORE_EXPORT void setIsCALayerContext(bool);
</ins><span class="cx">         bool isCALayerContext() const;
</span><span class="cx"> 
</span><del>-        void setIsAcceleratedContext(bool);
</del><ins>+        WEBCORE_EXPORT void setIsAcceleratedContext(bool);
</ins><span class="cx"> #endif
</span><span class="cx">         bool isAcceleratedContext() const;
</span><span class="cx"> 
</span><del>-        void save();
-        void restore();
</del><ins>+        WEBCORE_EXPORT void save();
+        WEBCORE_EXPORT void restore();
</ins><span class="cx"> 
</span><span class="cx">         // These draw methods will do both stroking and filling.
</span><span class="cx">         // FIXME: ...except drawRect(), which fills properly but always strokes
</span><span class="lines">@@ -316,24 +316,24 @@
</span><span class="cx"> #endif
</span><span class="cx">         void drawConvexPolygon(size_t numPoints, const FloatPoint*, bool shouldAntialias = false);
</span><span class="cx"> 
</span><del>-        void fillPath(const Path&amp;);
</del><ins>+        WEBCORE_EXPORT void fillPath(const Path&amp;);
</ins><span class="cx">         void strokePath(const Path&amp;);
</span><span class="cx"> 
</span><span class="cx">         void fillEllipse(const FloatRect&amp;);
</span><span class="cx">         void strokeEllipse(const FloatRect&amp;);
</span><span class="cx"> 
</span><del>-        void fillRect(const FloatRect&amp;);
-        void fillRect(const FloatRect&amp;, const Color&amp;, ColorSpace);
</del><ins>+        WEBCORE_EXPORT void fillRect(const FloatRect&amp;);
+        WEBCORE_EXPORT void fillRect(const FloatRect&amp;, const Color&amp;, ColorSpace);
</ins><span class="cx">         void fillRect(const FloatRect&amp;, Gradient&amp;);
</span><span class="cx">         void fillRect(const FloatRect&amp;, const Color&amp;, ColorSpace, CompositeOperator, BlendMode = BlendModeNormal);
</span><span class="cx">         void fillRoundedRect(const FloatRoundedRect&amp;, const Color&amp;, ColorSpace, BlendMode = BlendModeNormal);
</span><span class="cx">         void fillRectWithRoundedHole(const FloatRect&amp;, const FloatRoundedRect&amp; roundedHoleRect, const Color&amp;, ColorSpace);
</span><span class="cx"> 
</span><del>-        void clearRect(const FloatRect&amp;);
</del><ins>+        WEBCORE_EXPORT void clearRect(const FloatRect&amp;);
</ins><span class="cx"> 
</span><del>-        void strokeRect(const FloatRect&amp;, float lineWidth);
</del><ins>+        WEBCORE_EXPORT void strokeRect(const FloatRect&amp;, float lineWidth);
</ins><span class="cx"> 
</span><del>-        void drawImage(Image*, ColorSpace, const FloatPoint&amp; destination, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</del><ins>+        WEBCORE_EXPORT void drawImage(Image*, ColorSpace, const FloatPoint&amp; destination, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</ins><span class="cx">         void drawImage(Image*, ColorSpace, const FloatRect&amp; destination, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</span><span class="cx">         void drawImage(Image*, ColorSpace, const FloatRect&amp; destination, const FloatRect&amp; source, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</span><span class="cx"> 
</span><span class="lines">@@ -346,11 +346,11 @@
</span><span class="cx">         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect&amp; destination, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</span><span class="cx">         void drawImageBuffer(ImageBuffer*, ColorSpace, const FloatRect&amp; destination, const FloatRect&amp; source, const ImagePaintingOptions&amp; = ImagePaintingOptions());
</span><span class="cx"> 
</span><del>-        void setImageInterpolationQuality(InterpolationQuality);
</del><ins>+        WEBCORE_EXPORT void setImageInterpolationQuality(InterpolationQuality);
</ins><span class="cx">         InterpolationQuality imageInterpolationQuality() const;
</span><span class="cx"> 
</span><del>-        void clip(const IntRect&amp;);
-        void clip(const FloatRect&amp;);
</del><ins>+        WEBCORE_EXPORT void clip(const IntRect&amp;);
+        WEBCORE_EXPORT void clip(const FloatRect&amp;);
</ins><span class="cx">         void clipRoundedRect(const FloatRoundedRect&amp;);
</span><span class="cx"> 
</span><span class="cx">         void clipOut(const FloatRect&amp;);
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         bool emojiDrawingEnabled();
</span><del>-        void setEmojiDrawingEnabled(bool);
</del><ins>+        WEBCORE_EXPORT void setEmojiDrawingEnabled(bool);
</ins><span class="cx"> #endif
</span><span class="cx">         
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="lines">@@ -379,7 +379,7 @@
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx">         void drawBidiText(const Font&amp;, const TextRun&amp;, const FloatPoint&amp;, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady);
</span><span class="cx"> #else
</span><del>-        float drawBidiText(const Font&amp;, const TextRun&amp;, const FloatPoint&amp;, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady, BidiStatus* = 0, int length = -1);
</del><ins>+        WEBCORE_EXPORT float drawBidiText(const Font&amp;, const TextRun&amp;, const FloatPoint&amp;, Font::CustomFontNotReadyAction = Font::DoNotPaintIfFontNotReady, BidiStatus* = 0, int length = -1);
</ins><span class="cx"> #endif
</span><span class="cx">         enum RoundingMode {
</span><span class="cx">             RoundAllSides,
</span><span class="lines">@@ -388,7 +388,7 @@
</span><span class="cx">         FloatRect roundToDevicePixels(const FloatRect&amp;, RoundingMode = RoundAllSides);
</span><span class="cx"> 
</span><span class="cx">         FloatRect computeLineBoundsForText(const FloatPoint&amp;, float width, bool printing);
</span><del>-        void drawLineForText(const FloatPoint&amp;, float width, bool printing, bool doubleLines = false);
</del><ins>+        WEBCORE_EXPORT void drawLineForText(const FloatPoint&amp;, float width, bool printing, bool doubleLines = false);
</ins><span class="cx">         void drawLinesForText(const FloatPoint&amp;, const DashArray&amp; widths, bool printing, bool doubleLines = false);
</span><span class="cx">         enum DocumentMarkerLineStyle {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -402,24 +402,24 @@
</span><span class="cx">         static void updateDocumentMarkerResources();
</span><span class="cx">         void drawLineForDocumentMarker(const FloatPoint&amp;, float width, DocumentMarkerLineStyle);
</span><span class="cx"> 
</span><del>-        bool paintingDisabled() const;
</del><ins>+        WEBCORE_EXPORT bool paintingDisabled() const;
</ins><span class="cx">         void setPaintingDisabled(bool);
</span><span class="cx"> 
</span><del>-        bool updatingControlTints() const;
</del><ins>+        WEBCORE_EXPORT bool updatingControlTints() const;
</ins><span class="cx">         void setUpdatingControlTints(bool);
</span><span class="cx"> 
</span><del>-        void beginTransparencyLayer(float opacity);
-        void endTransparencyLayer();
</del><ins>+        WEBCORE_EXPORT void beginTransparencyLayer(float opacity);
+        WEBCORE_EXPORT void endTransparencyLayer();
</ins><span class="cx">         bool isInTransparencyLayer() const;
</span><span class="cx"> 
</span><span class="cx">         bool hasShadow() const;
</span><del>-        void setShadow(const FloatSize&amp;, float blur, const Color&amp;, ColorSpace);
</del><ins>+        WEBCORE_EXPORT void setShadow(const FloatSize&amp;, float blur, const Color&amp;, ColorSpace);
</ins><span class="cx">         // Legacy shadow blur radius is used for canvas, and -webkit-box-shadow.
</span><span class="cx">         // It has different treatment of radii &gt; 8px.
</span><span class="cx">         void setLegacyShadow(const FloatSize&amp;, float blur, const Color&amp;, ColorSpace);
</span><span class="cx"> 
</span><span class="cx">         bool getShadow(FloatSize&amp;, float&amp;, Color&amp;, ColorSpace&amp;) const;
</span><del>-        void clearShadow();
</del><ins>+        WEBCORE_EXPORT void clearShadow();
</ins><span class="cx"> 
</span><span class="cx">         bool hasBlurredShadow() const;
</span><span class="cx"> #if USE(CAIRO)
</span><span class="lines">@@ -439,14 +439,14 @@
</span><span class="cx"> 
</span><span class="cx">         void setAlpha(float);
</span><span class="cx"> 
</span><del>-        void setCompositeOperation(CompositeOperator, BlendMode = BlendModeNormal);
</del><ins>+        WEBCORE_EXPORT void setCompositeOperation(CompositeOperator, BlendMode = BlendModeNormal);
</ins><span class="cx">         CompositeOperator compositeOperation() const;
</span><span class="cx">         BlendMode blendModeOperation() const;
</span><span class="cx"> 
</span><span class="cx">         void setDrawLuminanceMask(bool);
</span><span class="cx">         bool drawLuminanceMask() const;
</span><span class="cx"> 
</span><del>-        void clip(const Path&amp;, WindRule = RULE_EVENODD);
</del><ins>+        WEBCORE_EXPORT void clip(const Path&amp;, WindRule = RULE_EVENODD);
</ins><span class="cx"> 
</span><span class="cx">         // This clip function is used only by &lt;canvas&gt; code. It allows
</span><span class="cx">         // implementations to handle clipping on the canvas differently since
</span><span class="lines">@@ -454,10 +454,10 @@
</span><span class="cx">         void canvasClip(const Path&amp;, WindRule = RULE_EVENODD);
</span><span class="cx">         void clipOut(const Path&amp;);
</span><span class="cx"> 
</span><del>-        void scale(const FloatSize&amp;);
</del><ins>+        WEBCORE_EXPORT void scale(const FloatSize&amp;);
</ins><span class="cx">         void rotate(float angleInRadians);
</span><span class="cx">         void translate(const FloatSize&amp; size) { translate(size.width(), size.height()); }
</span><del>-        void translate(float x, float y);
</del><ins>+        WEBCORE_EXPORT void translate(float x, float y);
</ins><span class="cx"> 
</span><span class="cx">         void setURLForRect(const URL&amp;, const IntRect&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -480,7 +480,7 @@
</span><span class="cx"> 
</span><span class="cx">         // This function applies the device scale factor to the context, making the context capable of
</span><span class="cx">         // acting as a base-level context for a HiDPI environment.
</span><del>-        void applyDeviceScaleFactor(float);
</del><ins>+        WEBCORE_EXPORT void applyDeviceScaleFactor(float);
</ins><span class="cx">         void platformApplyDeviceScaleFactor(float);
</span><span class="cx"> 
</span><span class="cx"> #if OS(WINDOWS)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -226,9 +226,9 @@
</span><span class="cx"> class GraphicsLayer {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(GraphicsLayer); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static std::unique_ptr&lt;GraphicsLayer&gt; create(GraphicsLayerFactory*, GraphicsLayerClient&amp;);
</del><ins>+    WEBCORE_EXPORT static std::unique_ptr&lt;GraphicsLayer&gt; create(GraphicsLayerFactory*, GraphicsLayerClient&amp;);
</ins><span class="cx">     
</span><del>-    virtual ~GraphicsLayer();
</del><ins>+    WEBCORE_EXPORT virtual ~GraphicsLayer();
</ins><span class="cx"> 
</span><span class="cx">     virtual void initialize() { }
</span><span class="cx"> 
</span><span class="lines">@@ -249,17 +249,17 @@
</span><span class="cx">     
</span><span class="cx">     const Vector&lt;GraphicsLayer*&gt;&amp; children() const { return m_children; }
</span><span class="cx">     // Returns true if the child list changed.
</span><del>-    virtual bool setChildren(const Vector&lt;GraphicsLayer*&gt;&amp;);
</del><ins>+    WEBCORE_EXPORT virtual bool setChildren(const Vector&lt;GraphicsLayer*&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Add child layers. If the child is already parented, it will be removed from its old parent.
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><del>-    void removeAllChildren();
-    virtual void removeFromParent();
</del><ins>+    WEBCORE_EXPORT void removeAllChildren();
+    WEBCORE_EXPORT virtual void removeFromParent();
</ins><span class="cx"> 
</span><span class="cx">     // The parent() of a maskLayer is set to the layer being masked.
</span><span class="cx">     GraphicsLayer* maskLayer() const { return m_maskLayer; }
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx">     bool isMaskLayer() const { return m_isMaskLayer; }
</span><span class="cx">     
</span><span class="cx">     // The given layer will replicate this layer and its children; the replica renders behind this layer.
</span><del>-    virtual void setReplicatedByLayer(GraphicsLayer*);
</del><ins>+    WEBCORE_EXPORT virtual void setReplicatedByLayer(GraphicsLayer*);
</ins><span class="cx">     // Whether this layer is being replicated by another layer.
</span><span class="cx">     bool isReplicated() const { return m_replicaLayer; }
</span><span class="cx">     // The layer that replicates this layer (if any).
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> 
</span><span class="cx">     // The size of the layer.
</span><span class="cx">     const FloatSize&amp; size() const { return m_size; }
</span><del>-    virtual void setSize(const FloatSize&amp;);
</del><ins>+    WEBCORE_EXPORT virtual void setSize(const FloatSize&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // The boundOrigin affects the offset at which content is rendered, and sublayers are positioned.
</span><span class="cx">     const FloatPoint&amp; boundsOrigin() const { return m_boundsOrigin; }
</span><span class="lines">@@ -335,7 +335,7 @@
</span><span class="cx">     // Note that this covers the entire layer. Use setContentsToSolidColor() if the color should
</span><span class="cx">     // only cover the contentsRect.
</span><span class="cx">     const Color&amp; backgroundColor() const { return m_backgroundColor; }
</span><del>-    virtual void setBackgroundColor(const Color&amp;);
</del><ins>+    WEBCORE_EXPORT virtual void setBackgroundColor(const Color&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // opaque means that we know the layer contents have no alpha
</span><span class="cx">     bool contentsOpaque() const { return m_contentsOpaque; }
</span><span class="lines">@@ -399,8 +399,8 @@
</span><span class="cx">     virtual void pauseAnimation(const String&amp; /*animationName*/, double /*timeOffset*/) { }
</span><span class="cx">     virtual void removeAnimation(const String&amp; /*animationName*/) { }
</span><span class="cx"> 
</span><del>-    virtual void suspendAnimations(double time);
-    virtual void resumeAnimations();
</del><ins>+    WEBCORE_EXPORT virtual void suspendAnimations(double time);
+    WEBCORE_EXPORT virtual void resumeAnimations();
</ins><span class="cx">     
</span><span class="cx">     // Layer contents
</span><span class="cx">     virtual void setContentsToImage(Image*) { }
</span><span class="lines">@@ -454,10 +454,10 @@
</span><span class="cx"> 
</span><span class="cx">     // z-position is the z-equivalent of position(). It's only used for debugging purposes.
</span><span class="cx">     virtual float zPosition() const { return m_zPosition; }
</span><del>-    virtual void setZPosition(float);
</del><ins>+    WEBCORE_EXPORT virtual void setZPosition(float);
</ins><span class="cx"> 
</span><del>-    virtual void distributeOpacity(float);
-    virtual float accumulatedOpacity() const;
</del><ins>+    WEBCORE_EXPORT virtual void distributeOpacity(float);
+    WEBCORE_EXPORT virtual float accumulatedOpacity() const;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     bool hasFlattenedPerspectiveTransform() const { return !preserves3D() &amp;&amp; m_childrenTransform.hasPerspective(); }
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx">     float deviceScaleFactor() const { return m_client.deviceScaleFactor(); }
</span><span class="cx"> 
</span><span class="cx">     virtual void deviceOrPageScaleFactorChanged() { }
</span><del>-    void noteDeviceOrPageScaleFactorChangedIncludingDescendants();
</del><ins>+    WEBCORE_EXPORT void noteDeviceOrPageScaleFactorChangedIncludingDescendants();
</ins><span class="cx"> 
</span><span class="cx">     // Some compositing systems may do internal batching to synchronize compositing updates
</span><span class="cx">     // with updates drawn into the window. These methods flush internal batched state on this layer
</span><span class="lines">@@ -488,7 +488,7 @@
</span><span class="cx">     String layerTreeAsText(LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const;
</span><span class="cx"> 
</span><span class="cx">     // Return an estimate of the backing store memory cost (in bytes). May be incorrect for tiled layers.
</span><del>-    virtual double backingStoreMemoryEstimate() const;
</del><ins>+    WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const;
</ins><span class="cx"> 
</span><span class="cx">     bool usingTiledBacking() const { return m_usingTiledBacking; }
</span><span class="cx">     virtual TiledBacking* tiledBacking() const { return 0; }
</span><span class="lines">@@ -524,7 +524,7 @@
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     // Should be called from derived class destructors. Should call willBeDestroyed() on super.
</span><del>-    virtual void willBeDestroyed();
</del><ins>+    WEBCORE_EXPORT virtual void willBeDestroyed();
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_FILTERS)
</span><span class="cx">     // This method is used by platform GraphicsLayer classes to clear the filters
</span><span class="lines">@@ -551,12 +551,12 @@
</span><span class="cx">     GraphicsLayer* replicatedLayer() const { return m_replicatedLayer; }
</span><span class="cx">     virtual void setReplicatedLayer(GraphicsLayer* layer) { m_replicatedLayer = layer; }
</span><span class="cx"> 
</span><del>-    explicit GraphicsLayer(GraphicsLayerClient&amp;);
</del><ins>+    WEBCORE_EXPORT explicit GraphicsLayer(GraphicsLayerClient&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void dumpProperties(TextStream&amp;, int indent, LayerTreeAsTextBehavior) const;
</span><span class="cx">     virtual void dumpAdditionalProperties(TextStream&amp;, int /*indent*/, LayerTreeAsTextBehavior) const { }
</span><span class="cx"> 
</span><del>-    virtual void getDebugBorderInfo(Color&amp;, float&amp; width) const;
</del><ins>+    WEBCORE_EXPORT virtual void getDebugBorderInfo(Color&amp;, float&amp; width) const;
</ins><span class="cx"> 
</span><span class="cx">     GraphicsLayerClient&amp; m_client;
</span><span class="cx">     String m_name;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIconh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Icon.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Icon.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Icon.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -46,9 +46,9 @@
</span><span class="cx">     
</span><span class="cx"> class Icon : public RefCounted&lt;Icon&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;Icon&gt; createIconForFiles(const Vector&lt;String&gt;&amp; filenames);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;Icon&gt; createIconForFiles(const Vector&lt;String&gt;&amp; filenames);
</ins><span class="cx"> 
</span><del>-    ~Icon();
</del><ins>+    WEBCORE_EXPORT ~Icon();
</ins><span class="cx"> 
</span><span class="cx">     void paint(GraphicsContext*, const IntRect&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: Make this work for non-iOS ports and remove the PLATFORM(IOS)-guard.
</span><del>-    static PassRefPtr&lt;Icon&gt; createIconForImage(NativeImagePtr);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;Icon&gt; createIconForImage(NativeImagePtr);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Image.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Image.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Image.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -76,8 +76,8 @@
</span><span class="cx">     virtual ~Image();
</span><span class="cx">     
</span><span class="cx">     static PassRefPtr&lt;Image&gt; create(ImageObserver* = 0);
</span><del>-    static PassRefPtr&lt;Image&gt; loadPlatformResource(const char* name);
-    static bool supportsType(const String&amp;); 
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;Image&gt; loadPlatformResource(const char* name);
+    WEBCORE_EXPORT static bool supportsType(const String&amp;);
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isSVGImage() const { return false; }
</span><span class="cx">     virtual bool isBitmapImage() const { return false; }
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     // the image contains only resources from its own security origin.
</span><span class="cx">     virtual bool hasSingleSecurityOrigin() const { return false; }
</span><span class="cx"> 
</span><del>-    static Image* nullImage();
</del><ins>+    WEBCORE_EXPORT static Image* nullImage();
</ins><span class="cx">     bool isNull() const { return size().isEmpty(); }
</span><span class="cx"> 
</span><span class="cx">     virtual void setContainerSize(const FloatSize&amp;) { }
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     virtual FloatSize originalSize() const { return size(); }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool setData(PassRefPtr&lt;SharedBuffer&gt; data, bool allDataReceived);
</del><ins>+    WEBCORE_EXPORT bool setData(PassRefPtr&lt;SharedBuffer&gt; data, bool allDataReceived);
</ins><span class="cx">     virtual bool dataChanged(bool /*allDataReceived*/) { return false; }
</span><span class="cx">     
</span><span class="cx">     virtual String filenameExtension() const { return String(); } // null string if unknown
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBuffer.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -87,15 +87,15 @@
</span><span class="cx"> 
</span><span class="cx">     static std::unique_ptr&lt;ImageBuffer&gt; createCompatibleBuffer(const FloatSize&amp;, float resolutionScale, ColorSpace, const GraphicsContext*, bool hasAlpha);
</span><span class="cx"> 
</span><del>-    ~ImageBuffer();
</del><ins>+    WEBCORE_EXPORT ~ImageBuffer();
</ins><span class="cx"> 
</span><span class="cx">     // The actual resolution of the backing store
</span><span class="cx">     const IntSize&amp; internalSize() const { return m_size; }
</span><span class="cx">     const IntSize&amp; logicalSize() const { return m_logicalSize; }
</span><span class="cx"> 
</span><del>-    GraphicsContext* context() const;
</del><ins>+    WEBCORE_EXPORT GraphicsContext* context() const;
</ins><span class="cx"> 
</span><del>-    PassRefPtr&lt;Image&gt; copyImage(BackingStoreCopy = CopyBackingStore, ScaleBehavior = Scaled) const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;Image&gt; copyImage(BackingStoreCopy = CopyBackingStore, ScaleBehavior = Scaled) const;
</ins><span class="cx">     // Give hints on the faster copyImage Mode, return DontCopyBackingStore if it supports the DontCopyBackingStore behavior
</span><span class="cx">     // or return CopyBackingStore if it doesn't.  
</span><span class="cx">     static BackingStoreCopy fastCopyImageMode();
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx"> 
</span><span class="cx">     // This constructor will place its success into the given out-variable
</span><span class="cx">     // so that create() knows when it should return failure.
</span><del>-    ImageBuffer(const FloatSize&amp;, float resolutionScale, ColorSpace, RenderingMode, bool&amp; success);
</del><ins>+    WEBCORE_EXPORT ImageBuffer(const FloatSize&amp;, float resolutionScale, ColorSpace, RenderingMode, bool&amp; success);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntPoint.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntPoint.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/IntPoint.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -104,14 +104,14 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    explicit IntPoint(const CGPoint&amp;); // don't do this implicitly since it's lossy
-    operator CGPoint() const;
</del><ins>+    WEBCORE_EXPORT explicit IntPoint(const CGPoint&amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGPoint() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> #if OS(DARWIN) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    explicit IntPoint(const NSPoint&amp;); // don't do this implicitly since it's lossy
-    operator NSPoint() const;
</del><ins>+    WEBCORE_EXPORT explicit IntPoint(const NSPoint&amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator NSPoint() const;
</ins><span class="cx"> #endif
</span><span class="cx"> #endif // !PLATFORM(IOS)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntRecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntRect.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntRect.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/IntRect.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -73,8 +73,8 @@
</span><span class="cx">     IntRect(int x, int y, int width, int height)
</span><span class="cx">         : m_location(IntPoint(x, y)), m_size(IntSize(width, height)) { }
</span><span class="cx"> 
</span><del>-    explicit IntRect(const FloatRect&amp;); // don't do this implicitly since it's lossy
-    explicit IntRect(const LayoutRect&amp;); // don't do this implicitly since it's lossy
</del><ins>+    WEBCORE_EXPORT explicit IntRect(const FloatRect&amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT explicit IntRect(const LayoutRect&amp;); // don't do this implicitly since it's lossy
</ins><span class="cx">         
</span><span class="cx">     IntPoint location() const { return m_location; }
</span><span class="cx">     IntSize size() const { return m_size; }
</span><span class="lines">@@ -137,8 +137,8 @@
</span><span class="cx">     IntPoint minXMaxYCorner() const { return IntPoint(m_location.x(), m_location.y() + m_size.height()); } // typically bottomLeft
</span><span class="cx">     IntPoint maxXMaxYCorner() const { return IntPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
</span><span class="cx">     
</span><del>-    bool intersects(const IntRect&amp;) const;
-    bool contains(const IntRect&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool intersects(const IntRect&amp;) const;
+    WEBCORE_EXPORT bool contains(const IntRect&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     // This checks to see if the rect contains x,y in the traditional sense.
</span><span class="cx">     // Equivalent to checking if the rect contains a 1x1 rect below and to the right of (px,py).
</span><span class="lines">@@ -146,8 +146,8 @@
</span><span class="cx">         { return px &gt;= x() &amp;&amp; px &lt; maxX() &amp;&amp; py &gt;= y() &amp;&amp; py &lt; maxY(); }
</span><span class="cx">     bool contains(const IntPoint&amp; point) const { return contains(point.x(), point.y()); }
</span><span class="cx"> 
</span><del>-    void intersect(const IntRect&amp;);
-    void unite(const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT void intersect(const IntRect&amp;);
+    WEBCORE_EXPORT void unite(const IntRect&amp;);
</ins><span class="cx">     void uniteIfNonZero(const IntRect&amp;);
</span><span class="cx"> 
</span><span class="cx">     void inflateX(int dx)
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">         m_size.setHeight(m_size.height() + dy + dy);
</span><span class="cx">     }
</span><span class="cx">     void inflate(int d) { inflateX(d); inflateY(d); }
</span><del>-    void scale(float s);
</del><ins>+    WEBCORE_EXPORT void scale(float s);
</ins><span class="cx"> 
</span><span class="cx">     IntSize differenceToPoint(const IntPoint&amp;) const;
</span><span class="cx">     int distanceSquaredToPoint(const IntPoint&amp; p) const { return differenceToPoint(p).diagonalLengthSquared(); }
</span><span class="lines">@@ -187,11 +187,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    operator CGRect() const;
</del><ins>+    WEBCORE_EXPORT operator CGRect() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    operator NSRect() const;
</del><ins>+    WEBCORE_EXPORT operator NSRect() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void dump(WTF::PrintStream&amp; out) const;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntSizeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntSize.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntSize.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/IntSize.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> public:
</span><span class="cx">     IntSize() : m_width(0), m_height(0) { }
</span><span class="cx">     IntSize(int width, int height) : m_width(width), m_height(height) { }
</span><del>-    explicit IntSize(const FloatSize&amp;); // don't do this implicitly since it's lossy
</del><ins>+    WEBCORE_EXPORT explicit IntSize(const FloatSize&amp;); // don't do this implicitly since it's lossy
</ins><span class="cx">     
</span><span class="cx">     int width() const { return m_width; }
</span><span class="cx">     int height() const { return m_height; }
</span><span class="lines">@@ -137,13 +137,13 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><del>-    explicit IntSize(const CGSize&amp;); // don't do this implicitly since it's lossy
-    operator CGSize() const;
</del><ins>+    WEBCORE_EXPORT explicit IntSize(const CGSize&amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator CGSize() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES)
</span><del>-    explicit IntSize(const NSSize &amp;); // don't do this implicitly since it's lossy
-    operator NSSize() const;
</del><ins>+    WEBCORE_EXPORT explicit IntSize(const NSSize &amp;); // don't do this implicitly since it's lossy
+    WEBCORE_EXPORT operator NSSize() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsLayoutRecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/LayoutRect.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/LayoutRect.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/LayoutRect.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -49,8 +49,8 @@
</span><span class="cx">     LayoutRect(const FloatPoint&amp; location, const FloatSize&amp; size)
</span><span class="cx">         : m_location(location), m_size(size) { }
</span><span class="cx">     LayoutRect(const IntRect&amp; rect) : m_location(rect.location()), m_size(rect.size()) { }
</span><del>-
-    explicit LayoutRect(const FloatRect&amp;); // don't do this implicitly since it's lossy
</del><ins>+    
+    WEBCORE_EXPORT explicit LayoutRect(const FloatRect&amp;); // don't do this implicitly since it's lossy
</ins><span class="cx">         
</span><span class="cx">     LayoutPoint location() const { return m_location; }
</span><span class="cx">     LayoutSize size() const { return m_size; }
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     LayoutPoint maxXMaxYCorner() const { return LayoutPoint(m_location.x() + m_size.width(), m_location.y() + m_size.height()); } // typically bottomRight
</span><span class="cx">     
</span><span class="cx">     bool intersects(const LayoutRect&amp;) const;
</span><del>-    bool contains(const LayoutRect&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool contains(const LayoutRect&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     // This checks to see if the rect contains x,y in the traditional sense.
</span><span class="cx">     // Equivalent to checking if the rect contains a 1x1 rect below and to the right of (px,py).
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     bool contains(const LayoutPoint&amp; point) const { return contains(point.x(), point.y()); }
</span><span class="cx"> 
</span><span class="cx">     void intersect(const LayoutRect&amp;);
</span><del>-    void unite(const LayoutRect&amp;);
</del><ins>+    WEBCORE_EXPORT void unite(const LayoutRect&amp;);
</ins><span class="cx">     void uniteIfNonZero(const LayoutRect&amp;);
</span><span class="cx"> 
</span><span class="cx">     void inflateX(LayoutUnit dx)
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx">         m_size.setHeight(m_size.height() + dy + dy);
</span><span class="cx">     }
</span><span class="cx">     void inflate(LayoutUnit d) { inflateX(d); inflateY(d); }
</span><del>-    void scale(float s);
</del><ins>+    WEBCORE_EXPORT void scale(float s);
</ins><span class="cx">     void scale(float xScale, float yScale);
</span><span class="cx"> 
</span><span class="cx">     LayoutRect transposedRect() const { return LayoutRect(m_location.transposedPoint(), m_size.transposedSize()); }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -640,7 +640,7 @@
</span><span class="cx"> 
</span><span class="cx"> class MediaPlayerFactorySupport {
</span><span class="cx"> public:
</span><del>-    static void callRegisterMediaEngine(MediaEngineRegister);
</del><ins>+    WEBCORE_EXPORT static void callRegisterMediaEngine(MediaEngineRegister);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsPathh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Path.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Path.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Path.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -84,11 +84,11 @@
</span><span class="cx">     class Path {
</span><span class="cx">         WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><del>-        Path();
</del><ins>+        WEBCORE_EXPORT Path();
</ins><span class="cx"> #if USE(CG)
</span><span class="cx">         Path(RetainPtr&lt;CGMutablePathRef&gt;);
</span><span class="cx"> #endif
</span><del>-        ~Path();
</del><ins>+        WEBCORE_EXPORT ~Path();
</ins><span class="cx"> 
</span><span class="cx">         Path(const Path&amp;);
</span><span class="cx">         Path&amp; operator=(const Path&amp;);
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">             PreferBezierRoundedRect
</span><span class="cx">         };
</span><span class="cx"> 
</span><del>-        void addRoundedRect(const FloatRect&amp;, const FloatSize&amp; roundingRadii, RoundedRectStrategy = PreferNativeRoundedRect);
</del><ins>+        WEBCORE_EXPORT void addRoundedRect(const FloatRect&amp;, const FloatSize&amp; roundingRadii, RoundedRectStrategy = PreferNativeRoundedRect);
</ins><span class="cx">         void addRoundedRect(const FloatRoundedRect&amp;, RoundedRectStrategy = PreferNativeRoundedRect);
</span><span class="cx">         void addRoundedRect(const RoundedRect&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsRegionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Region.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Region.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/Region.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -35,30 +35,30 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    Region();
-    Region(const IntRect&amp;);
</del><ins>+    WEBCORE_EXPORT Region();
+    WEBCORE_EXPORT Region(const IntRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     IntRect bounds() const { return m_bounds; }
</span><span class="cx">     bool isEmpty() const { return m_bounds.isEmpty(); }
</span><span class="cx">     bool isRect() const { return m_shape.isRect(); }
</span><span class="cx"> 
</span><del>-    Vector&lt;IntRect&gt; rects() const;
</del><ins>+    WEBCORE_EXPORT Vector&lt;IntRect&gt; rects() const;
</ins><span class="cx"> 
</span><del>-    void unite(const Region&amp;);
-    void intersect(const Region&amp;);
-    void subtract(const Region&amp;);
</del><ins>+    WEBCORE_EXPORT void unite(const Region&amp;);
+    WEBCORE_EXPORT void intersect(const Region&amp;);
+    WEBCORE_EXPORT void subtract(const Region&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void translate(const IntSize&amp;);
</span><span class="cx"> 
</span><span class="cx">     // Returns true if the query region is a subset of this region.
</span><del>-    bool contains(const Region&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool contains(const Region&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     bool contains(const IntPoint&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     // Returns true if the query region intersects any part of this region.
</span><span class="cx">     bool intersects(const Region&amp;) const;
</span><span class="cx"> 
</span><del>-    unsigned totalArea() const;
</del><ins>+    WEBCORE_EXPORT unsigned totalArea() const;
</ins><span class="cx"> 
</span><span class="cx">     unsigned gridSize() const { return m_shape.gridSize(); }
</span><span class="cx"> 
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> 
</span><span class="cx">     void setShapeSegments(const Vector&lt;int&gt;&amp; segments) { m_shape.setSegments(segments); }
</span><span class="cx">     void setShapeSpans(const Vector&lt;Span&gt;&amp; spans) { m_shape.setSpans(spans); }
</span><del>-    void updateBoundsFromShape();
</del><ins>+    WEBCORE_EXPORT void updateBoundsFromShape();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> 
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">         static Shape intersectShapes(const Shape&amp; shape1, const Shape&amp; shape2);
</span><span class="cx">         static Shape subtractShapes(const Shape&amp; shape1, const Shape&amp; shape2);
</span><span class="cx"> 
</span><del>-        void translate(const IntSize&amp;);
</del><ins>+        WEBCORE_EXPORT void translate(const IntSize&amp;);
</ins><span class="cx">         void swap(Shape&amp;);
</span><span class="cx"> 
</span><span class="cx">         struct CompareContainsOperation;
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx">         template&lt;typename CompareOperation&gt;
</span><span class="cx">         static bool compareShapes(const Shape&amp; shape1, const Shape&amp; shape2);
</span><span class="cx">         
</span><del>-        bool isValid() const;
</del><ins>+        WEBCORE_EXPORT bool isValid() const;
</ins><span class="cx"> 
</span><span class="cx">         // For encoding/decoding only.
</span><span class="cx">         const Vector&lt;int, 32&gt;&amp; segments() const { return m_segments; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaGraphicsLayerCAh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -55,96 +55,96 @@
</span><span class="cx">     // to keep the overall tile cost low.
</span><span class="cx">     static const int kTiledLayerTileSize = 512;
</span><span class="cx"> 
</span><del>-    explicit GraphicsLayerCA(GraphicsLayerClient&amp;);
-    virtual ~GraphicsLayerCA();
</del><ins>+    WEBCORE_EXPORT explicit GraphicsLayerCA(GraphicsLayerClient&amp;);
+    WEBCORE_EXPORT virtual ~GraphicsLayerCA();
</ins><span class="cx"> 
</span><del>-    virtual void initialize() override;
</del><ins>+    WEBCORE_EXPORT virtual void initialize() override;
</ins><span class="cx"> 
</span><del>-    virtual void setName(const String&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setName(const String&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual PlatformLayerID primaryLayerID() const override;
</del><ins>+    WEBCORE_EXPORT virtual PlatformLayerID primaryLayerID() const override;
</ins><span class="cx"> 
</span><del>-    virtual PlatformLayer* platformLayer() const override;
</del><ins>+    WEBCORE_EXPORT virtual PlatformLayer* platformLayer() const override;
</ins><span class="cx">     PlatformCALayer* platformCALayer() const { return primaryLayer(); }
</span><span class="cx"> 
</span><del>-    virtual bool setChildren(const Vector&lt;GraphicsLayer*&gt;&amp;) 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;
</del><ins>+    WEBCORE_EXPORT virtual bool setChildren(const Vector&lt;GraphicsLayer*&gt;&amp;) 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;
</ins><span class="cx"> 
</span><del>-    virtual void removeFromParent() override;
</del><ins>+    WEBCORE_EXPORT virtual void removeFromParent() override;
</ins><span class="cx"> 
</span><del>-    virtual void setMaskLayer(GraphicsLayer*) override;
-    virtual void setReplicatedLayer(GraphicsLayer*) override;
</del><ins>+    WEBCORE_EXPORT virtual void setMaskLayer(GraphicsLayer*) override;
+    WEBCORE_EXPORT virtual void setReplicatedLayer(GraphicsLayer*) override;
</ins><span class="cx"> 
</span><del>-    virtual void setPosition(const FloatPoint&amp;) override;
-    virtual void setAnchorPoint(const FloatPoint3D&amp;) override;
-    virtual void setSize(const FloatSize&amp;) override;
-    virtual void setBoundsOrigin(const FloatPoint&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setPosition(const FloatPoint&amp;) override;
+    WEBCORE_EXPORT virtual void setAnchorPoint(const FloatPoint3D&amp;) override;
+    WEBCORE_EXPORT virtual void setSize(const FloatSize&amp;) override;
+    WEBCORE_EXPORT virtual void setBoundsOrigin(const FloatPoint&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual void setTransform(const TransformationMatrix&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setTransform(const TransformationMatrix&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual void setChildrenTransform(const TransformationMatrix&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setChildrenTransform(const TransformationMatrix&amp;) override;
</ins><span class="cx"> 
</span><del>-    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;
</del><ins>+    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;
</ins><span class="cx"> 
</span><del>-    virtual void setBackgroundColor(const Color&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setBackgroundColor(const Color&amp;) override;
</ins><span class="cx"> 
</span><del>-    virtual void setContentsOpaque(bool) override;
-    virtual void setBackfaceVisibility(bool) override;
</del><ins>+    WEBCORE_EXPORT virtual void setContentsOpaque(bool) override;
+    WEBCORE_EXPORT virtual void setBackfaceVisibility(bool) override;
</ins><span class="cx"> 
</span><span class="cx">     // return true if we started an animation
</span><del>-    virtual void setOpacity(float) override;
</del><ins>+    WEBCORE_EXPORT virtual void setOpacity(float) override;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_FILTERS)
</span><del>-    virtual bool setFilters(const FilterOperations&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual bool setFilters(const FilterOperations&amp;) override;
</ins><span class="cx">     virtual bool filtersCanBeComposited(const FilterOperations&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_COMPOSITING)
</span><del>-    virtual void setBlendMode(BlendMode) override;
</del><ins>+    WEBCORE_EXPORT virtual void setBlendMode(BlendMode) override;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual void setNeedsDisplay() override;
-    virtual void setNeedsDisplayInRect(const FloatRect&amp;, ShouldClipToLayer = ClipToLayer) override;
-    virtual void setContentsNeedsDisplay() override;
</del><ins>+    WEBCORE_EXPORT virtual void setNeedsDisplay() override;
+    WEBCORE_EXPORT virtual void setNeedsDisplayInRect(const FloatRect&amp;, ShouldClipToLayer = ClipToLayer) override;
+    WEBCORE_EXPORT virtual void setContentsNeedsDisplay() override;
</ins><span class="cx">     
</span><del>-    virtual void setContentsRect(const FloatRect&amp;) override;
-    virtual void setContentsClippingRect(const FloatRect&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setContentsRect(const FloatRect&amp;) override;
+    WEBCORE_EXPORT virtual void setContentsClippingRect(const FloatRect&amp;) override;
</ins><span class="cx">     
</span><del>-    virtual void suspendAnimations(double time) override;
-    virtual void resumeAnimations() override;
</del><ins>+    WEBCORE_EXPORT virtual void suspendAnimations(double time) override;
+    WEBCORE_EXPORT virtual void resumeAnimations() override;
</ins><span class="cx"> 
</span><del>-    virtual bool addAnimation(const KeyframeValueList&amp;, const FloatSize&amp; boxSize, const Animation*, const String&amp; animationName, double timeOffset) override;
-    virtual void pauseAnimation(const String&amp; animationName, double timeOffset) override;
-    virtual void removeAnimation(const String&amp; animationName) override;
</del><ins>+    WEBCORE_EXPORT virtual bool addAnimation(const KeyframeValueList&amp;, const FloatSize&amp; boxSize, const Animation*, const String&amp; animationName, double timeOffset) override;
+    WEBCORE_EXPORT virtual void pauseAnimation(const String&amp; animationName, double timeOffset) override;
+    WEBCORE_EXPORT virtual void removeAnimation(const String&amp; animationName) override;
</ins><span class="cx"> 
</span><del>-    virtual void setContentsToImage(Image*) override;
-    virtual void setContentsToMedia(PlatformLayer*) override;
</del><ins>+    WEBCORE_EXPORT virtual void setContentsToImage(Image*) override;
+    WEBCORE_EXPORT virtual void setContentsToMedia(PlatformLayer*) override;
</ins><span class="cx"> #if PLATFORM(IOS)
</span><del>-    virtual PlatformLayer* contentsLayerForMedia() const override;
</del><ins>+    WEBCORE_EXPORT virtual PlatformLayer* contentsLayerForMedia() const override;
</ins><span class="cx"> #endif
</span><del>-    virtual void setContentsToCanvas(PlatformLayer*) override;
-    virtual void setContentsToSolidColor(const Color&amp;) override;
</del><ins>+    WEBCORE_EXPORT virtual void setContentsToCanvas(PlatformLayer*) override;
+    WEBCORE_EXPORT virtual void setContentsToSolidColor(const Color&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual bool usesContentsLayer() const override { return m_contentsLayerPurpose != NoContentsLayer; }
</span><span class="cx">     
</span><del>-    virtual void setShowDebugBorder(bool) override;
-    virtual void setShowRepaintCounter(bool) override;
</del><ins>+    WEBCORE_EXPORT virtual void setShowDebugBorder(bool) override;
+    WEBCORE_EXPORT virtual void setShowRepaintCounter(bool) override;
</ins><span class="cx"> 
</span><del>-    virtual void setDebugBackgroundColor(const Color&amp;) override;
-    virtual void setDebugBorder(const Color&amp;, float borderWidth) override;
</del><ins>+    WEBCORE_EXPORT virtual void setDebugBackgroundColor(const Color&amp;) override;
+    WEBCORE_EXPORT virtual void setDebugBorder(const Color&amp;, float borderWidth) override;
</ins><span class="cx"> 
</span><del>-    virtual void setCustomAppearance(CustomAppearance) override;
-    virtual void setCustomBehavior(CustomBehavior) override;
</del><ins>+    WEBCORE_EXPORT virtual void setCustomAppearance(CustomAppearance) override;
+    WEBCORE_EXPORT virtual void setCustomBehavior(CustomBehavior) override;
</ins><span class="cx"> 
</span><del>-    virtual void deviceOrPageScaleFactorChanged() override;
</del><ins>+    WEBCORE_EXPORT virtual void deviceOrPageScaleFactorChanged() override;
</ins><span class="cx"> 
</span><span class="cx">     virtual FloatSize pixelAlignmentOffset() const override { return m_pixelAlignmentOffset; }
</span><span class="cx"> 
</span><span class="lines">@@ -158,51 +158,51 @@
</span><span class="cx">     };
</span><span class="cx">     void recursiveCommitChanges(const CommitState&amp;, const TransformState&amp;, float pageScaleFactor = 1, const FloatPoint&amp; positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
</span><span class="cx"> 
</span><del>-    virtual void flushCompositingState(const FloatRect&amp;) override;
-    virtual void flushCompositingStateForThisLayerOnly() override;
</del><ins>+    WEBCORE_EXPORT virtual void flushCompositingState(const FloatRect&amp;) override;
+    WEBCORE_EXPORT virtual void flushCompositingStateForThisLayerOnly() override;
</ins><span class="cx"> 
</span><del>-    virtual bool visibleRectChangeRequiresFlush(const FloatRect&amp; visibleRect) const override;
</del><ins>+    WEBCORE_EXPORT virtual bool visibleRectChangeRequiresFlush(const FloatRect&amp; visibleRect) const override;
</ins><span class="cx"> 
</span><del>-    virtual TiledBacking* tiledBacking() const override;
</del><ins>+    WEBCORE_EXPORT virtual TiledBacking* tiledBacking() const override;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual void setOpacityInternal(float) override;
</del><ins>+    WEBCORE_EXPORT virtual void setOpacityInternal(float) override;
</ins><span class="cx">     
</span><del>-    bool animationCanBeAccelerated(const KeyframeValueList&amp;, const Animation*) const;
</del><ins>+    WEBCORE_EXPORT bool animationCanBeAccelerated(const KeyframeValueList&amp;, const Animation*) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     virtual bool isGraphicsLayerCA() const override { return true; }
</span><span class="cx"> 
</span><del>-    virtual void willBeDestroyed() override;
</del><ins>+    WEBCORE_EXPORT virtual void willBeDestroyed() override;
</ins><span class="cx"> 
</span><span class="cx">     // PlatformCALayerClient overrides
</span><span class="cx">     virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*) override { }
</span><span class="cx">     virtual bool platformCALayerRespondsToLayoutChanges() const override { return false; }
</span><span class="cx"> 
</span><del>-    virtual void platformCALayerAnimationStarted(const String&amp; animationKey, CFTimeInterval beginTime) override;
-    virtual void platformCALayerAnimationEnded(const String&amp; animationKey) override;
</del><ins>+    WEBCORE_EXPORT void platformCALayerAnimationStarted(const String&amp; animationKey, CFTimeInterval beginTime) override;
+    WEBCORE_EXPORT void platformCALayerAnimationEnded(const String&amp; animationKey) override;
</ins><span class="cx">     virtual CompositingCoordinatesOrientation platformCALayerContentsOrientation() const override { return contentsOrientation(); }
</span><del>-    virtual void platformCALayerPaintContents(PlatformCALayer*, GraphicsContext&amp;, const FloatRect&amp; clip) override;
</del><ins>+    WEBCORE_EXPORT virtual void platformCALayerPaintContents(PlatformCALayer*, GraphicsContext&amp;, const FloatRect&amp; clip) override;
</ins><span class="cx">     virtual bool platformCALayerShowDebugBorders() const override { return isShowingDebugBorder(); }
</span><del>-    virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const override;
</del><ins>+    WEBCORE_EXPORT virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const override;
</ins><span class="cx">     virtual int platformCALayerIncrementRepaintCount(PlatformCALayer*) override { return incrementRepaintCount(); }
</span><span class="cx"> 
</span><span class="cx">     virtual bool platformCALayerContentsOpaque() const override { return contentsOpaque(); }
</span><span class="cx">     virtual bool platformCALayerDrawsContent() const override { return drawsContent(); }
</span><span class="cx">     virtual void platformCALayerLayerDidDisplay(PlatformCALayer* layer) override { return layerDidDisplay(layer); }
</span><del>-    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;
</del><ins>+    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;
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isCommittingChanges() const override { return m_isCommittingChanges; }
</span><span class="cx"> 
</span><del>-    virtual double backingStoreMemoryEstimate() const override;
</del><ins>+    WEBCORE_EXPORT virtual double backingStoreMemoryEstimate() const override;
</ins><span class="cx"> 
</span><del>-    virtual bool shouldRepaintOnSizeChange() const override;
</del><ins>+    WEBCORE_EXPORT virtual bool shouldRepaintOnSizeChange() const override;
</ins><span class="cx"> 
</span><del>-    void layerDidDisplay(PlatformCALayer*);
</del><ins>+    WEBCORE_EXPORT void layerDidDisplay(PlatformCALayer*);
</ins><span class="cx">     void updateOpacityOnLayer();
</span><span class="cx">     
</span><span class="cx"> #if ENABLE(CSS_FILTERS)
</span><span class="lines">@@ -273,10 +273,10 @@
</span><span class="cx">     void setupContentsLayer(PlatformCALayer*);
</span><span class="cx">     PlatformCALayer* contentsLayer() const { return m_contentsLayer.get(); }
</span><span class="cx"> 
</span><del>-    virtual void setReplicatedByLayer(GraphicsLayer*) override;
</del><ins>+    WEBCORE_EXPORT virtual void setReplicatedByLayer(GraphicsLayer*) override;
</ins><span class="cx"> 
</span><del>-    virtual void getDebugBorderInfo(Color&amp;, float&amp; width) const override;
-    virtual void dumpAdditionalProperties(TextStream&amp;, int indent, LayerTreeAsTextBehavior) const override;
</del><ins>+    WEBCORE_EXPORT virtual void getDebugBorderInfo(Color&amp;, float&amp; width) const override;
+    WEBCORE_EXPORT virtual void dumpAdditionalProperties(TextStream&amp;, int indent, LayerTreeAsTextBehavior) const override;
</ins><span class="cx"> 
</span><span class="cx">     void computePixelAlignment(float contentsScale, const FloatPoint&amp; positionRelativeToBase,
</span><span class="cx">         FloatPoint&amp; position, FloatPoint3D&amp; anchorPoint, FloatSize&amp; alignmentOffset) const;
</span><span class="lines">@@ -292,7 +292,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool recursiveVisibleRectChangeRequiresFlush(const TransformState&amp;) const;
</span><span class="cx"> 
</span><del>-    virtual bool canThrottleLayerFlush() const override;
</del><ins>+    WEBCORE_EXPORT virtual bool canThrottleLayerFlush() const override;
</ins><span class="cx"> 
</span><span class="cx">     // Used to track the path down the tree for replica layers.
</span><span class="cx">     struct ReplicaState {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaLayerFlushSchedulerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -35,19 +35,19 @@
</span><span class="cx"> class LayerFlushScheduler {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(LayerFlushScheduler);
</span><span class="cx"> public:
</span><del>-    LayerFlushScheduler(LayerFlushSchedulerClient*);
-    virtual ~LayerFlushScheduler();
</del><ins>+    WEBCORE_EXPORT LayerFlushScheduler(LayerFlushSchedulerClient*);
+    WEBCORE_EXPORT virtual ~LayerFlushScheduler();
</ins><span class="cx"> 
</span><del>-    void schedule();
-    void invalidate();
</del><ins>+    WEBCORE_EXPORT void schedule();
+    WEBCORE_EXPORT void invalidate();
</ins><span class="cx"> 
</span><del>-    void suspend();
-    void resume();
</del><ins>+    WEBCORE_EXPORT void suspend();
+    WEBCORE_EXPORT void resume();
</ins><span class="cx"> 
</span><span class="cx">     bool isSuspended() const { return m_isSuspended; }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    virtual void layerFlushCallback();
</del><ins>+    WEBCORE_EXPORT virtual void layerFlushCallback();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaLayerPoolh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/LayerPool.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/LayerPool.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/LayerPool.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> class LayerPool {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(LayerPool);
</span><span class="cx"> public:
</span><del>-    LayerPool();
-    ~LayerPool();
</del><ins>+    WEBCORE_EXPORT LayerPool();
+    WEBCORE_EXPORT ~LayerPool();
</ins><span class="cx"> 
</span><span class="cx">     static HashSet&lt;LayerPool*&gt;&amp; allLayerPools();
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaPlatformCAFiltersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/PlatformCAFilters.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/PlatformCAFilters.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/PlatformCAFilters.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,13 +47,13 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformCAFilters {
</span><span class="cx"> public:
</span><del>-    static void setFiltersOnLayer(PlatformLayer*, const FilterOperations&amp;);
-    static void setBlendingFiltersOnLayer(PlatformLayer*, const BlendMode);
</del><ins>+    WEBCORE_EXPORT static void setFiltersOnLayer(PlatformLayer*, const FilterOperations&amp;);
+    WEBCORE_EXPORT static void setBlendingFiltersOnLayer(PlatformLayer*, const BlendMode);
</ins><span class="cx">     static int numAnimatedFilterProperties(FilterOperation::OperationType);
</span><span class="cx">     static const char* animatedFilterPropertyName(FilterOperation::OperationType, int internalFilterPropertyIndex);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    static RetainPtr&lt;NSValue&gt; filterValueForOperation(const FilterOperation*, int internalFilterPropertyIndex);
</del><ins>+    WEBCORE_EXPORT static RetainPtr&lt;NSValue&gt; filterValueForOperation(const FilterOperation*, int internalFilterPropertyIndex);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #ifdef USE_CA_FILTERS
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaPlatformCALayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;PlatformCALayer&gt; clone(PlatformCALayerClient*) const = 0;
</span><span class="cx"> 
</span><del>-    virtual ~PlatformCALayer();
</del><ins>+    WEBCORE_EXPORT virtual ~PlatformCALayer();
</ins><span class="cx"> 
</span><span class="cx">     GraphicsLayer::PlatformLayerID layerID() const { return m_layerID; }
</span><span class="cx"> 
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> 
</span><span class="cx">     // This function passes the layer as a void* rather than a PlatformLayer because PlatformLayer
</span><span class="cx">     // is defined differently for Obj C and C++. This allows callers from both languages.
</span><del>-    static PlatformCALayer* platformCALayer(void* platformLayer);
</del><ins>+    WEBCORE_EXPORT static PlatformCALayer* platformCALayer(void* platformLayer);
</ins><span class="cx"> 
</span><span class="cx">     virtual PlatformLayer* platformLayer() const { return m_layer.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -245,14 +245,14 @@
</span><span class="cx">         
</span><span class="cx">     // Functions allows us to share implementation across WebTiledLayer and WebLayer
</span><span class="cx">     static RepaintRectList collectRectsToPaint(CGContextRef, PlatformCALayer*);
</span><del>-    static void drawLayerContents(CGContextRef, PlatformCALayer*, RepaintRectList&amp; dirtyRects);
</del><ins>+    WEBCORE_EXPORT static void drawLayerContents(CGContextRef, PlatformCALayer*, RepaintRectList&amp; dirtyRects);
</ins><span class="cx">     static void drawRepaintIndicator(CGContextRef, PlatformCALayer*, int repaintCount, CGColorRef customBackgroundColor);
</span><span class="cx">     static CGRect frameForLayer(const PlatformLayer*);
</span><span class="cx"> 
</span><span class="cx">     void moveToLayerPool();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    PlatformCALayer(LayerType, PlatformCALayerClient* owner);
</del><ins>+    WEBCORE_EXPORT PlatformCALayer(LayerType, PlatformCALayerClient* owner);
</ins><span class="cx"> 
</span><span class="cx">     virtual LayerPool&amp; layerPool();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscamacPlatformCAAnimationMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> class PlatformCAAnimationMac final : public PlatformCAAnimation {
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;PlatformCAAnimation&gt; create(AnimationType, const String&amp; keyPath);
</span><del>-    static PassRefPtr&lt;PlatformCAAnimation&gt; create(PlatformAnimationRef);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;PlatformCAAnimation&gt; create(PlatformAnimationRef);
</ins><span class="cx"> 
</span><span class="cx">     virtual ~PlatformCAAnimationMac();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscamacPlatformCALayerMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     // is defined differently for Obj C and C++. This allows callers from both languages.
</span><span class="cx">     static PassRefPtr&lt;PlatformCALayer&gt; create(void* platformLayer, PlatformCALayerClient*);
</span><span class="cx"> 
</span><del>-    static LayerType layerTypeForPlatformLayer(PlatformLayer*);
</del><ins>+    WEBCORE_EXPORT static LayerType layerTypeForPlatformLayer(PlatformLayer*);
</ins><span class="cx"> 
</span><span class="cx">     ~PlatformCALayerMac();
</span><span class="cx"> 
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void setHidden(bool) override;
</span><span class="cx"> 
</span><del>-    virtual void setGeometryFlipped(bool) override;
</del><ins>+    WEBCORE_EXPORT virtual void setGeometryFlipped(bool) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isDoubleSided() const override;
</span><span class="cx">     virtual void setDoubleSided(bool) override;
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_FILTERS)
</span><span class="cx">     virtual void setFilters(const FilterOperations&amp;) override;
</span><del>-    static bool filtersCanBeComposited(const FilterOperations&amp;);
</del><ins>+    WEBCORE_EXPORT static bool filtersCanBeComposited(const FilterOperations&amp;);
</ins><span class="cx">     virtual void copyFiltersFrom(const PlatformCALayer*) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgIOSurfacePoolh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/IOSurfacePool.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/IOSurfacePool.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/cg/IOSurfacePool.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,14 +47,14 @@
</span><span class="cx">     friend class NeverDestroyed&lt;IOSurfacePool&gt;;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    static IOSurfacePool&amp; sharedPool();
</del><ins>+    WEBCORE_EXPORT static IOSurfacePool&amp; sharedPool();
</ins><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;IOSurface&gt; takeSurface(IntSize size, ColorSpace colorSpace);
</span><del>-    void addSurface(IOSurface*);
</del><ins>+    WEBCORE_EXPORT void addSurface(IOSurface*);
</ins><span class="cx"> 
</span><span class="cx">     void discardAllSurfaces();
</span><span class="cx"> 
</span><del>-    void setPoolSize(size_t);
</del><ins>+    WEBCORE_EXPORT void setPoolSize(size_t);
</ins><span class="cx"> 
</span><span class="cx">     void showPoolStatistics();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaIOSurfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -37,22 +37,22 @@
</span><span class="cx"> 
</span><span class="cx"> class IOSurface final : public RefCounted&lt;IOSurface&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;IOSurface&gt; create(IntSize, ColorSpace);
-    static PassRefPtr&lt;IOSurface&gt; createFromMachPort(mach_port_t, ColorSpace);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;IOSurface&gt; create(IntSize, ColorSpace);
+    WEBCORE_EXPORT static PassRefPtr&lt;IOSurface&gt; createFromMachPort(mach_port_t, ColorSpace);
</ins><span class="cx">     static PassRefPtr&lt;IOSurface&gt; createFromSurface(IOSurfaceRef, ColorSpace);
</span><del>-    static PassRefPtr&lt;IOSurface&gt; createFromImage(CGImageRef);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;IOSurface&gt; createFromImage(CGImageRef);
</ins><span class="cx"> 
</span><span class="cx">     static IntSize maximumSize();
</span><span class="cx"> 
</span><del>-    mach_port_t createMachPort() const;
</del><ins>+    WEBCORE_EXPORT mach_port_t createMachPort() const;
</ins><span class="cx"> 
</span><span class="cx">     // Any images created from a surface need to be released before releasing
</span><span class="cx">     // the surface, or an expensive GPU readback can result.
</span><del>-    RetainPtr&lt;CGImageRef&gt; createImage();
</del><ins>+    WEBCORE_EXPORT RetainPtr&lt;CGImageRef&gt; createImage();
</ins><span class="cx"> 
</span><span class="cx">     IOSurfaceRef surface() const { return m_surface.get(); }
</span><del>-    GraphicsContext&amp; ensureGraphicsContext();
-    CGContextRef ensurePlatformContext();
</del><ins>+    WEBCORE_EXPORT GraphicsContext&amp; ensureGraphicsContext();
+    WEBCORE_EXPORT CGContextRef ensurePlatformContext();
</ins><span class="cx"> 
</span><span class="cx">     enum class SurfaceState {
</span><span class="cx">         Valid,
</span><span class="lines">@@ -66,17 +66,17 @@
</span><span class="cx">     bool isVolatile() const;
</span><span class="cx"> 
</span><span class="cx">     // setIsVolatile only has an effect on iOS and OS 10.9 and above.
</span><del>-    SurfaceState setIsVolatile(bool);
</del><ins>+    WEBCORE_EXPORT SurfaceState setIsVolatile(bool);
</ins><span class="cx"> 
</span><span class="cx">     IntSize size() const { return m_size; }
</span><span class="cx">     size_t totalBytes() const { return m_totalBytes; }
</span><span class="cx">     ColorSpace colorSpace() const { return m_colorSpace; }
</span><span class="cx"> 
</span><del>-    bool isInUse() const;
</del><ins>+    WEBCORE_EXPORT bool isInUse() const;
</ins><span class="cx"> 
</span><span class="cx">     // The graphics context cached on the surface counts as a &quot;user&quot;, so to get
</span><span class="cx">     // an accurate result from isInUse(), it needs to be released.
</span><del>-    void releaseGraphicsContext();
</del><ins>+    WEBCORE_EXPORT void releaseGraphicsContext();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     IOSurface(IntSize, ColorSpace);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersFilterOperationsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/FilterOperations.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/FilterOperations.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/filters/FilterOperations.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx"> class FilterOperations {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    FilterOperations();
</del><ins>+    WEBCORE_EXPORT FilterOperations();
</ins><span class="cx">     FilterOperations(const FilterOperations&amp; other) { *this = other; }
</span><span class="cx">     
</span><del>-    FilterOperations&amp; operator=(const FilterOperations&amp;);
</del><ins>+    WEBCORE_EXPORT FilterOperations&amp; operator=(const FilterOperations&amp;);
</ins><span class="cx">     
</span><span class="cx">     bool operator==(const FilterOperations&amp;) const;
</span><span class="cx">     bool operator!=(const FilterOperations&amp; o) const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKith"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> class MediaPlayerPrivateQTKit : public MediaPlayerPrivateInterface {
</span><span class="cx"> public:
</span><span class="cx">     ~MediaPlayerPrivateQTKit();
</span><del>-    static void registerMediaEngine(MediaEngineRegistrar);
</del><ins>+    WEBCORE_EXPORT static void registerMediaEngine(MediaEngineRegistrar);
</ins><span class="cx"> 
</span><span class="cx">     void repaint();
</span><span class="cx">     void loadStateChanged();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosLegacyTileCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/LegacyTileCache.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/LegacyTileCache.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/ios/LegacyTileCache.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -126,8 +126,8 @@
</span><span class="cx"> 
</span><span class="cx">     void hostLayerSizeChanged();
</span><span class="cx"> 
</span><del>-    static void setLayerPoolCapacity(unsigned);
-    static void drainLayerPool();
</del><ins>+    WEBCORE_EXPORT static void setLayerPoolCapacity(unsigned);
+    WEBCORE_EXPORT static void drainLayerPool();
</ins><span class="cx"> 
</span><span class="cx">     // Logging
</span><span class="cx">     void dumpTiles();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosPlatformEventFactoryIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/PlatformEventFactoryIOS.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/PlatformEventFactoryIOS.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/ios/PlatformEventFactoryIOS.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> 
</span><span class="cx"> class PlatformEventFactory {
</span><span class="cx"> public:
</span><del>-    static PlatformMouseEvent createPlatformMouseEvent(WebEvent *);
-    static PlatformWheelEvent createPlatformWheelEvent(WebEvent *);
-    static PlatformKeyboardEvent createPlatformKeyboardEvent(WebEvent *);
</del><ins>+    WEBCORE_EXPORT static PlatformMouseEvent createPlatformMouseEvent(WebEvent *);
+    WEBCORE_EXPORT static PlatformWheelEvent createPlatformWheelEvent(WebEvent *);
+    WEBCORE_EXPORT static PlatformKeyboardEvent createPlatformKeyboardEvent(WebEvent *);
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">     static PlatformTouchEvent createPlatformTouchEvent(WebEvent *);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformioswakFloatingPointEnvironmenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/wak/FloatingPointEnvironment.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/wak/FloatingPointEnvironment.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/ios/wak/FloatingPointEnvironment.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -36,11 +36,11 @@
</span><span class="cx"> public:
</span><span class="cx">     FloatingPointEnvironment();
</span><span class="cx"> 
</span><del>-    void enableDenormalSupport();
-    void saveMainThreadEnvironment();
</del><ins>+    WEBCORE_EXPORT void enableDenormalSupport();
+    WEBCORE_EXPORT void saveMainThreadEnvironment();
</ins><span class="cx">     void propagateMainThreadEnvironment();
</span><span class="cx"> 
</span><del>-    static FloatingPointEnvironment&amp; shared();
</del><ins>+    WEBCORE_EXPORT static FloatingPointEnvironment&amp; shared();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacHIDGamepadProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/HIDGamepadProvider.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/HIDGamepadProvider.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/mac/HIDGamepadProvider.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HIDGamepadProvider);
</span><span class="cx">     friend class NeverDestroyed&lt;HIDGamepadProvider&gt;;
</span><span class="cx"> public:
</span><del>-    static HIDGamepadProvider&amp; shared();
</del><ins>+    WEBCORE_EXPORT static HIDGamepadProvider&amp; shared();
</ins><span class="cx"> 
</span><span class="cx">     virtual void startMonitoringGamepads(GamepadProviderClient*);
</span><span class="cx">     virtual void stopMonitoringGamepads(GamepadProviderClient*);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMockMediaStreamCenterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MockMediaStreamCenter.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MockMediaStreamCenter.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/mock/MockMediaStreamCenter.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> class MockMediaStreamCenter final : public MediaStreamCenter {
</span><span class="cx"> public:
</span><del>-    static void registerMockMediaStreamCenter();
</del><ins>+    WEBCORE_EXPORT static void registerMockMediaStreamCenter();
</ins><span class="cx"> 
</span><span class="cx">     virtual void validateRequestConstraints(PassRefPtr&lt;MediaStreamCreationClient&gt;, PassRefPtr&lt;MediaConstraints&gt; audioConstraints, PassRefPtr&lt;MediaConstraints&gt; videoConstraints);
</span><span class="cx">     virtual void createMediaStream(PassRefPtr&lt;MediaStreamCreationClient&gt;, PassRefPtr&lt;MediaConstraints&gt; audioConstraints, PassRefPtr&lt;MediaConstraints&gt; videoConstraints);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkFormDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/FormData.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/FormData.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/FormData.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -193,13 +193,13 @@
</span><span class="cx">         MultipartFormData // for multipart/form-data
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    static PassRefPtr&lt;FormData&gt; create();
-    static PassRefPtr&lt;FormData&gt; create(const void*, size_t);
</del><ins>+    WEBCORE_EXPORT static PassRefPtr&lt;FormData&gt; create();
+    WEBCORE_EXPORT static PassRefPtr&lt;FormData&gt; create(const void*, size_t);
</ins><span class="cx">     static PassRefPtr&lt;FormData&gt; create(const CString&amp;);
</span><span class="cx">     static PassRefPtr&lt;FormData&gt; create(const Vector&lt;char&gt;&amp;);
</span><span class="cx">     static PassRefPtr&lt;FormData&gt; create(const FormDataList&amp;, const TextEncoding&amp;, EncodingType = FormURLEncoded);
</span><span class="cx">     static PassRefPtr&lt;FormData&gt; createMultiPart(const FormDataList&amp;, const TextEncoding&amp;, Document*);
</span><del>-    ~FormData();
</del><ins>+    WEBCORE_EXPORT ~FormData();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Both these functions perform a deep copy of m_elements, but differ in handling of other data members.
</span><span class="cx">     // How much of that is intentional? We need better names that explain the difference.
</span><span class="lines">@@ -211,10 +211,10 @@
</span><span class="cx">     template&lt;typename Decoder&gt;
</span><span class="cx">     static PassRefPtr&lt;FormData&gt; decode(Decoder&amp;);
</span><span class="cx"> 
</span><del>-    void appendData(const void* data, size_t);
</del><ins>+    WEBCORE_EXPORT void appendData(const void* data, size_t);
</ins><span class="cx">     void appendFile(const String&amp; filePath, bool shouldGenerateFile = false);
</span><del>-    void appendFileRange(const String&amp; filename, long long start, long long length, double expectedModificationTime, bool shouldGenerateFile = false);
-    void appendBlob(const URL&amp; blobURL);
</del><ins>+    WEBCORE_EXPORT void appendFileRange(const String&amp; filename, long long start, long long length, double expectedModificationTime, bool shouldGenerateFile = false);
+    WEBCORE_EXPORT void appendBlob(const URL&amp; blobURL);
</ins><span class="cx">     char* expandDataStore(size_t);
</span><span class="cx"> 
</span><span class="cx">     void flatten(Vector&lt;char&gt;&amp;) const; // omits files
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPHeaderMaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPHeaderMap.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPHeaderMap.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderMap.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,8 +47,8 @@
</span><span class="cx"> public:
</span><span class="cx">     typedef HashMapType::const_iterator const_iterator;
</span><span class="cx"> 
</span><del>-    HTTPHeaderMap();
-    ~HTTPHeaderMap();
</del><ins>+    WEBCORE_EXPORT HTTPHeaderMap();
+    WEBCORE_EXPORT ~HTTPHeaderMap();
</ins><span class="cx"> 
</span><span class="cx">     // Gets a copy of the data suitable for passing to another thread.
</span><span class="cx">     std::unique_ptr&lt;CrossThreadHTTPHeaderMapData&gt; copyData() const;
</span><span class="lines">@@ -59,15 +59,15 @@
</span><span class="cx"> 
</span><span class="cx">     void clear() { m_headers.clear(); }
</span><span class="cx"> 
</span><del>-    String get(const String&amp; name) const;
-    void set(const String&amp; name, const String&amp; value);
</del><ins>+    WEBCORE_EXPORT String get(const String&amp; name) const;
+    WEBCORE_EXPORT void set(const String&amp; name, const String&amp; value);
</ins><span class="cx">     void add(const String&amp; name, const String&amp; value);
</span><span class="cx"> 
</span><del>-    String get(HTTPHeaderName) const;
</del><ins>+    WEBCORE_EXPORT String get(HTTPHeaderName) const;
</ins><span class="cx">     void set(HTTPHeaderName, const String&amp; value);
</span><span class="cx">     bool contains(HTTPHeaderName) const;
</span><span class="cx">     const_iterator find(HTTPHeaderName) const;
</span><del>-    bool remove(HTTPHeaderName);
</del><ins>+    WEBCORE_EXPORT bool remove(HTTPHeaderName);
</ins><span class="cx"> 
</span><span class="cx">     // Instead of passing a string literal to any of these functions, just use a HTTPHeaderName instead.
</span><span class="cx">     template&lt;size_t length&gt; String get(const char (&amp;)[length]) const = delete;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkNetworkStorageSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -42,10 +42,10 @@
</span><span class="cx"> class NetworkStorageSession {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static NetworkStorageSession&amp; defaultStorageSession();
-    static std::unique_ptr&lt;NetworkStorageSession&gt; createPrivateBrowsingSession(const String&amp; identifierBase = String());
</del><ins>+    WEBCORE_EXPORT static NetworkStorageSession&amp; defaultStorageSession();
+    WEBCORE_EXPORT static std::unique_ptr&lt;NetworkStorageSession&gt; createPrivateBrowsingSession(const String&amp; identifierBase = String());
</ins><span class="cx"> 
</span><del>-    static void switchToNewTestingSession();
</del><ins>+    WEBCORE_EXPORT static void switchToNewTestingSession();
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA) || USE(CFNETWORK) || USE(SOUP)
</span><span class="cx">     bool isPrivateBrowsingSession() const { return m_isPrivate; }
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     NetworkStorageSession(RetainPtr&lt;CFURLStorageSessionRef&gt;);
</span><span class="cx">     // May be null, in which case a Foundation default should be used.
</span><span class="cx">     CFURLStorageSessionRef platformSession() { return m_platformSession.get(); }
</span><del>-    RetainPtr&lt;CFHTTPCookieStorageRef&gt; cookieStorage() const;
</del><ins>+    WEBCORE_EXPORT RetainPtr&lt;CFHTTPCookieStorageRef&gt; cookieStorage() const;
</ins><span class="cx"> #elif USE(SOUP)
</span><span class="cx">     NetworkStorageSession(std::unique_ptr&lt;SoupNetworkSession&gt;);
</span><span class="cx">     ~NetworkStorageSession();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkProtectionSpaceBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ProtectionSpaceBase.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ProtectionSpaceBase.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/ProtectionSpaceBase.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -60,12 +60,12 @@
</span><span class="cx"> public:
</span><span class="cx">     bool isHashTableDeletedValue() const { return m_isHashTableDeletedValue; }
</span><span class="cx">     
</span><del>-    const String&amp; host() const;
-    int port() const;
-    ProtectionSpaceServerType serverType() const;
-    bool isProxy() const;
-    const String&amp; realm() const;
-    ProtectionSpaceAuthenticationScheme authenticationScheme() const;
</del><ins>+    WEBCORE_EXPORT const String&amp; host() const;
+    WEBCORE_EXPORT int port() const;
+    WEBCORE_EXPORT ProtectionSpaceServerType serverType() const;
+    WEBCORE_EXPORT bool isProxy() const;
+    WEBCORE_EXPORT const String&amp; realm() const;
+    WEBCORE_EXPORT ProtectionSpaceAuthenticationScheme authenticationScheme() const;
</ins><span class="cx">     
</span><span class="cx">     bool receivesCredentialSecurely() const;
</span><span class="cx"> 
</span><span class="lines">@@ -74,8 +74,8 @@
</span><span class="cx">     static bool compare(const ProtectionSpace&amp; a, const ProtectionSpace&amp; b);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ProtectionSpaceBase();
-    ProtectionSpaceBase(const String&amp; host, int port, ProtectionSpaceServerType, const String&amp; realm, ProtectionSpaceAuthenticationScheme);
</del><ins>+    WEBCORE_EXPORT ProtectionSpaceBase();
+    WEBCORE_EXPORT ProtectionSpaceBase(const String&amp; host, int port, ProtectionSpaceServerType, const String&amp; realm, ProtectionSpaceAuthenticationScheme);
</ins><span class="cx"> 
</span><span class="cx">     // Hash table deleted values, which are only constructed and never copied or destroyed.
</span><span class="cx">     ProtectionSpaceBase(WTF::HashTableDeletedValueType) : m_isHashTableDeletedValue(true) { }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaProtectionSpaceCocoah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -50,24 +50,24 @@
</span><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     explicit ProtectionSpace(CFURLProtectionSpaceRef);
</span><span class="cx"> #endif
</span><del>-    explicit ProtectionSpace(NSURLProtectionSpace *);
</del><ins>+    WEBCORE_EXPORT explicit ProtectionSpace(NSURLProtectionSpace *);
</ins><span class="cx"> 
</span><span class="cx">     static bool platformCompare(const ProtectionSpace&amp; a, const ProtectionSpace&amp; b);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
</span><del>-    bool encodingRequiresPlatformData() const { return m_nsSpace &amp;&amp; encodingRequiresPlatformData(m_nsSpace.get()); }
</del><ins>+    WEBCORE_EXPORT bool encodingRequiresPlatformData() const { return m_nsSpace &amp;&amp; encodingRequiresPlatformData(m_nsSpace.get()); }
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool receivesCredentialSecurely() const;
</del><ins>+    WEBCORE_EXPORT bool receivesCredentialSecurely() const;
</ins><span class="cx"> 
</span><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     CFURLProtectionSpaceRef cfSpace() const;
</span><span class="cx"> #endif
</span><del>-    NSURLProtectionSpace *nsSpace() const;
</del><ins>+    WEBCORE_EXPORT NSURLProtectionSpace *nsSpace() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> #if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
</span><del>-    static bool encodingRequiresPlatformData(NSURLProtectionSpace *);
</del><ins>+    WEBCORE_EXPORT static bool encodingRequiresPlatformData(NSURLProtectionSpace *);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     mutable RetainPtr&lt;NSURLProtectionSpace&gt; m_nsSpace;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkiosQuickLookh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ios/QuickLook.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ios/QuickLook.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/network/ios/QuickLook.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -86,25 +86,25 @@
</span><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     static std::unique_ptr&lt;QuickLookHandle&gt; create(ResourceHandle*, SynchronousResourceHandleCFURLConnectionDelegate*, CFURLResponseRef);
</span><span class="cx"> #endif
</span><del>-    static std::unique_ptr&lt;QuickLookHandle&gt; create(ResourceLoader*, NSURLResponse *);
-    ~QuickLookHandle();
</del><ins>+    WEBCORE_EXPORT static std::unique_ptr&lt;QuickLookHandle&gt; create(ResourceLoader*, NSURLResponse *);
+    WEBCORE_EXPORT ~QuickLookHandle();
</ins><span class="cx"> 
</span><del>-    bool didReceiveDataArray(CFArrayRef);
</del><ins>+    WEBCORE_EXPORT bool didReceiveDataArray(CFArrayRef);
</ins><span class="cx">     bool didReceiveData(CFDataRef);
</span><del>-    bool didFinishLoading();
-    void didFail();
</del><ins>+    WEBCORE_EXPORT bool didFinishLoading();
+    WEBCORE_EXPORT void didFail();
</ins><span class="cx"> 
</span><del>-    NSURLResponse *nsResponse();
</del><ins>+    WEBCORE_EXPORT NSURLResponse *nsResponse();
</ins><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     CFURLResponseRef cfResponse();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void setClient(PassRefPtr&lt;QuickLookHandleClient&gt; client) { m_client = client; }
</span><span class="cx"> 
</span><del>-    String previewFileName() const;
-    String previewUTI() const;
</del><ins>+    WEBCORE_EXPORT String previewFileName() const;
+    WEBCORE_EXPORT String previewUTI() const;
</ins><span class="cx">     NSURL *firstRequestURL() const { return m_firstRequestURL.get(); }
</span><del>-    NSURL *previewRequestURL() const;
</del><ins>+    WEBCORE_EXPORT NSURL *previewRequestURL() const;
</ins><span class="cx">     QLPreviewConverter *converter() const { return m_converter.get(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextTextBreakIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/TextBreakIterator.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/TextBreakIterator.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/platform/text/TextBreakIterator.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -168,8 +168,8 @@
</span><span class="cx"> class NonSharedCharacterBreakIterator {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(NonSharedCharacterBreakIterator);
</span><span class="cx"> public:
</span><del>-    NonSharedCharacterBreakIterator(StringView);
-    ~NonSharedCharacterBreakIterator();
</del><ins>+    WEBCORE_EXPORT NonSharedCharacterBreakIterator(StringView);
+    WEBCORE_EXPORT ~NonSharedCharacterBreakIterator();
</ins><span class="cx"> 
</span><span class="cx">     operator TextBreakIterator*() const { return m_iterator; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepluginsPluginDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/plugins/PluginData.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/plugins/PluginData.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/plugins/PluginData.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">         OnlyApplicationPlugins
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    bool supportsMimeType(const String&amp; mimeType, const AllowedPluginTypes) const;
</del><ins>+    WEBCORE_EXPORT bool supportsMimeType(const String&amp; mimeType, const AllowedPluginTypes) const;
</ins><span class="cx">     String pluginNameForMimeType(const String&amp; mimeType) const;
</span><span class="cx">     String pluginFileForMimeType(const String&amp; mimeType) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepluginsPluginMainThreadSchedulerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/plugins/PluginMainThreadScheduler.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/plugins/PluginMainThreadScheduler.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/plugins/PluginMainThreadScheduler.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -41,12 +41,12 @@
</span><span class="cx"> public:
</span><span class="cx">     typedef void MainThreadFunction(void*);
</span><span class="cx"> 
</span><del>-    static PluginMainThreadScheduler&amp; scheduler();
</del><ins>+    WEBCORE_EXPORT static PluginMainThreadScheduler&amp; scheduler();
</ins><span class="cx"> 
</span><del>-    void scheduleCall(NPP, MainThreadFunction*, void* userData);
</del><ins>+    WEBCORE_EXPORT void scheduleCall(NPP, MainThreadFunction*, void* userData);
</ins><span class="cx"> 
</span><del>-    void registerPlugin(NPP);
-    void unregisterPlugin(NPP);
</del><ins>+    WEBCORE_EXPORT void registerPlugin(NPP);
+    WEBCORE_EXPORT void unregisterPlugin(NPP);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     PluginMainThreadScheduler();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingHitTestLocationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/HitTestLocation.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/HitTestLocation.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/rendering/HitTestLocation.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> class HitTestLocation {
</span><span class="cx"> public:
</span><span class="cx"> 
</span><del>-    HitTestLocation();
</del><ins>+    WEBCORE_EXPORT HitTestLocation();
</ins><span class="cx">     HitTestLocation(const LayoutPoint&amp;);
</span><span class="cx">     HitTestLocation(const FloatPoint&amp;);
</span><span class="cx">     HitTestLocation(const FloatPoint&amp;, const FloatQuad&amp;);
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     // Make a copy the HitTestLocation in a new region by applying given offset to internal point and area.
</span><span class="cx">     HitTestLocation(const HitTestLocation&amp;, const LayoutSize&amp; offset);
</span><span class="cx">     HitTestLocation(const HitTestLocation&amp;);
</span><del>-    ~HitTestLocation();
</del><ins>+    WEBCORE_EXPORT ~HitTestLocation();
</ins><span class="cx">     HitTestLocation&amp; operator=(const HitTestLocation&amp;);
</span><span class="cx"> 
</span><span class="cx">     const LayoutPoint&amp; point() const { return m_point; }
</span><span class="lines">@@ -66,8 +66,8 @@
</span><span class="cx">     bool isRectBasedTest() const { return m_isRectBased; }
</span><span class="cx">     bool isRectilinear() const { return m_isRectilinear; }
</span><span class="cx">     IntRect boundingBox() const { return m_boundingBox; }
</span><del>-
-    static IntRect rectForPoint(const LayoutPoint&amp;, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
</del><ins>+    
+    WEBCORE_EXPORT static IntRect rectForPoint(const LayoutPoint&amp;, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
</ins><span class="cx">     int topPadding() const { return roundedPoint().y() - m_boundingBox.y(); }
</span><span class="cx">     int rightPadding() const { return m_boundingBox.maxX() - roundedPoint().x() - 1; }
</span><span class="cx">     int bottomPadding() const { return m_boundingBox.maxY() - roundedPoint().y() - 1; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingHitTestResulth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/HitTestResult.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/HitTestResult.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/rendering/HitTestResult.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -55,13 +55,13 @@
</span><span class="cx">     HitTestResult(const LayoutPoint&amp; centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
</span><span class="cx">     explicit HitTestResult(const HitTestLocation&amp;);
</span><span class="cx">     HitTestResult(const HitTestResult&amp;);
</span><del>-    ~HitTestResult();
</del><ins>+    WEBCORE_EXPORT ~HitTestResult();
</ins><span class="cx">     HitTestResult&amp; operator=(const HitTestResult&amp;);
</span><span class="cx"> 
</span><span class="cx">     Node* innerNode() const { return m_innerNode.get(); }
</span><del>-    Element* innerElement() const;
</del><ins>+    WEBCORE_EXPORT Element* innerElement() const;
</ins><span class="cx">     Node* innerNonSharedNode() const { return m_innerNonSharedNode.get(); }
</span><del>-    Element* innerNonSharedElement() const;
</del><ins>+    WEBCORE_EXPORT Element* innerNonSharedElement() const;
</ins><span class="cx">     Element* URLElement() const { return m_innerURLElement.get(); }
</span><span class="cx">     Scrollbar* scrollbar() const { return m_scrollbar.get(); }
</span><span class="cx">     bool isOverWidget() const { return m_isOverWidget; }
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     // The hit-tested point in the coordinates of the innerNode frame, the frame containing innerNode.
</span><span class="cx">     const LayoutPoint&amp; pointInInnerNodeFrame() const { return m_pointInInnerNodeFrame; }
</span><span class="cx">     IntPoint roundedPointInInnerNodeFrame() const { return roundedIntPoint(pointInInnerNodeFrame()); }
</span><del>-    Frame* innerNodeFrame() const;
</del><ins>+    WEBCORE_EXPORT Frame* innerNodeFrame() const;
</ins><span class="cx"> 
</span><span class="cx">     // The hit-tested point in the coordinates of the inner node.
</span><span class="cx">     const LayoutPoint&amp; localPoint() const { return m_localPoint; }
</span><span class="lines">@@ -92,27 +92,27 @@
</span><span class="cx">     void setScrollbar(Scrollbar*);
</span><span class="cx">     void setIsOverWidget(bool b) { m_isOverWidget = b; }
</span><span class="cx"> 
</span><del>-    Frame* targetFrame() const;
-    bool isSelected() const;
-    String spellingToolTip(TextDirection&amp;) const;
</del><ins>+    WEBCORE_EXPORT Frame* targetFrame() const;
+    WEBCORE_EXPORT bool isSelected() const;
+    WEBCORE_EXPORT String spellingToolTip(TextDirection&amp;) const;
</ins><span class="cx">     String replacedString() const;
</span><del>-    String title(TextDirection&amp;) const;
</del><ins>+    WEBCORE_EXPORT String title(TextDirection&amp;) const;
</ins><span class="cx">     String innerTextIfTruncated(TextDirection&amp;) const;
</span><del>-    String altDisplayString() const;
-    String titleDisplayString() const;
-    Image* image() const;
-    IntRect imageRect() const;
-    URL absoluteImageURL() const;
-    URL absolutePDFURL() const;
-    URL absoluteMediaURL() const;
-    URL absoluteLinkURL() const;
-    String textContent() const;
-    bool isLiveLink() const;
</del><ins>+    WEBCORE_EXPORT String altDisplayString() const;
+    WEBCORE_EXPORT String titleDisplayString() const;
+    WEBCORE_EXPORT Image* image() const;
+    WEBCORE_EXPORT IntRect imageRect() const;
+    WEBCORE_EXPORT URL absoluteImageURL() const;
+    WEBCORE_EXPORT URL absolutePDFURL() const;
+    WEBCORE_EXPORT URL absoluteMediaURL() const;
+    WEBCORE_EXPORT URL absoluteLinkURL() const;
+    WEBCORE_EXPORT String textContent() const;
+    WEBCORE_EXPORT bool isLiveLink() const;
</ins><span class="cx">     bool isOverLink() const;
</span><del>-    bool isContentEditable() const;
</del><ins>+    WEBCORE_EXPORT bool isContentEditable() const;
</ins><span class="cx">     void toggleMediaControlsDisplay() const;
</span><span class="cx">     void toggleMediaLoopPlayback() const;
</span><del>-    bool mediaIsInFullscreen() const;
</del><ins>+    WEBCORE_EXPORT bool mediaIsInFullscreen() const;
</ins><span class="cx">     void toggleMediaFullscreenState() const;
</span><span class="cx">     void enterFullscreenForVideo() const;
</span><span class="cx">     bool mediaControlsEnabled() const;
</span><span class="lines">@@ -120,8 +120,8 @@
</span><span class="cx">     bool mediaPlaying() const;
</span><span class="cx">     bool mediaSupportsFullscreen() const;
</span><span class="cx">     void toggleMediaPlayState() const;
</span><del>-    bool mediaHasAudio() const;
-    bool mediaIsVideo() const;
</del><ins>+    WEBCORE_EXPORT bool mediaHasAudio() const;
+    WEBCORE_EXPORT bool mediaIsVideo() const;
</ins><span class="cx">     bool mediaMuted() const;
</span><span class="cx">     void toggleMediaMuteState() const;
</span><span class="cx"> 
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     // If m_rectBasedTestResult is 0 then set it to a new NodeSet. Return *m_rectBasedTestResult. Lazy allocation makes
</span><span class="cx">     // sense because the NodeSet is seldom necessary, and it's somewhat expensive to allocate and initialize. This method does
</span><span class="cx">     // the same thing as mutableRectBasedTestResult(), but here the return value is const.
</span><del>-    const NodeSet&amp; rectBasedTestResult() const;
</del><ins>+    WEBCORE_EXPORT const NodeSet&amp; rectBasedTestResult() const;
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;String&gt; dictationAlternatives() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineBox.h (172861 => 172862)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineBox.h        2014-08-22 18:18:54 UTC (rev 172861)
+++ trunk/Source/WebCore/rendering/InlineBox.h        2014-08-22 18:25:37 UTC (rev 172862)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool isLineBreak() const { return renderer().isLineBreak(); }
</span><span class="cx"> 
</span><del>-    virtual void adjustPosition(float dx, float dy);
</del><ins>+    WEBCORE_EXPORT virtual void adjustPosition(float dx, float dy);
</ins><span class="cx">     void adjustLogicalPosition(float deltaLogicalLeft, float deltaLogicalTop)
</span><span class="cx">     {
</span><span class="cx">         if (isHorizontal())
</span><span class="lines">@@ -212,11 +212,11 @@
</span><span class="cx">     FloatRect logicalFrameRect() const { return isHorizontal() ? FloatRect(m_topLeft.x(), m_topLeft.y(), m_logicalWidth, logicalHeight()) : FloatRect(m_topLeft.y(), m_topLeft.x(), m_logicalWidth, logicalHeight()); }
</span><span class="cx">     FloatRect frameRect() const { return FloatRect(topLeft(), size()); }
</span><span class="cx"> 
</span><del>-    virtual int baselinePosition(FontBaseline baselineType) const;
-    virtual LayoutUnit lineHeight() const;
</del><ins>+    WEBCORE_EXPORT virtual int baselinePosition(FontBaseline baselineType) const;
+    WEBCORE_EXPORT virtual LayoutUnit lineHeight() const;
</ins><span class="cx"> 
</span><del>-    virtual int caretMinOffset() const;
-    virtual int caretMaxOffset() const;
</del><ins>+    WEBCORE_EXPORT virtual int caretMinOffset() const;
+    WEBCORE_EXPORT virtual int caretMaxOffset() const;
</ins><span class="cx"> 
</span><span class="cx">     unsigned char bidiLevel() const { return m_bitfields.bidiEmbeddingLevel(); }
</span><span class="cx">     void setBidiLevel(unsigned char level) { m_bitfields.setBidiEmbeddingLevel(level); }
</span><span class="lines">@@ -230,13 +230,13 @@
</span><span class="cx">     bool isDirty() const { return m_bitfields.dirty(); }
</span><span class="cx">     virtual void markDirty(bool dirty = true) { m_bitfields.setDirty(dirty); }
</span><span class="cx"> 
</span><del>-    virtual void dirtyLineBoxes();
</del><ins>+    WEBCORE_EXPORT virtual void dirtyLineBoxes();
</ins><span class="cx">     
</span><del>-    virtual RenderObject::SelectionState selectionState();
</del><ins>+    WEBCORE_EXPORT virtual RenderObject::SelectionState selectionState();
</ins><span class="cx"> 
</span><del>-    virtual bool canAccommodateEllipsis(bool ltr, int blockEdge, int ellipsisWidth) const;
</del><ins>+    WEBCORE_EXPORT virtual bool canAccommodateEllipsis(bool ltr, int blockEdge, int ellipsisWidth) const;
</ins><span class="cx">     // visibleLeftEdge, visibleRightEdge are in the parent's coordinate system.
</span><del>-    virtual float placeEllipsisBox(bool ltr, float visibleLeftEdge, float visibleRightEdge, float ellipsisWidth, float &amp;truncatedWidth, bool&amp;);
</del><ins>+    WEBCORE_EXPORT virtual float placeEllipsisBox(bool ltr, float visibleLeftEdge, float visibleRightEdge, float ellipsisWidth, float &amp;truncatedWidth, bool&amp;);
</ins><span class="cx"> 
</span><span class="cx"> #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED
</span><span class="cx">     void setHasBadParent();
</span></span></pre>
</div>
</div>

</body>
</html>