Title: [221693] trunk/Source
Revision
221693
Author
[email protected]
Date
2017-09-06 13:09:28 -0700 (Wed, 06 Sep 2017)

Log Message

[Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined.
https://bugs.webkit.org/show_bug.cgi?id=176431

Reviewed by Alex Christensen.

Source/WebCore:

AVFoundation header detection should be done in WebCore because of build dependencies.

No new tests, covered by existing tests.

* AVFoundationSupport.py: Copied from Source/WTF/AVFoundationSupport.py.
* PlatformWin.cmake:
* config.h:
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

Source/WTF:

AVFoundation header detection should be done in WebCore because of build dependencies. 

* AVFoundationSupport.py: Removed.
* wtf/Platform.h:
* wtf/PlatformWin.cmake:

Modified Paths

Added Paths

Removed Paths

Diff

Deleted: trunk/Source/WTF/AVFoundationSupport.py (221692 => 221693)


--- trunk/Source/WTF/AVFoundationSupport.py	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WTF/AVFoundationSupport.py	2017-09-06 20:09:28 UTC (rev 221693)
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) 2015 Apple Inc.  All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1.  Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-# 2.  Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-# 3.  Neither the name of Apple puter, Inc. ("Apple") nor the names of
-#     its contributors may be used to endorse or promote products derived
-#     from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import re
-import sys
-import os
-
-
-def lookFor(relativePath):
-    return os.path.isfile(sys.argv[1] + relativePath)
-
-
-def fileContains(relativePath, regexp):
-    with open(sys.argv[1] + relativePath) as file:
-        for line in file:
-            if regexp.search(line):
-                return True
-    return False
-
-
-print "/* Identifying AVFoundation Support */"
-if lookFor("/include/AVFoundationCF/AVCFBase.h"):
-    print "#define HAVE_AVCF 1"
-if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"):
-    print "#define HAVE_AVCF_LEGIBLE_OUTPUT 1"
-if lookFor("/include/AVFoundationCF/AVCFAssetResourceLoader.h"):
-    print "#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1"
-if lookFor("/include/AVFoundationCF/AVCFAsset.h"):
-    regexp = re.compile("AVCFURLAssetIsPlayableExtendedMIMEType")
-    if fileContains("/include/AVFoundationCF/AVCFAsset.h", regexp):
-        print "#define HAVE_AVCFURL_PLAYABLE_MIMETYPE 1"
-if lookFor("/include/QuartzCore/CACFLayer.h"):
-    regexp = re.compile("CACFLayerSetContentsScale")
-    if fileContains("/include/QuartzCore/CACFLayer.h", regexp):
-        print "#define HAVE_CACFLAYER_SETCONTENTSSCALE 1"
-if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"):
-    regexp = re.compile("kAVCFPlayerItemLegibleOutput_CallbacksVersion_2")
-    if fileContains("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h", regexp):
-        print "#define HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 1"

Modified: trunk/Source/WTF/ChangeLog (221692 => 221693)


--- trunk/Source/WTF/ChangeLog	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WTF/ChangeLog	2017-09-06 20:09:28 UTC (rev 221693)
@@ -1,3 +1,16 @@
+2017-09-06  Per Arne Vollan  <[email protected]>
+
+        [Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined.
+        https://bugs.webkit.org/show_bug.cgi?id=176431
+
+        Reviewed by Alex Christensen.
+
+        AVFoundation header detection should be done in WebCore because of build dependencies. 
+
+        * AVFoundationSupport.py: Removed.
+        * wtf/Platform.h:
+        * wtf/PlatformWin.cmake:
+
 2017-09-05  Yoshiaki Jitsukawa  <[email protected]>
 
         [Win] Fix the wincairo build after r221558 and r221583

Modified: trunk/Source/WTF/wtf/Platform.h (221692 => 221693)


--- trunk/Source/WTF/wtf/Platform.h	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WTF/wtf/Platform.h	2017-09-06 20:09:28 UTC (rev 221693)
@@ -1079,21 +1079,6 @@
 #define USE_AVFOUNDATION 1
 #endif
 
-#if PLATFORM(WIN) && !USE(WINGDI)
-#include <wtf/AVFoundationHeaderDetection.h>
-#endif
-
-#if PLATFORM(WIN) && USE(CG) && HAVE(AVCF)
-#define USE_AVFOUNDATION 1
-
-#if HAVE(AVCF_LEGIBLE_OUTPUT)
-#define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1
-#define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1
-#define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
-#endif
-
-#endif
-
 #if !defined(ENABLE_TREE_DEBUGGING)
 #if !defined(NDEBUG)
 #define ENABLE_TREE_DEBUGGING 1

Modified: trunk/Source/WTF/wtf/PlatformWin.cmake (221692 => 221693)


--- trunk/Source/WTF/wtf/PlatformWin.cmake	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WTF/wtf/PlatformWin.cmake	2017-09-06 20:09:28 UTC (rev 221693)
@@ -15,10 +15,6 @@
     win/WorkQueueWin.cpp
 )
 
