RESOLVED FIXED 212994
WebKit: Add ClockKitSPI.h
https://bugs.webkit.org/show_bug.cgi?id=212994
Summary WebKit: Add ClockKitSPI.h
Jonathan Bedard
Reported 2020-06-09 14:46:29 PDT
To build watchOS, we need an SPI header for ClockKit.
Attachments
Patch (6.19 KB, patch)
2020-06-09 15:05 PDT, Jonathan Bedard
no flags
Patch (3.60 KB, patch)
2020-06-09 21:54 PDT, Jonathan Bedard
no flags
Patch (6.16 KB, patch)
2020-06-10 07:47 PDT, Jonathan Bedard
no flags
Patch (5.83 KB, patch)
2020-06-10 14:00 PDT, Jonathan Bedard
no flags
Radar WebKit Bug Importer
Comment 1 2020-06-09 14:50:22 PDT
Jonathan Bedard
Comment 2 2020-06-09 15:05:53 PDT
Wenson Hsieh
Comment 3 2020-06-09 15:10:47 PDT
Comment on attachment 401480 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401480&action=review > Source/WebKit/ChangeLog:13 > + * UIProcess/ios/forms/WKTimePickerViewController.mm: Import ClockKitSPI.h and UIkitSSPI. Nit - “UIkitSSPI” => “UIKitSPI.h" > Source/WebKit/Platform/spi/watchos/ClockKitSPI.h:46 > +@protocol CLKUIWheelsOfTimeDelegate <NSObject> @end Nit - the @end should go on the next line.
Jonathan Bedard
Comment 4 2020-06-09 21:54:10 PDT
Wenson Hsieh
Comment 5 2020-06-09 23:51:56 PDT
Comment on attachment 401513 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401513&action=review > Source/WebKit/ChangeLog:12 > + * Platform/spi/watchos/ClockKitSPI.h: Added. Hm...I don’t see ClockKitSPI.h in the updated patch.
Wenson Hsieh
Comment 6 2020-06-09 23:54:44 PDT
Comment on attachment 401513 [details] Patch I’ve unset the cq+ flag for now, based on the above comment. Please feel free to cq+ again if I’ve missed something!
Jonathan Bedard
Comment 7 2020-06-10 07:30:07 PDT
(In reply to Wenson Hsieh from comment #6) > Comment on attachment 401513 [details] > Patch > > I’ve unset the cq+ flag for now, based on the above comment. Please feel > free to cq+ again if I’ve missed something! Thanks Wenson! Not sure how svn dropped the actual header..... :/
Jonathan Bedard
Comment 8 2020-06-10 07:47:33 PDT
Jonathan Bedard
Comment 9 2020-06-10 10:01:53 PDT
(In reply to Jonathan Bedard from comment #8) > Created attachment 401540 [details] > Patch I think we might be relying on https://bugs.webkit.org/show_bug.cgi?id=212996 with PepperUICoreSPI.h imported via WKQuickboardListViewController.h, so I'm going to hold off landing this one.
Darin Adler
Comment 10 2020-06-10 11:15:03 PDT
Comment on attachment 401513 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401513&action=review >> Source/WebKit/ChangeLog:12 >> + * Platform/spi/watchos/ClockKitSPI.h: Added. > > Hm...I don’t see ClockKitSPI.h in the updated patch. I think our strategy is to add new SPI headers to PAL, even when the usage is in WebKit, not WebCore. Is that not right?
Tim Horton
Comment 11 2020-06-10 11:17:12 PDT
(In reply to Darin Adler from comment #10) > Comment on attachment 401513 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=401513&action=review > > >> Source/WebKit/ChangeLog:12 > >> + * Platform/spi/watchos/ClockKitSPI.h: Added. > > > > Hm...I don’t see ClockKitSPI.h in the updated patch. > > I think our strategy is to add new SPI headers to PAL, even when the usage > is in WebKit, not WebCore. Is that not right? I think: not for things that are "above" WebCore in build order.
Tim Horton
Comment 12 2020-06-10 11:18:21 PDT
(At least, I have seen that justification (and "to avoid suggesting that it's OK to use these things in WebCore or WebKitLegacy") provided for the two UIKit SPI headers, and for choosing which to add to).
Darin Adler
Comment 13 2020-06-10 11:21:22 PDT
(In reply to Tim Horton from comment #11) > I think: not for things that are "above" WebCore in build order. I’d like someone to write out our SPI strategy explicitly. I’d possibly like to debate it and make it explicit. We have redundancy and conflicts between SPI headers, headers with the same names and different contents, headers that define the same things in different ways, and other messy things. Having WTF, WebCore, WebKit, and WebKitLegacy each have its own set of SPI headers seems like a recipe for duplication and trouble since these projects are built on top of each other and could intersect in new ways as we change includes. I’d be tempted to say we should put it all in one place rather than refining and having each framework only declare what it uses.
Jonathan Bedard
Comment 14 2020-06-10 12:09:20 PDT
(In reply to Darin Adler from comment #13) > (In reply to Tim Horton from comment #11) > > I think: not for things that are "above" WebCore in build order. > > I’d like someone to write out our SPI strategy explicitly. I’d possibly like > to debate it and make it explicit. > > We have redundancy and conflicts between SPI headers, headers with the same > names and different contents, headers that define the same things in > different ways, and other messy things. > > Having WTF, WebCore, WebKit, and WebKitLegacy each have its own set of SPI > headers seems like a recipe for duplication and trouble since these projects > are built on top of each other and could intersect in new ways as we change > includes. I’d be tempted to say we should put it all in one place rather > than refining and having each framework only declare what it uses. I think the biggest source of contention is that many of these frameworks should only ever be used in WebKit (as I believe is the case with ClockKit and PepperUICore, the two SPI headers I'm adding to make watchOS build), so there has been a movement towards making such frameworks difficult to use inside WTF/WebCore/WebKitLegacy.
Darin Adler
Comment 15 2020-06-10 12:10:19 PDT
(In reply to Jonathan Bedard from comment #14) > I think the biggest source of contention is that many of these frameworks > should only ever be used in WebKit (as I believe is the case with ClockKit > and PepperUICore, the two SPI headers I'm adding to make watchOS build), so > there has been a movement towards making such frameworks difficult to use > inside WTF/WebCore/WebKitLegacy. Yes, a conflicting goal. Again, I’d like to debate this point. I think there may be simple ways to achieve this other goal.
Darin Adler
Comment 16 2020-06-10 12:11:48 PDT
For example, it’s not the fact that these are *SPI* that makes it incorrect to use them from WebCore, so we are entangling two different concerns here unnecessarily. Making sure we don’t use frameworks inappropriately can apply equally to API. We should come up with solutions that work for both.
Jonathan Bedard
Comment 17 2020-06-10 14:00:34 PDT
EWS
Comment 18 2020-06-10 14:47:28 PDT
Committed r262862: <https://trac.webkit.org/changeset/262862> All reviewed patches have been landed. Closing bug and clearing flags on attachment 401580 [details].
Note You need to log in before you can comment on or make changes to this bug.