⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 282190 in webkit


Ignore:
Timestamp:
Sep 8, 2021, 8:31:01 PM (5 years ago)
Author:
Fujii Hironori
Message:

generated MessageArgumentDescriptions.cpp can't compile for non-Cocoa ports due to missing headers
​https://bugs.webkit.org/show_bug.cgi?id=230075

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • workers/service/ServiceWorkerFetchResult.h: Added a missing

header inclusion for MessageArgumentDescriptions.cpp.

Source/WebKit:

The generated MessageArgumentDescriptions.cpp unconditionally
included platform specific headers, for example
<WebCore/CAAudioStreamDescription.h>.

generate_message_argument_description_implementation generates the
#includes, it should take receiver.condition into account.

  • CMakeLists.txt:

(GENERATE_MESSAGE_SOURCES): Added MessageArgumentDescriptions.cpp to compile.

  • Scripts/webkit/messages.py:

(generate_message_argument_description_implementation):

  • Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
Location:
trunk/Source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r282165 r282190  
     12021-09-08  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        generated MessageArgumentDescriptions.cpp can't compile for non-Cocoa ports due to missing headers
     4        https://bugs.webkit.org/show_bug.cgi?id=230075
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * workers/service/ServiceWorkerFetchResult.h: Added a missing
     9        header inclusion for MessageArgumentDescriptions.cpp.
     10
    1112021-09-08  Fujii Hironori  <Hironori.Fujii@sony.com>
    212
  • trunk/Source/WebCore/workers/service/ServiceWorkerFetchResult.h

    r280953 r282190  
    3232#include "ResourceError.h"
    3333#include "ScriptBuffer.h"
     34#include "ServiceWorkerJobDataIdentifier.h"
    3435#include "ServiceWorkerRegistrationKey.h"
    3536#include "ServiceWorkerTypes.h"
  • trunk/Source/WebKit/CMakeLists.txt

    r282130 r282190  
    456456        list(APPEND ${_output_source} ${WebKit_DERIVED_SOURCES_DIR}/${_name}MessageReceiver.cpp)
    457457    endforeach ()
    458     list(APPEND ${_output_source} ${WebKit_DERIVED_SOURCES_DIR}/MessageNames.cpp)
     458
     459    list(APPEND ${_output_source}
     460        ${WebKit_DERIVED_SOURCES_DIR}/MessageArgumentDescriptions.cpp
     461        ${WebKit_DERIVED_SOURCES_DIR}/MessageNames.cpp
     462    )
    459463
    460464    add_custom_command(
  • trunk/Source/WebKit/ChangeLog

    r282189 r282190  
     12021-09-08  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        generated MessageArgumentDescriptions.cpp can't compile for non-Cocoa ports due to missing headers
     4        https://bugs.webkit.org/show_bug.cgi?id=230075
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        The generated MessageArgumentDescriptions.cpp unconditionally
     9        included platform specific headers, for example
     10        <WebCore/CAAudioStreamDescription.h>.
     11
     12        generate_message_argument_description_implementation generates the
     13        #includes, it should take receiver.condition into account.
     14
     15        * CMakeLists.txt:
     16        (GENERATE_MESSAGE_SOURCES): Added MessageArgumentDescriptions.cpp to compile.
     17        * Scripts/webkit/messages.py:
     18        (generate_message_argument_description_implementation):
     19        * Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
     20
    1212021-09-08  Tim Horton  <timothy_horton@apple.com>
    222
  • trunk/Source/WebKit/Scripts/webkit/messages.py

    r282115 r282190  
    12321232
    12331233def generate_message_argument_description_implementation(receivers, receiver_headers):
    1234     header_conditions = {
    1235         '"JSIPCBinding.h"': [None]
    1236     }
    1237     for receiver in receivers:
    1238         if receiver.has_attribute(BUILTIN_ATTRIBUTE):
    1239             continue
    1240         header_conditions['"%s"' % messages_header_filename(receiver)] = [None]
    1241         collect_header_conditions_for_receiver(receiver, header_conditions)
    1242 
    12431234    result = []
    12441235    result.append(_license_header)
    … …  
    12481239    result.append('#if ENABLE(IPC_TESTING_API)\n')
    12491240    result.append('\n')
    1250     result += generate_header_includes_from_conditions(header_conditions)
     1241    result.append('#include "JSIPCBinding.h"\n')
     1242
     1243    for receiver in receivers:
     1244        if receiver.has_attribute(BUILTIN_ATTRIBUTE):
     1245            continue
     1246        if receiver.condition:
     1247            result.append('#if %s\n' % receiver.condition)
     1248        header_conditions = {
     1249            '"%s"' % messages_header_filename(receiver): [None]
     1250        }
     1251        collect_header_conditions_for_receiver(receiver, header_conditions)
     1252        result += generate_header_includes_from_conditions(header_conditions)
     1253        if receiver.condition:
     1254            result.append('#endif\n')
     1255
    12511256    result.append('\n')
    12521257
  • trunk/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp

    r281732 r282190  
    2828#if ENABLE(IPC_TESTING_API)
    2929
     30#include "JSIPCBinding.h"
    3031#include "ArgumentCoders.h"
    31 #if USE(AVFOUNDATION)
    32 #include "ArgumentCodersCF.h"
    33 #endif
     32#include "TestClassName.h"
     33#if ENABLE(TEST_FEATURE)
     34#include "TestTwoStateEnum.h"
     35#endif
     36#include "TestWithSuperclassMessages.h"
     37#include <optional>
     38#include <wtf/text/WTFString.h>
     39#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
     40#include "ArgumentCoders.h"
    3441#include "Connection.h"
    3542#if ENABLE(DEPRECATED_FEATURE) || ENABLE(EXPERIMENTAL_FEATURE)
    … …  
    3946#include "GestureTypes.h"
    4047#endif
    41 #include "IPCSemaphore.h"
    42 #include "JSIPCBinding.h"
    4348#if PLATFORM(MAC)
    4449#include "MachPort.h"
    4550#endif
    4651#include "Plugin.h"
    47 #include "StreamConnectionBuffer.h"
    48 #include "TestClassName.h"
    49 #if ENABLE(TEST_FEATURE)
    50 #include "TestTwoStateEnum.h"
    51 #endif
    52 #include "TestWithCVPixelBufferMessages.h"
    53 #include "TestWithIfMessageMessages.h"
    54 #include "TestWithImageDataMessages.h"
    5552#include "TestWithLegacyReceiverMessages.h"
    56 #include "TestWithSemaphoreMessages.h"
    57 #include "TestWithStreamBufferMessages.h"
    58 #include "TestWithStreamMessages.h"
    59 #include "TestWithSuperclassMessages.h"
     53#include "WebCoreArgumentCoders.h"
     54#include "WebPreferencesStore.h"
     55#if (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION && SOME_OTHER_MESSAGE_CONDITION)) || (ENABLE(TOUCH_EVENTS) && (NESTED_MESSAGE_CONDITION || SOME_OTHER_MESSAGE_CONDITION))
     56#include "WebTouchEvent.h"
     57#endif
     58#include <WebCore/GraphicsLayer.h>
     59#if PLATFORM(MAC)
     60#include <WebCore/KeyboardEvent.h>
     61#endif
     62#include <WebCore/PluginData.h>
     63#include <utility>
     64#include <wtf/HashMap.h>
     65#if PLATFORM(MAC)
     66#include <wtf/OptionSet.h>
     67#endif
     68#include <wtf/Vector.h>
     69#include <wtf/text/WTFString.h>
     70#endif
     71#if (ENABLE(WEBKIT2) && (NESTED_MASTER_CONDITION || MASTER_OR && MASTER_AND))
     72#include "ArgumentCoders.h"
     73#include "Connection.h"
     74#if ENABLE(DEPRECATED_FEATURE) || ENABLE(EXPERIMENTAL_FEATURE)
     75#include "DummyType.h"
     76#endif
     77#if PLATFORM(MAC)
     78#include "GestureTypes.h"
     79#endif
     80#if PLATFORM(MAC)
     81#include "MachPort.h"
     82#endif
     83#include "Plugin.h"
    6084#include "TestWithoutAttributesMessages.h"
    6185#include "WebCoreArgumentCoders.h"
    … …  
    6589#endif
    6690#include <WebCore/GraphicsLayer.h>
    67 #include <WebCore/ImageData.h>
    6891#if PLATFORM(MAC)
    6992#include <WebCore/KeyboardEvent.h>
    7093#endif
    7194#include <WebCore/PluginData.h>
    72 #include <optional>
    7395#include <utility>
    7496#include <wtf/HashMap.h>
     97#if PLATFORM(MAC)
     98#include <wtf/OptionSet.h>
     99#endif
     100#include <wtf/Vector.h>
     101#include <wtf/text/WTFString.h>
     102#endif
     103#if PLATFORM(COCOA) || PLATFORM(GTK)
     104#include "ArgumentCoders.h"
     105#endif
     106#include "TestWithIfMessageMessages.h"
     107#if PLATFORM(COCOA) || PLATFORM(GTK)
     108#include <wtf/text/WTFString.h>
     109#endif
     110#include "IPCSemaphore.h"
     111#include "TestWithSemaphoreMessages.h"
     112#include "ArgumentCoders.h"
     113#include "TestWithImageDataMessages.h"
     114#include "WebCoreArgumentCoders.h"
     115#include <WebCore/ImageData.h>
     116#include <wtf/RefCounted.h>
     117#include "ArgumentCoders.h"
     118#include "TestWithStreamMessages.h"
    75119#if PLATFORM(COCOA)
    76120#include <wtf/MachSendRight.h>
    77121#endif
    78 #if PLATFORM(MAC)
    79 #include <wtf/OptionSet.h>
    80 #endif
    81 #include <wtf/RefCounted.h>
     122#include <wtf/text/WTFString.h>
     123#include "StreamConnectionBuffer.h"
     124#include "TestWithStreamBufferMessages.h"
     125#if USE(AVFOUNDATION)
     126#include "ArgumentCodersCF.h"
     127#endif
     128#include "TestWithCVPixelBufferMessages.h"
    82129#if USE(AVFOUNDATION)
    83130#include <wtf/RetainPtr.h>
    84131#endif
    85 #include <wtf/Vector.h>
    86 #include <wtf/text/WTFString.h>
    87132
    88133namespace IPC {
Note: See TracChangeset for help on using the changeset viewer.