-list(APPEND WTF_HEADERS
-    "${DERIVED_SOURCES_WTF_DIR}/AVFoundationHeaderDetection.h"
-)
-
 if (USE_CF)
     list(APPEND WTF_SOURCES
         text/cf/AtomicStringImplCF.cpp
@@ -30,12 +26,6 @@
     list(APPEND WTF_LIBRARIES ${COREFOUNDATION_LIBRARY})
 endif ()
 
-add_custom_command(
-    OUTPUT "${DERIVED_SOURCES_WTF_DIR}/AVFoundationHeaderDetection.h"
-    WORKING_DIRECTORY "${DERIVED_SOURCES_WTF_DIR}"
-    COMMAND ${PYTHON_EXECUTABLE} ${WTF_DIR}/AVFoundationSupport.py ${WEBKIT_LIBRARIES_DIR} > AVFoundationHeaderDetection.h
-    VERBATIM)
-
 set(WTF_PRE_BUILD_COMMAND "${CMAKE_BINARY_DIR}/DerivedSources/WTF/preBuild.cmd")
 file(WRITE "${WTF_PRE_BUILD_COMMAND}" "@xcopy /y /s /d /f \"${WTF_DIR}/wtf/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n@xcopy /y /s /d /f \"${DERIVED_SOURCES_DIR}/WTF/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF\" >nul 2>nul\n")
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR}/ForwardingHeaders/WTF)

Copied: trunk/Source/WebCore/AVFoundationSupport.py (from rev 221691, trunk/Source/WTF/AVFoundationSupport.py) (0 => 221693)


--- trunk/Source/WebCore/AVFoundationSupport.py	                        (rev 0)
+++ trunk/Source/WebCore/AVFoundationSupport.py	2017-09-06 20:09:28 UTC (rev 221693)
@@ -0,0 +1,64 @@
+#!/usr/bin/python
+
+# Copyright (C) 2015 Apple Inc.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+# 3.  Neither the name of Apple puter, Inc. ("Apple") nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import re
+import sys
+import os
+
+
+def lookFor(relativePath):
+    return os.path.isfile(sys.argv[1] + relativePath)
+
+
+def fileContains(relativePath, regexp):
+    with open(sys.argv[1] + relativePath) as file:
+        for line in file:
+            if regexp.search(line):
+                return True
+    return False
+
+
+print "/* Identifying AVFoundation Support */"
+if lookFor("/include/AVFoundationCF/AVCFBase.h"):
+    print "#define HAVE_AVCF 1"
+if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"):
+    print "#define HAVE_AVCF_LEGIBLE_OUTPUT 1"
+if lookFor("/include/AVFoundationCF/AVCFAssetResourceLoader.h"):
+    print "#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1"
+if lookFor("/include/AVFoundationCF/AVCFAsset.h"):
+    regexp = re.compile("AVCFURLAssetIsPlayableExtendedMIMEType")
+    if fileContains("/include/AVFoundationCF/AVCFAsset.h", regexp):
+        print "#define HAVE_AVCFURL_PLAYABLE_MIMETYPE 1"
+if lookFor("/include/QuartzCore/CACFLayer.h"):
+    regexp = re.compile("CACFLayerSetContentsScale")
+    if fileContains("/include/QuartzCore/CACFLayer.h", regexp):
+        print "#define HAVE_CACFLAYER_SETCONTENTSSCALE 1"
+if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"):
+    regexp = re.compile("kAVCFPlayerItemLegibleOutput_CallbacksVersion_2")
+    if fileContains("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h", regexp):
+        print "#define HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 1"

Modified: trunk/Source/WebCore/ChangeLog (221692 => 221693)


