RESOLVED FIXED 164845
Fix build on macOS Sierra when WEB_PLAYBACK_CONTROLS_MANAGER is enabled
https://bugs.webkit.org/show_bug.cgi?id=164845
Summary Fix build on macOS Sierra when WEB_PLAYBACK_CONTROLS_MANAGER is enabled
Ryosuke Niwa
Reported 2016-11-16 17:19:01 PST
It looks like https://trac.webkit.org/changeset/208802 broke builds on macOS Sierra.
Attachments
Patch (6.35 KB, patch)
2016-11-16 17:20 PST, Ryosuke Niwa
no flags
Fixes the build properly (7.36 KB, patch)
2016-11-16 21:43 PST, Ryosuke Niwa
mitz: review+
Ryosuke Niwa
Comment 1 2016-11-16 17:20:30 PST
mitz
Comment 2 2016-11-16 17:36:22 PST
Why is this the right fix?
Ryosuke Niwa
Comment 3 2016-11-16 17:37:51 PST
(In reply to comment #2) > Why is this the right fix? This is similar to the fix we deployed in AVKit.h but I'm all ears if you have a better fix.
Ryosuke Niwa
Comment 4 2016-11-16 17:38:17 PST
By the way, I've already committed this in https://trac.webkit.org/changeset/208833.
mitz
Comment 5 2016-11-16 19:56:37 PST
(In reply to comment #3) > (In reply to comment #2) > > Why is this the right fix? > > This is similar to the fix we deployed in AVKit.h but I'm all ears if you > have a better fix. I don’t know what you’re referring to (AVKit.h is not in the WebKit source tree, is it?). When the Apple Internal SDK isn’t available, we normally use declarations in a *SPI.h header file rather than omit functionality from the build.
Ryosuke Niwa
Comment 6 2016-11-16 20:12:04 PST
(In reply to comment #5) > (In reply to comment #3) > > (In reply to comment #2) > > > Why is this the right fix? > > > > This is similar to the fix we deployed in AVKit.h but I'm all ears if you > > have a better fix. > > I don’t know what you’re referring to (AVKit.h is not in the WebKit source > tree, is it?). When the Apple Internal SDK isn’t available, we normally use > declarations in a *SPI.h header file rather than omit functionality from the > build. Sorry, I meant to say AVKitSPI.h
mitz
Comment 7 2016-11-16 20:22:07 PST
(In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #3) > > > (In reply to comment #2) > > > > Why is this the right fix? > > > > > > This is similar to the fix we deployed in AVKit.h but I'm all ears if you > > > have a better fix. > > > > I don’t know what you’re referring to (AVKit.h is not in the WebKit source > > tree, is it?). When the Apple Internal SDK isn’t available, we normally use > > declarations in a *SPI.h header file rather than omit functionality from the > > build. > > Sorry, I meant to say AVKitSPI.h What’s guarded with #if USE(APPLE_INTERNAL_SDK) in AVKitSPI.h are just #import statements for headers that are only available in the Apple-internal SDK, and the #else clause provides equivalent declarations. What attachment 295001 [details] guards with #if USE(APPLE_INTERNAL_SDK) are parts of the implementation, and the #else clauses don’t seem to be equivalent.
Ryosuke Niwa
Comment 8 2016-11-16 20:38:16 PST
(In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > (In reply to comment #3) > > > > (In reply to comment #2) > > > > > Why is this the right fix? > > > > > > > > This is similar to the fix we deployed in AVKit.h but I'm all ears if you > > > > have a better fix. > > > > > > I don’t know what you’re referring to (AVKit.h is not in the WebKit source > > > tree, is it?). When the Apple Internal SDK isn’t available, we normally use > > > declarations in a *SPI.h header file rather than omit functionality from the > > > build. > > > > Sorry, I meant to say AVKitSPI.h > > What’s guarded with #if USE(APPLE_INTERNAL_SDK) in AVKitSPI.h are just > #import statements for headers that are only available in the Apple-internal > SDK, and the #else clause provides equivalent declarations. What attachment > 295001 [details] guards with #if USE(APPLE_INTERNAL_SDK) are parts of the > implementation, and the #else clauses don’t seem to be equivalent. Oh I see. So you think the correct fix is to declare the missing properties in AVKitSPI.h instead?
mitz
Comment 9 2016-11-16 20:41:07 PST
(In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > (In reply to comment #5) > > > > (In reply to comment #3) > > > > > (In reply to comment #2) > > > > > > Why is this the right fix? > > > > > > > > > > This is similar to the fix we deployed in AVKit.h but I'm all ears if you > > > > > have a better fix. > > > > > > > > I don’t know what you’re referring to (AVKit.h is not in the WebKit source > > > > tree, is it?). When the Apple Internal SDK isn’t available, we normally use > > > > declarations in a *SPI.h header file rather than omit functionality from the > > > > build. > > > > > > Sorry, I meant to say AVKitSPI.h > > > > What’s guarded with #if USE(APPLE_INTERNAL_SDK) in AVKitSPI.h are just > > #import statements for headers that are only available in the Apple-internal > > SDK, and the #else clause provides equivalent declarations. What attachment > > 295001 [details] guards with #if USE(APPLE_INTERNAL_SDK) are parts of the > > implementation, and the #else clauses don’t seem to be equivalent. > > Oh I see. So you think the correct fix is to declare the missing properties > in AVKitSPI.h instead? I don’t know what the original build error was, but if there’s anything that’s declared in one of the Apple-internal headers that AVKitSPI.h imports, and that declaration is missing from the #else clause, and adding it would fix the build, then in principle that’s the right fix :-)
Ryosuke Niwa
Comment 10 2016-11-16 21:38:33 PST
Reopening this to fix this properly.
Ryosuke Niwa
Comment 11 2016-11-16 21:43:37 PST
Created attachment 295026 [details] Fixes the build properly
Ryosuke Niwa
Comment 12 2016-11-16 21:46:37 PST
Note You need to log in before you can comment on or make changes to this bug.