<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>191477</bug_id>
          
          <creation_ts>2018-11-09 11:35:19 -0800</creation_ts>
          <short_desc>WebPageMessages.h is not always regenerated</short_desc>
          <delta_ts>2018-11-09 14:34:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=191324</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>krollin</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1477016</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-09 11:35:19 -0800</bug_when>
    <thetext>The change &lt;https://trac.webkit.org/changeset/238047&gt; (bug #190565) added a new message, HardwareKeyboardAvailabilityChanged, to WebPage.messages.in and the iOS bots failed to build because WebPageMessages.h is not being regenerated:

[[
CompileC /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/Objects-normal/arm64/UnifiedSource33-mm.o /Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource33-mm.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/slave/ios-12-release/build/Source/WebKit
    export LANG=en_US.US-ASCII
    export PATH=&quot;/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin&quot;
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++14 -stdlib=libc++ -fobjc-weak -gmodules -Wno-trigraphs -fno-exceptions -fno-rtti -fno-sanitize=vptr -fpascal-strings -Os -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wunreachable-code -Wno-implicit-atomic-properties -Wno-objc-interface-ivars -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_TRANSFORMS -DENABLE_ACCELERATED_OVERFLOW_SCROLLING -DENABLE_APPLE_PAY -DENABLE_APPLE_PAY_SESSION_V3 -DENABLE_APPLE_PAY_SESSION_V4 -DENABLE_APPLICATION_MANIFEST -DENABLE_ATTACHMENT_ELEMENT -DENABLE_AVF_CAPTIONS -DENABLE_CACHE_PARTITIONING -DENABLE_CHANNEL_MESSAGING -DENABLE_CONTENT_FILTERING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_PAINTING_API -DENABLE_CSS_SCROLL_SNAP -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_TRAILING_WORD -DENABLE_CURSOR_VISIBILITY -DENABLE_CSS_CONIC_GRADIENTS -DENABLE_DATA_INTERACTION -DENABLE_DATACUE_VALUE -DENABLE_DATALIST_ELEMENT -DENABLE_DEVICE_ORIENTATION -DENABLE_DRAG_SUPPORT -DENABLE_ENCRYPTED_MEDIA -DENABLE_EXPERIMENTAL_FEATURES -DENABLE_FILTERS_LEVEL_2 -DENABLE_FTL_JIT -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_INDEXED_DATABASE -DENABLE_INDEXED_DATABASE_IN_WORKERS -DENABLE_INPUT_TYPE_COLOR -DENABLE_INPUT_TYPE_DATE -DENABLE_INPUT_TYPE_DATETIMELOCAL -DENABLE_INPUT_TYPE_MONTH -DENABLE_INPUT_TYPE_TIME -DENABLE_INPUT_TYPE_WEEK -DENABLE_INTERSECTION_OBSERVER -DENABLE_INTL -DENABLE_KEYBOARD_CODE_ATTRIBUTE -DENABLE_KEYBOARD_KEY_ATTRIBUTE -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER -DENABLE_LEGACY_ENCRYPTED_MEDIA -DENABLE_LETTERPRESS -DENABLE_MATHML -DENABLE_MEDIA_CAPTURE -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_NAVIGATOR_STANDALONE -DENABLE_PAYMENT_REQUEST -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REMOTE_INSPECTOR -DENABLE_RESOURCE_USAGE -DENABLE_SERVICE_WORKER -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_USERSELECT_ALL -DENABLE_VARIATION_FONTS -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_RTC -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WEBMETAL -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DHAVE_CORE_PREDICTION -DU_HIDE_DEPRECATED_API -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -DFRAMEWORK_NAME=WebKit -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -miphoneos-version-min=12.0 -g -gline-tables-only -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/WebKit-generated-files.hmap -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/WebKit-own-target-headers.hmap -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/WebKit-all-target-headers.hmap -iquote /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/WebKit-project-headers.hmap -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/include -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/usr/local/include -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/WebCore.framework/PrivateHeaders/ForwardingHeaders -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2 -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/usr/local/include/webrtc -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/local/include/webrtc -I/Volumes/Data/slave/ios-12-release/build/Source/WebKit -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/DerivedSources/arm64 -I/Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos -F/Volumes/Data/slave/ios-12-release/build/Source/WebKit/../../WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/12 -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Carbon.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Quartz.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/PrivateFrameworks -isystem /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -include /Volumes/Data/slave/ios-12-release/build/WebKitBuild/PrecompiledHeaders/WebKit2Prefix-fddeowvwnbarwhdpyltrvkwishzv/WebKit2Prefix.h -MMD -MT dependencies -MF /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/Objects-normal/arm64/UnifiedSource33-mm.d --serialize-diagnostics /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/Objects-normal/arm64/UnifiedSource33-mm.dia -c /Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource33-mm.mm -o /Volumes/Data/slave/ios-12-release/build/WebKitBuild/WebKit.build/Release-iphoneos/WebKit.build/Objects-normal/arm64/UnifiedSource33-mm.o
In file included from /Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource33-mm.mm:3:
/Volumes/Data/slave/ios-12-release/build/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:1095:40: error: no member named &apos;HardwareKeyboardAvailabilityChanged&apos; in namespace &apos;Messages::WebPage&apos;
    m_process-&gt;send(Messages::WebPage::HardwareKeyboardAvailabilityChanged(), m_pageID);
                    ~~~~~~~~~~~~~~~~~~~^
1 error generated.
]]
&lt;https://build.webkit.org/builders/Apple%20iOS%2012%20Release%20%28Build%29/builds/1177/steps/compile-webkit/logs/stdio&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477020</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-09 11:39:26 -0800</bug_when>
    <thetext>Could this be caused by bug #191324.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477044</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 12:20:01 -0800</bug_when>
    <thetext>I performed a clean build, changed WebPage.messages.in by removing SetControlledByAutomation, and performed an incremental build of WebKit with just:

$ cd .../Sources/WebKit
$ make

The output included:

PhaseScriptExecution Generate\ Derived\ Sources /Volumes/Data/dev/webkit/branches/test-derived-sources-incremental-change/OpenSource/WebKitBuild/WebKit.build/Release/Derived\ Sources.build/Script-C0CE72841247E66800BC0EC4.sh
    cd /Volumes/Data/dev/webkit/branches/test-derived-sources-incremental-change/OpenSource/Source/WebKit
    /bin/sh -c \&quot;/Volumes/Data/dev/webkit/branches/test-derived-sources-incremental-change/OpenSource/WebKitBuild/WebKit.build/Release/Derived\ Sources.build/Script-C0CE72841247E66800BC0EC4.sh\&quot;
Generating message receiver for WebPage...
Generating messages header for WebPage...

Oddly, the build succeeded. So either that function isn&apos;t actually used, or this demonstrates that an old WebPageMessages.h file is hanging around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477045</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 12:22:06 -0800</bug_when>
    <thetext>The only WebPageMessages.h file in WebKitBuild is:

./WebKitBuild/Release/DerivedSources/WebKit2/WebPageMessages.h

This has a modification date from the original build and includes references to the function I&apos;d commented out. So DerivedSources.make *says* it&apos;s regenerating the expected files, but it doesn&apos;t seem to actually be doing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477046</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 12:23:20 -0800</bug_when>
    <thetext>Nope, I was wrong about part of that. The modification date is consistent with the incremental build. So the file was re-generated, but seemingly from an old version of WebPage.messages.in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477052</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 12:28:04 -0800</bug_when>
    <thetext>Making subsequent changes to WebPage.messages.in does not cause it to be regenerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477071</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 13:12:46 -0800</bug_when>
    <thetext>It seems that if you specify a non-empty set of output files, the interpretation of an empty set of input files changes. Without an output file specification, the empty set of input files means &quot;make no assumptions about the inputs so always run the build script phase&quot;. With an output file specification, the empty set of input files means &quot;there are no input files, so only run the build script phase if the output files don&apos;t exist&quot;.

This interpretation seems to make sense, but it doesn&apos;t quite account for the next-build-after-a-clean-build where WebPage.messages.in was re-processed to no effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477072</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 13:13:43 -0800</bug_when>
    <thetext>I&apos;m going to see if simply removing the .xcfilelists from the projects -- thereby resetting the set of output files to empty -- will revert to previous behavior and at least let the builds start working again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477100</commentid>
    <comment_count>8</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 14:19:50 -0800</bug_when>
    <thetext>I wanted to track down why commenting out a message in a *message.in file and reprising resulted in the commented-out message still showing up in the generated files. Turns out that I was commenting out the message by moving to the first character in the line and inserting &apos;# &apos;. This doesn&apos;t work. In order to comment out a line, the &apos;#&apos; needs to be the very first character, not the first non-space character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477107</commentid>
    <comment_count>9</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2018-11-09 14:33:08 -0800</bug_when>
    <thetext>Removed use of .xcfilelists. Landed in https://trac.webkit.org/r238055.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477110</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-09 14:34:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/45956265&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>