--- trunk/Source/WebCore/ChangeLog	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WebCore/ChangeLog	2017-09-06 20:09:28 UTC (rev 221693)
@@ -1,3 +1,20 @@
+2017-09-06  Per Arne Vollan  <[email protected]>
+
+        [Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined.
+        https://bugs.webkit.org/show_bug.cgi?id=176431
+
+        Reviewed by Alex Christensen.
+
+        AVFoundation header detection should be done in WebCore because of build dependencies.
+
+        No new tests, covered by existing tests.
+
+        * AVFoundationSupport.py: Copied from Source/WTF/AVFoundationSupport.py.
+        * PlatformWin.cmake:
+        * config.h:
+        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
+
 2017-09-06  Sam Weinig  <[email protected]>
 
         REGRESSION (r221598): Legacy "round" and "bevel" options can no longer be used with the legacy CanvasRenderingContext2D setLineJoin operation

Modified: trunk/Source/WebCore/PlatformWin.cmake (221692 => 221693)


--- trunk/Source/WebCore/PlatformWin.cmake	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WebCore/PlatformWin.cmake	2017-09-06 20:09:28 UTC (rev 221693)
@@ -140,6 +140,10 @@
     ${WEBCORE_DIR}/css/themeWinQuirks.css
 )
 
+list(APPEND WebCore_DERIVED_SOURCES
+    "${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreHeaderDetection.h"
+)
+
 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
     .
     accessibility
@@ -281,6 +285,12 @@
     include(PlatformAppleWin.cmake)
 endif ()
 
+add_custom_command(
+    OUTPUT "${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreHeaderDetection.h"
+    WORKING_DIRECTORY "${DERIVED_SOURCES_WEBCORE_DIR}"
+    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/AVFoundationSupport.py ${WEBKIT_LIBRARIES_DIR} > WebCoreHeaderDetection.h
+    VERBATIM)
+
 make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj)
 file(COPY
     "${WEBCORE_DIR}/English.lproj/Localizable.strings"

Modified: trunk/Source/WebCore/config.h (221692 => 221693)


--- trunk/Source/WebCore/config.h	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WebCore/config.h	2017-09-06 20:09:28 UTC (rev 221693)
@@ -29,6 +29,10 @@
 #define USE_FILE_LOCK 1
 #endif
 
+#if PLATFORM(WIN)
+#include "WebCoreHeaderDetection.h"
+#endif
+
 #include "PlatformExportMacros.h"
 #include <pal/ExportMacros.h>
 #include <runtime/JSExportMacros.h>
@@ -104,3 +108,15 @@
 #define CGFLOAT_DEFINED 1
 #endif
 #endif /* USE(CG) */
+
+#if PLATFORM(WIN) && USE(CG) && HAVE(AVCF)
+#define USE_AVFOUNDATION 1
+
+#if HAVE(AVCF_LEGIBLE_OUTPUT)
+#define USE_AVFOUNDATION 1
+#define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1
+#define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1
+#define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
+#endif
+
+#endif

Modified: trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp (221692 => 221693)


--- trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp	2017-09-06 20:09:28 UTC (rev 221693)
@@ -37,10 +37,10 @@
 #include "PlatformCALayerWinInternal.h"
 #include "TextRun.h"
 #include "TileController.h"
+#include "WebCoreHeaderDetection.h"
 #include "WebTiledBackingLayerWin.h"
 #include <QuartzCore/CoreAnimationCF.h>
 #include <WebKitSystemInterface/WebKitSystemInterface.h>
-#include <wtf/AVFoundationHeaderDetection.h>
 #include <wtf/CurrentTime.h>
 #include <wtf/text/CString.h>
 #include <wtf/text/StringBuilder.h>

Modified: trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp (221692 => 221693)


--- trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp	2017-09-06 20:03:59 UTC (rev 221692)
+++ trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp	2017-09-06 20:09:28 UTC (rev 221693)
@@ -34,8 +34,8 @@
 #include "PlatformCALayer.h"
 #include "TileController.h"
 #include "TiledBacking.h"
+#include "WebCoreHeaderDetection.h"
 #include <QuartzCore/CACFLayer.h>
-#include <wtf/AVFoundationHeaderDetection.h>
 #include <wtf/MainThread.h>
 
 using namespace std;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to