Progress towards CMake on Mac.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Sep 2015 21:22:46 +0000 (21:22 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Sep 2015 21:22:46 +0000 (21:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149123

Reviewed by Chris Dumez.

.:

* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
Defined and enabled some more features needed on Mac.
* Source/cmake/WebKitMacros.cmake:
Objective C bindings need special changes when generating:
Some of the bindings do not generate a .mm file but the header is needed.
Some of the bindings do generate a .mm file that doesn't compile but the header is needed.
In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC.

Source/JavaScriptCore:

* CMakeLists.txt:
Make forwarding headers for the replay subdirectory.
* PlatformMac.cmake:
Make forwarding headers for the generated inspector headers.
They should eventually either be packaged correctly with JavaScriptCore headers and included correctly.

Source/WebCore:

* CMakeLists.txt:
Added some more files.
* PlatformMac.cmake:
Added more files and listed the strange ObjC bindings.
* contentextensions/DFACombiner.cpp:
* contentextensions/DFACombiner.h:
Added preprocessor protection.
* platform/FileSystem.h:
Include utility.  It's needed to compile the different configurations.
* platform/ScrollAnimator.cpp:
ScrollAnimator is an abstract class on Mac.  Don't compile it.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
FontAntialiasingStateSaver.h is only used on iOS.
* rendering/RenderThemeMac.mm:
config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers.

Source/WebKit:

* CMakeLists.txt:
* PlatformMac.cmake:
Added more sources, make non-c99 sources compile as objc++
* PlatformWin.cmake:
Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share.

Source/WebKit/mac:

* WebView/WebPDFDocumentExtras.mm:
(appendValuesInPDFNameSubtreeToVector):
* WebView/WebPDFView.mm:
Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks.

Source/WebKit2:

* PlatformMac.cmake:
Added some more sources.

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

25 files changed:
ChangeLog
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/PlatformMac.cmake
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/PlatformMac.cmake
Source/WebCore/contentextensions/DFACombiner.cpp
Source/WebCore/contentextensions/DFACombiner.h
Source/WebCore/platform/FileSystem.h
Source/WebCore/platform/ScrollAnimator.cpp
Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
Source/WebCore/rendering/RenderThemeMac.mm
Source/WebKit/CMakeLists.txt
Source/WebKit/ChangeLog
Source/WebKit/PlatformMac.cmake
Source/WebKit/PlatformWin.cmake
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebPDFDocumentExtras.mm
Source/WebKit/mac/WebView/WebPDFView.mm
Source/WebKit2/ChangeLog
Source/WebKit2/PlatformMac.cmake
Source/cmake/OptionsMac.cmake
Source/cmake/WebKitFeatures.cmake
Source/cmake/WebKitMacros.cmake

index 1ca358e..76a077b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * Source/cmake/OptionsMac.cmake:
+        * Source/cmake/WebKitFeatures.cmake:
+        Defined and enabled some more features needed on Mac.
+        * Source/cmake/WebKitMacros.cmake:
+        Objective C bindings need special changes when generating:
+        Some of the bindings do not generate a .mm file but the header is needed.
+        Some of the bindings do generate a .mm file that doesn't compile but the header is needed.
+        In order to handle these cases, it is necessary to change the GENERATE_BINDINGS macro just for ObjC.
+
 2015-09-08  Daniel Bates  <dabates@apple.com>
 
         Convert manual test added in http://trac.webkit.org/changeset/70321 to an automated test
index e41411f..dd8f546 100644 (file)
@@ -950,6 +950,7 @@ set(JavaScriptCore_FORWARDING_HEADERS_DIRECTORIES
     llint
     parser
     profiler
+    replay
     runtime
     yarr
 
index d051e5e..630bf6d 100644 (file)
@@ -1,3 +1,16 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * CMakeLists.txt:
+        Make forwarding headers for the replay subdirectory.
+        * PlatformMac.cmake:
+        Make forwarding headers for the generated inspector headers. 
+        They should eventually either be packaged correctly with JavaScriptCore headers and included correctly.
+
 2015-09-14  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [ES6] Cache the resolution result in JSModuleRecord
index edc106e..703d60a 100644 (file)
@@ -41,3 +41,14 @@ list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
 list(APPEND JavaScriptCore_HEADERS
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h
 )
+
+# FIXME: Make including these files consistent in the source so these forwarding headers are not needed.
+if (NOT EXISTS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.h)
+    file(WRITE ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.h "#include \"inspector/InspectorBackendDispatchers.h\"")
+endif ()
+if (NOT EXISTS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.h)
+    file(WRITE ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.h "#include \"inspector/InspectorFrontendDispatchers.h\"")
+endif ()
+if (NOT EXISTS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.h)
+    file(WRITE ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.h "#include \"inspector/InspectorProtocolObjects.h\"")
+endif ()
index ca33fda..29577e5 100644 (file)
@@ -1245,6 +1245,7 @@ set(WebCore_SOURCES
 
     bridge/jsc/BridgeJSC.cpp
 
+    contentextensions/CombinedFiltersAlphabet.cpp
     contentextensions/CombinedURLFilters.cpp
     contentextensions/CompiledContentExtension.cpp
     contentextensions/ContentExtension.cpp
@@ -1252,10 +1253,14 @@ set(WebCore_SOURCES
     contentextensions/ContentExtensionError.cpp
     contentextensions/ContentExtensionParser.cpp
     contentextensions/ContentExtensionRule.cpp
+    contentextensions/ContentExtensionStyleSheet.cpp
     contentextensions/ContentExtensionsBackend.cpp
     contentextensions/DFA.cpp
     contentextensions/DFABytecodeCompiler.cpp
     contentextensions/DFABytecodeInterpreter.cpp
+    contentextensions/DFACombiner.cpp
+    contentextensions/DFAMinimizer.cpp
+    contentextensions/DFANode.cpp
     contentextensions/NFA.cpp
     contentextensions/NFAToDFA.cpp
     contentextensions/URLFilterParser.cpp
@@ -2033,6 +2038,7 @@ set(WebCore_SOURCES
     page/animation/ImplicitAnimation.cpp
     page/animation/KeyframeAnimation.cpp
 
+    page/scrolling/AxisScrollSnapOffsets.cpp
     page/scrolling/ScrollLatchingState.cpp
     page/scrolling/ScrollingConstraints.cpp
     page/scrolling/ScrollingCoordinator.cpp
@@ -2043,6 +2049,13 @@ set(WebCore_SOURCES
     page/scrolling/ScrollingStateScrollingNode.cpp
     page/scrolling/ScrollingStateStickyNode.cpp
     page/scrolling/ScrollingStateTree.cpp
+    page/scrolling/ScrollingThread.cpp
+    page/scrolling/ScrollingTree.cpp
+    page/scrolling/ScrollingTreeFrameScrollingNode.cpp
+    page/scrolling/ScrollingTreeNode.cpp
+    page/scrolling/ScrollingTreeOverflowScrollingNode.cpp
+    page/scrolling/ScrollingTreeScrollingNode.cpp
+    page/scrolling/ThreadedScrollingTree.cpp
 
     platform/CalculationValue.cpp
     platform/Clock.cpp
index f8243d0..12fecca 100644 (file)
@@ -1,3 +1,26 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * CMakeLists.txt:
+        Added some more files.
+        * PlatformMac.cmake:
+        Added more files and listed the strange ObjC bindings.
+        * contentextensions/DFACombiner.cpp:
+        * contentextensions/DFACombiner.h:
+        Added preprocessor protection.
+        * platform/FileSystem.h:
+        Include utility.  It's needed to compile the different configurations.
+        * platform/ScrollAnimator.cpp:
+        ScrollAnimator is an abstract class on Mac.  Don't compile it.
+        * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+        FontAntialiasingStateSaver.h is only used on iOS.
+        * rendering/RenderThemeMac.mm:
+        config.h needs to be outside the #if !PLATFORM(IOS) to compile correctly without precompiled headers.
+
 2015-09-14  Brady Eidson  <beidson@apple.com>
 
         Rename current concrete IDB implementation to "Legacy".
index d28e5d7..b89c820 100644 (file)
@@ -1,15 +1,39 @@
+find_library(QUARTZ_FRAMEWORK Quartz)
+add_definitions(-iframework ${QUARTZ_FRAMEWORK}/Frameworks)
+
 list(APPEND WebCore_INCLUDE_DIRECTORIES
+    "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
+    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
+    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
+    "${JAVASCRIPTCORE_DIR}/replay"
+    "${THIRDPARTY_DIR}/ANGLE"
+    "${THIRDPARTY_DIR}/ANGLE/include/KHR"
     "${WEBCORE_DIR}/accessibility/mac"
     "${WEBCORE_DIR}/bindings/objc"
     "${WEBCORE_DIR}/bridge/objc"
     "${WEBCORE_DIR}/editing/cocoa"
     "${WEBCORE_DIR}/editing/mac"
+    "${WEBCORE_DIR}/ForwardingHeaders"
+    "${WEBCORE_DIR}/ForwardingHeaders/bindings"
+    "${WEBCORE_DIR}/ForwardingHeaders/bytecode"
+    "${WEBCORE_DIR}/ForwardingHeaders/debugger"
+    "${WEBCORE_DIR}/ForwardingHeaders/heap"
+    "${WEBCORE_DIR}/ForwardingHeaders/inspector"
+    "${WEBCORE_DIR}/ForwardingHeaders/interpreter"
+    "${WEBCORE_DIR}/ForwardingHeaders/jit"
+    "${WEBCORE_DIR}/ForwardingHeaders/masm"
+    "${WEBCORE_DIR}/ForwardingHeaders/parser"
+    "${WEBCORE_DIR}/ForwardingHeaders/profiler"
+    "${WEBCORE_DIR}/ForwardingHeaders/replay"
+    "${WEBCORE_DIR}/ForwardingHeaders/runtime"
+    "${WEBCORE_DIR}/ForwardingHeaders/yarr"
     "${WEBCORE_DIR}/icu"
     "${WEBCORE_DIR}/loader/archive/cf"
     "${WEBCORE_DIR}/loader/cf"
     "${WEBCORE_DIR}/loader/mac"
     "${WEBCORE_DIR}/page/cocoa"
     "${WEBCORE_DIR}/page/mac"
+    "${WEBCORE_DIR}/page/scrolling/mac"
     "${WEBCORE_DIR}/platform/audio/mac"
     "${WEBCORE_DIR}/platform/cf"
     "${WEBCORE_DIR}/platform/cocoa"
@@ -17,7 +41,7 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/graphics/avfoundation/cf"
     "${WEBCORE_DIR}/platform/graphics/avfoundation/objc"
     "${WEBCORE_DIR}/platform/graphics/ca"
-    "${WEBCORE_DIR}/platform/graphics/ca/mac"
+    "${WEBCORE_DIR}/platform/graphics/ca/cocoa"
     "${WEBCORE_DIR}/platform/graphics/cocoa"
     "${WEBCORE_DIR}/platform/graphics/cg"
     "${WEBCORE_DIR}/platform/graphics/opentype"
@@ -32,8 +56,36 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/spi/cf"
     "${WEBCORE_DIR}/platform/spi/cg"
     "${WEBCORE_DIR}/platform/spi/cocoa"
+    "${WEBCORE_DIR}/platform/spi/ios"
     "${WEBCORE_DIR}/platform/spi/mac"
     "${WEBCORE_DIR}/plugins/mac"
+    "${WTF_DIR}"
+)
+
+list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
+    ${WEBCORE_DIR}/html/shadow/mac/imageControlsMac.css
+    ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.css
+)
+
+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.h ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.cpp
+    MAIN_DEPENDENCY ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.js
+    DEPENDS Scripts/make-js-file-arrays.py
+    COMMAND PYTHONPATH=${WebCore_INSPECTOR_SCRIPTS_DIR} ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/Scripts/make-js-file-arrays.py ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.h ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.cpp ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.js
+    VERBATIM)
+
+#FIXME: Use ios-encodings.txt once we get CMake working for iOS.
+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
+    MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl
+    DEPENDS platform/text/mac/character-sets.txt
+    DEPENDS platform/text/mac/mac-encodings.txt
+    COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl ${WEBCORE_DIR}/platform/text/mac/character-sets.txt ${WEBCORE_DIR}/platform/text/mac/mac-encodings.txt kTextEncoding > ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
+    VERBATIM)
+
+list(APPEND WebCore_SOURCES
+    ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
+    ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.cpp
 )
 
 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
@@ -42,11 +94,18 @@ list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
 )
 
 list(APPEND WebCore_SOURCES
+    Modules/indieui/UIRequestEvent.cpp
+
+    Modules/plugins/QuickTimePluginReplacement.mm
+    Modules/plugins/YouTubePluginReplacement.cpp
+
     accessibility/mac/AXObjectCacheMac.mm
     accessibility/mac/AccessibilityObjectMac.mm
     accessibility/mac/WebAccessibilityObjectWrapperBase.mm
     accessibility/mac/WebAccessibilityObjectWrapperMac.mm
 
+    bindings/js/ScriptControllerMac.mm
+
     bindings/objc/DOM.mm
     bindings/objc/DOMAbstractView.mm
     bindings/objc/DOMCSS.mm
@@ -63,6 +122,12 @@ list(APPEND WebCore_SOURCES
     bindings/objc/ObjCNodeFilterCondition.mm
     bindings/objc/WebScriptObject.mm
 
+    bridge/objc/ObjCRuntimeObject.mm
+    bridge/objc/objc_class.mm
+    bridge/objc/objc_instance.mm
+    bridge/objc/objc_runtime.mm
+    bridge/objc/objc_utility.mm
+
     crypto/CommonCryptoUtilities.cpp
     crypto/CryptoAlgorithm.cpp
     crypto/CryptoAlgorithmDescriptionBuilder.cpp
@@ -101,6 +166,12 @@ list(APPEND WebCore_SOURCES
     crypto/mac/CryptoKeyRSAMac.cpp
     crypto/mac/SerializedCryptoKeyWrapMac.mm
 
+    dom/DataTransferMac.mm
+
+    editing/SelectionRectGatherer.cpp
+    editing/SmartReplaceCF.cpp
+
+    editing/cocoa/EditorCocoa.mm
     editing/cocoa/HTMLConverter.mm
 
     editing/mac/AlternativeTextUIController.mm
@@ -111,24 +182,62 @@ list(APPEND WebCore_SOURCES
     editing/mac/TextAlternativeWithRange.mm
     editing/mac/TextUndoInsertionMarkupMac.mm
 
+    fileapi/FileMac.mm
+
+    html/shadow/ImageControlsRootElement.cpp
+    html/shadow/YouTubeEmbedShadowElement.cpp
+
+    html/shadow/mac/ImageControlsButtonElementMac.cpp
+    html/shadow/mac/ImageControlsRootElementMac.cpp
+
     history/mac/HistoryItemMac.mm
 
+    loader/ResourceLoadInfo.cpp
+
     loader/archive/cf/LegacyWebArchive.cpp
     loader/archive/cf/LegacyWebArchiveMac.mm
 
+    loader/cocoa/DiskCacheMonitorCocoa.mm
+    loader/cocoa/SubresourceLoaderCocoa.mm
+
     loader/cf/ResourceLoaderCFNet.cpp
     loader/cf/SubresourceLoaderCF.cpp
 
+    loader/mac/DocumentLoaderMac.cpp
+    loader/mac/LoaderNSURLExtras.mm
+    loader/mac/ResourceLoaderMac.mm
+
+    page/CaptionUserPreferencesMediaAF.cpp
+    page/PageDebuggable.cpp
+
     page/cocoa/UserAgent.mm
 
     page/mac/ChromeMac.mm
     page/mac/DragControllerMac.mm
     page/mac/EventHandlerMac.mm
     page/mac/PageMac.cpp
+    page/mac/ServicesOverlayController.mm
     page/mac/SettingsMac.mm
+    page/mac/TextIndicatorWindow.mm
     page/mac/UserAgentMac.mm
 
+    page/scrolling/AsyncScrollingCoordinator.cpp
+
+    page/scrolling/cocoa/ScrollingStateNode.mm
+
+    page/scrolling/mac/ScrollingCoordinatorMac.mm
+    page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm
+    page/scrolling/mac/ScrollingThreadMac.mm
+    page/scrolling/mac/ScrollingTreeFixedNode.mm
+    page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
+    page/scrolling/mac/ScrollingTreeMac.cpp
+    page/scrolling/mac/ScrollingTreeStickyNode.mm
+
     platform/LocalizedStrings.cpp
+    platform/ScrollableArea.cpp
+    platform/VNodeTracker.cpp
+
+    platform/audio/AudioSession.cpp
 
     platform/audio/mac/AudioBusMac.mm
     platform/audio/mac/AudioDestinationMac.cpp
@@ -151,9 +260,20 @@ list(APPEND WebCore_SOURCES
     platform/cocoa/ContentFilterUnblockHandlerCocoa.mm
     platform/cocoa/DisplaySleepDisablerCocoa.cpp
     platform/cocoa/KeyEventCocoa.mm
+    platform/cocoa/LocalizedStringsCocoa.mm
+    platform/cocoa/MachSendRight.cpp
     platform/cocoa/MemoryPressureHandlerCocoa.mm
+    platform/cocoa/NetworkExtensionContentFilter.mm
+    platform/cocoa/ParentalControlsContentFilter.mm
+    platform/cocoa/ScrollController.mm
     platform/cocoa/SystemVersion.mm
     platform/cocoa/TelephoneNumberDetectorCocoa.cpp
+    platform/cocoa/ThemeCocoa.cpp
+    platform/cocoa/VNodeTrackerCocoa.cpp
+
+    platform/graphics/DisplayRefreshMonitor.cpp
+    platform/graphics/DisplayRefreshMonitorManager.cpp
+    platform/graphics/FontPlatformData.cpp
 
     platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm
     platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm
@@ -188,6 +308,13 @@ list(APPEND WebCore_SOURCES
     platform/graphics/ca/TileGrid.cpp
     platform/graphics/ca/TransformationMatrixCA.cpp
 
+    platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp
+    platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm
+    platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
+    platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
+    platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm
+    platform/graphics/ca/cocoa/WebTiledBackingLayer.mm
+
     platform/graphics/cg/BitmapImageCG.cpp
     platform/graphics/cg/ColorCG.cpp
     platform/graphics/cg/FloatPointCG.cpp
@@ -212,6 +339,7 @@ list(APPEND WebCore_SOURCES
     platform/graphics/cg/SubimageCacheWithTimer.cpp
     platform/graphics/cg/TransformationMatrixCG.cpp
 
+    platform/graphics/cocoa/FontCacheCoreText.cpp
     platform/graphics/cocoa/FontCascadeCocoa.mm
     platform/graphics/cocoa/FontCocoa.mm
     platform/graphics/cocoa/FontPlatformDataCocoa.mm
@@ -237,6 +365,7 @@ list(APPEND WebCore_SOURCES
     platform/graphics/mac/IntPointMac.mm
     platform/graphics/mac/IntRectMac.mm
     platform/graphics/mac/IntSizeMac.mm
+    platform/graphics/mac/MediaPlayerPrivateQTKit.mm
     platform/graphics/mac/MediaTimeQTKit.mm
     platform/graphics/mac/PDFDocumentImageMac.mm
     platform/graphics/mac/SimpleFontDataCoreText.cpp
@@ -275,6 +404,7 @@ list(APPEND WebCore_SOURCES
     platform/mac/PlatformPasteboardMac.mm
     platform/mac/PlatformScreenMac.mm
     platform/mac/PlatformSpeechSynthesizerMac.mm
+    platform/mac/PowerObserverMac.cpp
     platform/mac/PublicSuffixMac.mm
     platform/mac/SSLKeyGeneratorMac.cpp
     platform/mac/ScrollAnimatorMac.mm
@@ -352,6 +482,9 @@ list(APPEND WebCore_SOURCES
     platform/text/mac/TextBoundaries.mm
     platform/text/mac/TextBreakIteratorInternalICUMac.mm
     platform/text/mac/TextCodecMac.cpp
+
+    rendering/RenderThemeMac.mm
+    rendering/TextAutoSizing.cpp
 )
 
 # FIXME: We do not need everything from all of these directories.
@@ -399,6 +532,7 @@ set(WebCore_FORWARDING_HEADERS_DIRECTORIES
     loader/appcache
     loader/archive
     loader/cache
+    loader/cocoa
 
     loader/archive/cf
 
@@ -411,6 +545,7 @@ set(WebCore_FORWARDING_HEADERS_DIRECTORIES
     platform/audio
     platform/graphics
     platform/mac
+    platform/mediastream
     platform/mock
     platform/network
     platform/sql
@@ -509,6 +644,42 @@ set(ADDITIONAL_BINDINGS_DEPENDENCIES
     ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
     ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
 )
+
+set(ObjC_BINDINGS_NO_MM
+    AbstractView
+    AbstractWorker
+    ChildNode
+    DOMURLMediaSource
+    DOMURLMediaStream
+    DOMWindowIndexedDatabase
+    DOMWindowNotifications
+    DOMWindowSpeechSynthesis
+    DOMWindowWebDatabase
+    EventListener
+    EventTarget
+    GlobalEventHandlers
+    HTMLMediaElementMediaSession
+    HTMLMediaElementMediaStream
+    NavigatorBattery
+    NavigatorContentUtils
+    NavigatorGamepad
+    NavigatorGeolocation
+    NavigatorMediaDevices
+    NavigatorUserMedia
+    NavigatorVibration
+    NodeFilter
+    NonDocumentTypeChildNode
+    NonElementParentNode
+    ParentNode
+    URLUtils
+    WindowBase64
+    WindowEventHandlers
+    WindowTimers
+    WorkerGlobalScopeIndexedDatabase
+    WorkerGlobalScopeNotifications
+    XPathNSResolver
+)
+
 GENERATE_BINDINGS(WebCore_SOURCES
     "${OBJC_BINDINGS_IDL_FILES}"
     "${WEBCORE_DIR}"
@@ -519,136 +690,128 @@ GENERATE_BINDINGS(WebCore_SOURCES
     ${SUPPLEMENTAL_DEPENDENCY_FILE}
     ${ADDITIONAL_BINDINGS_DEPENDENCIES})
 
-list(REMOVE_ITEM WebCore_SOURCES
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAbstractView.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAbstractWorker.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAnalyserNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioBuffer.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioBufferSourceNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioContext.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioDestinationNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAudioParam.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMBiquadFilterNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCanvasRenderingContext2D.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMChannelMergerNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMChannelSplitterNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMChildNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCommandLineAPIHost.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMConvolverNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCoordinates.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCountQueuingStrategy.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCrypto.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCryptoKey.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCustomEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDataCue.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDataTransfer.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDedicatedWorkerGlobalScope.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDelayNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMCoreException.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMFormData.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMPath.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMSettableTokenList.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMStringMap.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMURL.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMURLMediaSource.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMURLMediaStream.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMWindow.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMWindowIndexedDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMWindowNotifications.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMWindowSpeechSynthesis.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMWindowWebDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDynamicsCompressorNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMEventListener.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMEventTarget.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMFileException.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMFileReader.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMFileReaderSync.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMGainNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMGeolocation.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHistory.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFormControlsCollection.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMediaElement.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMediaElementMediaSession.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMediaElementMediaStream.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTrackElement.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLVideoElement.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBAny.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBCursor.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBCursor.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBCursorWithValue.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBCursorWithValue.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBFactory.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBFactory.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBIndex.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBIndex.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBKeyRange.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBKeyRange.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBObjectStore.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBObjectStore.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBOpenDBRequest.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBOpenDBRequest.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBRequest.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBRequest.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBTransaction.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBTransaction.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBVersionChangeEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMIDBVersionChangeEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMInspectorFrontendHost.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMLocation.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMediaControlsHost.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMediaElementAudioSourceNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMediaSource.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMutationObserver.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigator.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorBattery.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorContentUtils.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorGamepad.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorGeolocation.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorMediaDevices.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorUserMedia.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNavigatorVibration.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNodeFilter.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNotification.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMOfflineAudioContext.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMOscillatorNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMPannerNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMPopStateEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMRadioNodeList.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMReadableStream.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMReadableStreamReader.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMScriptProcessorNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMScriptProfile.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMScriptProfileNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSourceBuffer.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSourceBufferList.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLError.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLException.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLResultSetRowList.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLStatementErrorCallback.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLTransaction.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSQLTransactionErrorCallback.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMSubtleCrypto.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMTrackEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMUIRequestEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMURLUtils.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMVTTCue.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWaveShaperNode.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebGL2RenderingContext.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebGLRenderingContext.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebGLRenderingContextBase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebSocket.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowBase64.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowIndexedDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowTimers.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWorker.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWorkerGlobalScope.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWorkerGlobalScopeIndexedDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWorkerGlobalScopeIndexedDatabase.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWorkerGlobalScopeNotifications.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMXMLHttpRequest.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMXMLHttpRequestProgressEvent.mm
-    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMXPathNSResolver.mm
+list(APPEND WebCore_SOURCES
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMAttr.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMBeforeLoadEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCDATASection.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCharacterData.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMComment.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCounter.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSCharsetRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSFontFaceRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSImportRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSKeyframeRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSKeyframesRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSMediaRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSPageRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSPrimitiveValue.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSRuleList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSStyleDeclaration.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSStyleRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSStyleSheet.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSSupportsRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSUnknownRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSValue.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMCSSValueList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDocument.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDocumentFragment.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDocumentType.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMImplementation.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMNamedFlowCollection.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMDOMTokenList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMEntity.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMEntityReference.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMFile.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMFileList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLAnchorElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLAppletElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLAreaElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLBaseElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLBaseFontElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLBodyElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLBRElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLButtonElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLCanvasElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLCollection.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLDirectoryElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLDivElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLDListElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLDocument.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLEmbedElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFieldSetElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFontElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFormElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFrameElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLFrameSetElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLHeadElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLHeadingElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLHRElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLHtmlElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLIFrameElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLImageElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLInputElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLLabelElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLLegendElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLLIElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLLinkElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMapElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMarqueeElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMenuElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLMetaElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLModElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLObjectElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLOListElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLOptGroupElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLOptionElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLOptionsCollection.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLParagraphElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLParamElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLPreElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLQuoteElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLScriptElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLSelectElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLStyleElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableCaptionElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableCellElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableColElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableRowElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTableSectionElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTextAreaElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLTitleElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMHTMLUListElement.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMKeyboardEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMediaList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMessageEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMessagePort.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMouseEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMMutationEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNamedNodeMap.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNode.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNodeIterator.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMNodeList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMOverflowEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMProcessingInstruction.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMProgressEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMRange.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMRect.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMRGBColor.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMStyleSheet.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMStyleSheetList.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMText.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMTextEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMTreeWalker.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMUIEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMValidityState.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebKitCSSFilterValue.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebKitCSSRegionRule.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebKitCSSTransformValue.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWebKitNamedFlow.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWheelEvent.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMXPathExpression.mm
+    ${DERIVED_SOURCES_WEBCORE_DIR}/DOMXPathResult.mm
 )
index 1a26415..781894e 100644 (file)
@@ -26,6 +26,8 @@
 #include "config.h"
 #include "DFACombiner.h"
 
+#if ENABLE(CONTENT_EXTENSIONS)
+
 #include "MutableRangeList.h"
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
@@ -221,3 +223,5 @@ void DFACombiner::combineDFAs(unsigned minimumSize, std::function<void(DFA&&)> h
 }
 
 } // namespace WebCore
+
+#endif
index 178ef90..97fe45d 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef DFACombiner_h
 #define DFACombiner_h
 
+#if ENABLE(CONTENT_EXTENSIONS)
+
 #include "DFA.h"
 #include <wtf/Vector.h>
 
@@ -53,3 +55,5 @@ inline void DFACombiner::addDFA(DFA&& dfa)
 } // namespace WebCore
 
 #endif
+
+#endif
index 13ab29b..f07d99b 100644 (file)
@@ -32,6 +32,7 @@
 #define FileSystem_h
 
 #include <time.h>
+#include <utility>
 #include <wtf/Forward.h>
 #include <wtf/Vector.h>
 #include <wtf/text/WTFString.h>
index b97c63e..f35bef9 100644 (file)
@@ -40,7 +40,7 @@
 
 namespace WebCore {
 
-#if !ENABLE(SMOOTH_SCROLLING) && !PLATFORM(IOS)
+#if !ENABLE(SMOOTH_SCROLLING) && !PLATFORM(IOS) && !PLATFORM(MAC)
 std::unique_ptr<ScrollAnimator> ScrollAnimator::create(ScrollableArea& scrollableArea)
 {
     return std::make_unique<ScrollAnimator>(scrollableArea);
index e7aa2b3..d8d0de0 100644 (file)
@@ -28,7 +28,6 @@
 
 #import "AnimationUtilities.h"
 #import "BlockExceptions.h"
-#import "FontAntialiasingStateSaver.h"
 #import "GraphicsContext.h"
 #import "GraphicsLayerCA.h"
 #import "LengthFunctions.h"
@@ -53,6 +52,7 @@
 #import <wtf/RetainPtr.h>
 
 #if PLATFORM(IOS)
+#import "FontAntialiasingStateSaver.h"
 #import "WAKWindow.h"
 #import "WKGraphics.h"
 #import "WebCoreThread.h"
index fb4e4c8..3638205 100644 (file)
  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
+#import "config.h"
+
 #if !PLATFORM(IOS)
 
-#import "config.h"
 #import "RenderThemeMac.h"
 
 #import "BitmapImage.h"
index f0c7faf..2e2f619 100644 (file)
@@ -2,9 +2,11 @@ cmake_minimum_required(VERSION 2.8.12)
 include(WebKitCommon)
 
 set(WebKit_SOURCES
+    WebCoreSupport/WebViewGroup.cpp
 )
 
 set(WebKit_INCLUDE_DIRECTORIES
+    WebCoreSupport
     "${CMAKE_BINARY_DIR}"
     "${CMAKE_SOURCE_DIR}/Source"
     "${DERIVED_SOURCES_DIR}"
index 4ace7b8..7c82567 100644 (file)
@@ -1,3 +1,16 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+        Added more sources, make non-c99 sources compile as objc++
+        * PlatformWin.cmake:
+        Moved WebCoreTestSupport sources and includes to CMakeLists.txt to share.
+
 2015-09-13  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
 
         Remove all uses of PassRefPtr in crypto, storage, and history
index ca49d95..8215df9 100644 (file)
@@ -12,11 +12,13 @@ find_library(QUARTZ_LIBRARY Quartz)
 find_library(QUARTZCORE_LIBRARY QuartzCore)
 find_library(SECURITY_LIBRARY Security)
 find_library(SQLITE3_LIBRARY sqlite3)
+find_library(SYSTEM_CONFIGURATION_LIBRARY SystemConfiguration)
 find_library(XML2_LIBRARY XML2)
 find_package(ZLIB REQUIRED)
 
-find_library(PDFKIT_FRAMEWORK PDFKit HINTS ${QUARTZ_LIBRARY}/Versions/*/Frameworks)
-find_path(PDFKIT_INCLUDE_DIRECTORY PDFKit.h HINTS ${PDFKIT_FRAMEWORK}/Versions/*/Headers)
+add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks)
+find_library(PDFKIT_LIBRARY PDFKit HINTS ${QUARTZ_LIBRARY}/Frameworks)
+find_library(QUICKLOOKUI_LIBRARY QuickLookUI HINTS ${QUARTZ_LIBRARY}/Frameworks)
 
 if ("${CURRENT_OSX_VERSION}" MATCHES "10.9")
 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceMavericks.a)
@@ -38,11 +40,12 @@ list(APPEND WebKit_LIBRARIES
     PRIVATE ${IOKIT_LIBRARY}
     PRIVATE ${IOSURFACE_LIBRARY}
     PRIVATE ${OPENGL_LIBRARY}
-    PRIVATE ${PDFKIT_FRAMEWORK}/PDFKit
+    PRIVATE ${PDFKIT_LIBRARY}
     PRIVATE ${QUARTZ_LIBRARY}
     PRIVATE ${QUARTZCORE_LIBRARY}
     PRIVATE ${SECURITY_LIBRARY}
     PRIVATE ${SQLITE3_LIBRARY}
+    PRIVATE ${SYSTEM_CONFIGURATION_LIBRARY}
     PRIVATE ${WEBKITSYSTEMINTERFACE_LIBRARY}
     PRIVATE ${XML2_LIBRARY}
     PRIVATE ${ZLIB_LIBRARIES}
@@ -50,8 +53,10 @@ list(APPEND WebKit_LIBRARIES
 
 list(APPEND WebKit_INCLUDE_DIRECTORIES
     "${DERIVED_SOURCES_DIR}"
+    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
     "${DERIVED_SOURCES_WEBCORE_DIR}"
     "${DERIVED_SOURCES_WEBKITLEGACY_DIR}"
+    "${JAVASCRIPTCORE_DIR}"
     "${JAVASCRIPTCORE_DIR}/dfg"
     "${WEBCORE_DIR}/accessibility/mac"
     "${WEBCORE_DIR}/bindings/objc"
@@ -82,11 +87,11 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/text/cf"
     "${WEBCORE_DIR}/platform/text/mac"
     "${WEBCORE_DIR}/plugins/mac"
+    "${WTF_DIR}"
     ../../WebKitLibraries
 )
 
 list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES
-    "${PDFKIT_INCLUDE_DIRECTORY}"
     mac
     mac/Carbon
     mac/DefaultDelegates
@@ -105,6 +110,8 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES
 )
 
 list(APPEND WebKit_SOURCES
+    cf/WebCoreSupport/WebInspectorClientCF.cpp
+
     Storage/StorageAreaImpl.cpp
     Storage/StorageAreaSync.cpp
     Storage/StorageNamespaceImpl.cpp
@@ -121,6 +128,11 @@ list(APPEND WebKit_SOURCES
     mac/Carbon/HIViewAdapter.m
     mac/Carbon/HIWebView.mm
 
+    mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm
+    mac/DefaultDelegates/WebDefaultEditingDelegate.m
+    mac/DefaultDelegates/WebDefaultPolicyDelegate.m
+    mac/DefaultDelegates/WebDefaultUIDelegate.m
+
     mac/History/BinaryPropertyList.cpp
     mac/History/HistoryPropertyList.mm
     mac/History/WebBackForwardList.mm
@@ -225,6 +237,7 @@ list(APPEND WebKit_SOURCES
     mac/WebCoreSupport/WebSecurityOrigin.mm
     mac/WebCoreSupport/WebSystemInterface.mm
     mac/WebCoreSupport/WebUserMediaClient.mm
+    mac/WebCoreSupport/WebVisitedLinkStore.mm
 
     mac/WebInspector/WebInspector.mm
     mac/WebInspector/WebInspectorFrontend.mm
@@ -248,6 +261,7 @@ list(APPEND WebKit_SOURCES
     mac/WebView/WebGeolocationPosition.mm
     mac/WebView/WebHTMLRepresentation.mm
     mac/WebView/WebHTMLView.mm
+    mac/WebView/WebImmediateActionController.mm
     mac/WebView/WebIndicateLayer.mm
     mac/WebView/WebJSPDFDoc.mm
     mac/WebView/WebNavigationData.mm
@@ -271,6 +285,7 @@ set(WebKit_LIBRARY_TYPE SHARED)
 
 set(WebKitLegacy_FORWARDING_HEADERS_DIRECTORIES
     mac/DOM
+    mac/DefaultDelegates
     mac/History
     mac/Misc
     mac/Panels
@@ -312,11 +327,16 @@ set(WebKitLegacy_FORWARDING_HEADERS_FILES
 
 add_definitions("-include WebKitPrefix.h")
 
-set_source_files_properties(
+set(C99_FILES
     ${WEBKIT_DIR}/mac/Carbon/CarbonUtils.m
     ${WEBKIT_DIR}/mac/Carbon/CarbonWindowContentView.m
     ${WEBKIT_DIR}/mac/Carbon/CarbonWindowFrame.m
     ${WEBKIT_DIR}/mac/Carbon/HIViewAdapter.m
+
+    mac/DefaultDelegates/WebDefaultEditingDelegate.m
+    mac/DefaultDelegates/WebDefaultPolicyDelegate.m
+    mac/DefaultDelegates/WebDefaultUIDelegate.m
+
     mac/History/WebURLsWithTitles.m
 
     mac/Misc/OldWebAssertions.c
@@ -348,7 +368,16 @@ set_source_files_properties(
     mac/WebCoreSupport/WebJavaScriptTextInputPanel.m
 
     mac/WebView/WebFormDelegate.m
-PROPERTIES COMPILE_FLAGS -std=c99)
+)
+
+foreach (_file ${WebKit_SOURCES})
+    list(FIND C99_FILES ${_file} _c99_index)
+    if (${_c99_index} EQUAL -1)
+        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -ObjC++)
+    else ()
+        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99)
+    endif ()
+endforeach ()
 
 file(COPY
     mac/Plugins/Hosted/WebKitPluginAgent.defs
index e06d358..7ebe863 100644 (file)
@@ -62,7 +62,6 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
     win
     win/plugins
     win/WebCoreSupport
-    WebCoreSupport
     WebKit.vcxproj/WebKit
     "${WEBKIT_DIR}/.."
     "${DERIVED_SOURCES_WEBKIT_DIR}/include"
@@ -237,9 +236,6 @@ list(APPEND WebKit_SOURCES_Classes
 )
 
 list(APPEND WebKit_SOURCES_WebCoreSupport
-    WebCoreSupport/WebViewGroup.cpp
-    WebCoreSupport/WebViewGroup.h
-
     win/WebCoreSupport/AcceleratedCompositingContext.cpp
     win/WebCoreSupport/EmbeddedWidget.cpp
     win/WebCoreSupport/EmbeddedWidget.h
index bf23736..1f18612 100644 (file)
@@ -1,3 +1,15 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * WebView/WebPDFDocumentExtras.mm:
+        (appendValuesInPDFNameSubtreeToVector):
+        * WebView/WebPDFView.mm:
+        Removed cmake include quirks that are not needed when we include things correctly from Quartz.framework/Frameworks.
+
 2015-09-12  Brian Burg  <bburg@apple.com>
 
         Web Inspector: disambiguate inspected/frontend controllers and pages in backend code
index c8f3cea..5a43f38 100644 (file)
 #import <wtf/RetainPtr.h>
 
 #if !PLATFORM(IOS)
-#ifdef BUILDING_WITH_CMAKE
-#import <PDFDocument.h>
-#else
 #import <PDFKit/PDFDocument.h>
 #endif
-#endif
 
 static void appendValuesInPDFNameSubtreeToVector(CGPDFDictionaryRef subtree, Vector<CGPDFObjectRef>& values)
 {
index 01e695e..b1a26be 100644 (file)
 #import <wtf/Assertions.h>
 #import <wtf/CurrentTime.h>
 
-#ifdef BUILDING_WITH_CMAKE
-#import <PDFKit.h>
-#else
 #import <PDFKit/PDFKit.h>
-#endif
 
 #ifdef __has_include
 #if __has_include(<ApplicationServices/ApplicationServicesPriv.h>)
index bcce43e..0f5b796 100644 (file)
@@ -1,3 +1,13 @@
+2015-09-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=149123
+
+        Reviewed by Chris Dumez.
+
+        * PlatformMac.cmake:
+        Added some more sources.
+
 2015-09-14  Dan Bernstein  <mitz@apple.com>
 
         [iOS] Stop importing WebKitAdditions/WKContentViewInteraction.mm
index 46694d3..e5e26c0 100644 (file)
@@ -1,4 +1,131 @@
-#FIXME: Add Mac-specific sources here.
+add_definitions(-ObjC++)
+
+find_library(PDFKIT_FRAMEWORK PDFKit HINTS ${QUARTZ_LIBRARY}/Versions/*/Frameworks)
+
+find_library(ACCELERATE_LIBRARY accelerate)
+find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
+find_library(AUDIOUNIT_LIBRARY AudioUnit)
+find_library(CARBON_LIBRARY Carbon)
+find_library(COCOA_LIBRARY Cocoa)
+find_library(COREAUDIO_LIBRARY CoreAudio)
+find_library(DISKARBITRATION_LIBRARY DiskArbitration)
+find_library(IOKIT_LIBRARY IOKit)
+find_library(IOSURFACE_LIBRARY IOSurface)
+find_library(OPENGL_LIBRARY OpenGL)
+find_library(QUARTZ_LIBRARY Quartz)
+find_library(QUARTZCORE_LIBRARY QuartzCore)
+find_library(SECURITY_LIBRARY Security)
+find_library(SQLITE3_LIBRARY sqlite3)
+find_library(XML2_LIBRARY XML2)
+find_package(ZLIB REQUIRED)
+
+list(APPEND WebKit2_LIBRARIES
+    ${ACCELERATE_LIBRARY}
+    ${AUDIOTOOLBOX_LIBRARY}
+    ${AUDIOUNIT_LIBRARY}
+    ${CARBON_LIBRARY}
+    ${COCOA_LIBRARY}
+    ${COREAUDIO_LIBRARY}
+    ${DISKARBITRATION_LIBRARY}
+    ${IOKIT_LIBRARY}
+    ${IOSURFACE_LIBRARY}
+    ${OPENGL_LIBRARY}
+    ${PDFKIT_FRAMEWORK}/PDFKit
+    ${QUARTZ_LIBRARY}
+    ${QUARTZCORE_LIBRARY}
+    ${SECURITY_LIBRARY}
+    ${SQLITE3_LIBRARY}
+    ${WEBKITSYSTEMINTERFACE_LIBRARY}
+    ${XML2_LIBRARY}
+    ${ZLIB_LIBRARIES}
+)
+
+list(APPEND WebKit2_SOURCES
+    NetworkProcess/cocoa/NetworkProcessCocoa.mm
+
+    NetworkProcess/mac/NetworkDiskCacheMonitor.mm
+    NetworkProcess/mac/NetworkProcessMac.mm
+    NetworkProcess/mac/NetworkResourceLoaderMac.mm
+    NetworkProcess/mac/RemoteNetworkingContext.mm
+
+    UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm
+    UIProcess/API/Cocoa/APIUserContentExtensionStoreCocoa.mm
+    UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm
+    UIProcess/API/Cocoa/LegacyBundleForClass.mm
+    UIProcess/API/Cocoa/WKBackForwardList.mm
+    UIProcess/API/Cocoa/WKBackForwardListItem.mm
+    UIProcess/API/Cocoa/WKError.mm
+    UIProcess/API/Cocoa/WKFrameInfo.mm
+    UIProcess/API/Cocoa/WKNavigation.mm
+    UIProcess/API/Cocoa/WKNavigationAction.mm
+    UIProcess/API/Cocoa/WKNavigationResponse.mm
+    UIProcess/API/Cocoa/WKPreferences.mm
+    UIProcess/API/Cocoa/WKProcessPool.mm
+    UIProcess/API/Cocoa/WKScriptMessage.mm
+    UIProcess/API/Cocoa/WKSecurityOrigin.mm
+    UIProcess/API/Cocoa/WKUserContentController.mm
+    UIProcess/API/Cocoa/WKUserScript.mm
+    UIProcess/API/Cocoa/WKWebView.mm
+    UIProcess/API/Cocoa/WKWebViewConfiguration.mm
+    UIProcess/API/Cocoa/WKWebsiteDataRecord.mm
+    UIProcess/API/Cocoa/WKWebsiteDataStore.mm
+    UIProcess/API/Cocoa/WKWindowFeatures.mm
+    UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
+    UIProcess/API/Cocoa/_WKDownload.mm
+    UIProcess/API/Cocoa/_WKElementAction.mm
+    UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm
+    UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
+    UIProcess/API/Cocoa/_WKSessionState.mm
+    UIProcess/API/Cocoa/_WKThumbnailView.mm
+    UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm
+    UIProcess/API/Cocoa/_WKUserContentFilter.mm
+    UIProcess/API/Cocoa/_WKVisitedLinkStore.mm
+
+    UIProcess/API/mac/WKView.mm
+
+    UIProcess/Cocoa/DiagnosticLoggingClient.mm
+    UIProcess/Cocoa/DownloadClient.mm
+    UIProcess/Cocoa/FindClient.mm
+    UIProcess/Cocoa/NavigationState.mm
+    UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm
+    UIProcess/Cocoa/SessionStateCoding.mm
+    UIProcess/Cocoa/UIDelegate.mm
+    UIProcess/Cocoa/VersionChecks.mm
+    UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm
+    UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm
+    UIProcess/Cocoa/WebPageProxyCocoa.mm
+    UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
+    UIProcess/Cocoa/WebProcessPoolCocoa.mm
+    UIProcess/Cocoa/WebProcessProxyCocoa.mm
+
+    UIProcess/mac/CorrectionPanel.mm
+    UIProcess/mac/LegacySessionStateCoding.cpp
+    UIProcess/mac/PageClientImpl.mm
+    UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm
+    UIProcess/mac/RemoteLayerTreeHost.mm
+    UIProcess/mac/SecItemShimProxy.cpp
+    UIProcess/mac/ServicesController.mm
+    UIProcess/mac/TextCheckerMac.mm
+    UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm
+    UIProcess/mac/ViewGestureControllerMac.mm
+    UIProcess/mac/ViewSnapshotStore.mm
+    UIProcess/mac/WKFullKeyboardAccessWatcher.mm
+    UIProcess/mac/WKFullScreenWindowController.mm
+    UIProcess/mac/WKImmediateActionController.mm
+    UIProcess/mac/WKPrintingView.mm
+    UIProcess/mac/WKSharingServicePickerDelegate.mm
+    UIProcess/mac/WKTextInputWindowController.mm
+    UIProcess/mac/WKViewLayoutStrategy.mm
+    UIProcess/mac/WebColorPickerMac.mm
+    UIProcess/mac/WebContextMenuProxyMac.mm
+    UIProcess/mac/WebCookieManagerProxyMac.mm
+    UIProcess/mac/WebInspectorProxyMac.mm
+    UIProcess/mac/WebPageProxyMac.mm
+    UIProcess/mac/WebPopupMenuProxyMac.mm
+    UIProcess/mac/WebPreferencesMac.mm
+    UIProcess/mac/WebProcessProxyMac.mm
+    UIProcess/mac/WindowServerConnection.mm
+)
 
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2_DIR})
 
@@ -6,6 +133,8 @@ list(APPEND WebKit2_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/platform/mac"
     "${WEBCORE_DIR}/platform/network/cf"
     "${WEBCORE_DIR}/platform/graphics/opentype"
+    "${WEBKIT2_DIR}/NetworkProcess/cocoa"
+    "${WEBKIT2_DIR}/NetworkProcess/mac"
     "${WEBKIT2_DIR}/UIProcess/mac"
     "${WEBKIT2_DIR}/UIProcess/API/C/mac"
     "${WEBKIT2_DIR}/UIProcess/Cocoa"
@@ -15,6 +144,7 @@ list(APPEND WebKit2_INCLUDE_DIRECTORIES
     "${WEBKIT2_DIR}/Shared/API/Cocoa"
     "${WEBKIT2_DIR}/Shared/API/c/cf"
     "${WEBKIT2_DIR}/Shared/cf"
+    "${WEBKIT2_DIR}/Shared/Cocoa"
     "${WEBKIT2_DIR}/Shared/mac"
     "${WEBKIT2_DIR}/Shared/Plugins/mac"
     "${WEBKIT2_DIR}/WebProcess/Plugins/PDF"
index 62fe242..9e5d7e3 100644 (file)
@@ -5,6 +5,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_OVERFLOW_SCROLLING PRIVATE O
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_iphoneos PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_iphonesimulator PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ASYNC_SCROLLING PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AVF_CAPTIONS PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AVF_CAPTIONS_macosx PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AVF_CAPTIONS_macosx_1080 PRIVATE OFF)
@@ -26,6 +27,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_ORIENTATION PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_RESOLUTION PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_SET PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_REGIONS PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_SCROLL_SNAP PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_SHAPES PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT_LINE_BREAK PRIVATE OFF)
@@ -33,6 +35,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CURSOR_VISIBILITY PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DASHBOARD_SUPPORT PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DASHBOARD_SUPPORT_macosx PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATA_TRANSFER_ITEMS PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DETAILS_ELEMENT PRIVATE ON)
@@ -60,6 +63,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API_macosx PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD_DEPRECATED PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GRAPHICS_CONTEXT_3D PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING_macosx PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ICONDATABASE PRIVATE ON)
@@ -145,9 +149,11 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REMOTE_INSPECTOR_macosx_1080 PRIVATE OFF
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REMOTE_INSPECTOR_macosx_1090 PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REMOTE_INSPECTOR_macosx_101000 PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_RESOLUTION_MEDIA_QUERY PRIVATE OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_RUBBER_BANDING PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SATURATED_LAYOUT_ARITHMETIC PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBPIXEL_LAYOUT PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBTLE_CRYPTO PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBTLE_CRYPTO_macosx PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBTLE_CRYPTO_macosx_1080 PRIVATE OFF)
index 545986f..f777e93 100644 (file)
@@ -33,6 +33,7 @@ macro(WEBKIT_OPTION_BEGIN)
     WEBKIT_OPTION_DEFINE(ENABLE_ACCESSIBILITY "Toggle accessibility support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ALLINONE_BUILD "Toggle all-in-one build" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_API_TESTS "Enable public API unit tests" PRIVATE OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_ASYNC_SCROLLING "Enable asynchronouse scrolling" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ATTACHMENT_ELEMENT "Toggle attachment element support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_AVF_CAPTIONS "Toggle AVFoundation caption support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ASSEMBLER_WX_EXCLUSIVE "Toggle Assembler WX Exclusive support" PRIVATE OFF)
@@ -139,6 +140,7 @@ macro(WEBKIT_OPTION_BEGIN)
     WEBKIT_OPTION_DEFINE(ENABLE_REQUEST_ANIMATION_FRAME "Toggle requestAnimationFrame support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_RESOLUTION_MEDIA_QUERY "Toggle resolution media query support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_RESOURCE_TIMING "Toggle Resource Timing support" PRIVATE OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_RUBBER_BANDING "Toggle rubber banding support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_SATURATED_LAYOUT_ARITHMETIC "Toggle saturated layout arithmetic support" PRIVATE ON)
     WEBKIT_OPTION_DEFINE(ENABLE_SECCOMP_FILTERS "Toggle Linux seccomp filters for the WebProcess support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_CONTROLS "Toggle service controls support" PRIVATE OFF)
@@ -146,6 +148,7 @@ macro(WEBKIT_OPTION_BEGIN)
     WEBKIT_OPTION_DEFINE(ENABLE_SPEECH_SYNTHESIS "Toggle Speech Synthesis API support)" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_SPELLCHECK "Toggle Spellchecking support (requires Enchant)" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_STREAMS_API "Toggle Streams API support" PRIVATE ON)
+    WEBKIT_OPTION_DEFINE(ENABLE_SUBPIXEL_LAYOUT "Toggle subpixel layout support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_SUBTLE_CRYPTO "Toggle subtle crypto support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_SVG_FONTS "Toggle SVG fonts support (imples SVG support)" PRIVATE ON)
     WEBKIT_OPTION_DEFINE(ENABLE_TELEPHONE_NUMBER_DETECTION "Toggle telephone number detection support" PRIVATE OFF)
index 3b7832e..19f0209 100644 (file)
@@ -78,19 +78,45 @@ macro(GENERATE_BINDINGS _output_source _input_files _base_dir _idl_includes _fea
     foreach (_file ${_input_files})
         get_filename_component(_name ${_file} NAME_WE)
 
-        add_custom_command(
-            OUTPUT ${_destination}/${_prefix}${_name}.${_extension} ${_destination}/${_prefix}${_name}.h
-            MAIN_DEPENDENCY ${_file}
-            DEPENDS ${COMMON_GENERATOR_DEPENDENCIES}
-            COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --idlAttributesFile ${_idl_attributes_file} ${_supplemental_dependency} ${_file}
-            WORKING_DIRECTORY ${_base_dir}
-            VERBATIM)
+        # Not all ObjC bindings generate a .mm file, and not all .mm files generated should be compiled.
+        if (${_generator} STREQUAL "ObjC")
+            list(FIND ObjC_BINDINGS_NO_MM ${_name} _no_mm_index)
+            if (${_no_mm_index} EQUAL -1)
+                set(_no_mm 0)
+            else ()
+                set(_no_mm 1)
+            endif ()
+        else ()
+            set(_no_mm 0)
+        endif ()
 
-        list(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.${_extension})
+        if (${_no_mm})
+            add_custom_command(
+                OUTPUT ${_destination}/${_prefix}${_name}.h
+                MAIN_DEPENDENCY ${_file}
+                DEPENDS ${COMMON_GENERATOR_DEPENDENCIES}
+                COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --idlAttributesFile ${_idl_attributes_file} ${_supplemental_dependency} ${_file}
+                WORKING_DIRECTORY ${_base_dir}
+                VERBATIM)
+
+            list(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.h)
+        else ()
+            add_custom_command(
+                OUTPUT ${_destination}/${_prefix}${_name}.${_extension} ${_destination}/${_prefix}${_name}.h
+                MAIN_DEPENDENCY ${_file}
+                DEPENDS ${COMMON_GENERATOR_DEPENDENCIES}
+                COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --idlAttributesFile ${_idl_attributes_file} ${_supplemental_dependency} ${_file}
+                WORKING_DIRECTORY ${_base_dir}
+                VERBATIM)
+            if (${_generator} STREQUAL "ObjC")
+                list(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.h)
+            else ()
+                list(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.${_extension})
+            endif ()
+        endif ()
     endforeach ()
 endmacro()
 
-
 macro(GENERATE_FONT_NAMES _infile)
     set(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
     set(_arguments  --fonts ${_infile})