Bug 171100

Summary: Implement the Web Share API
Product: WebKit Reporter: Rick Byers <rbyers>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: 709922234, aestes, bdakin, cdumez, commit-queue, dbates, ddkilzer, dino, esprehn+autocc, ews-watchlist, japhet, joepeck, kngan, kondapallykalyan, marsjaninzmarsa, megan_gardner, nekr.fabula, nicolas, obarnett, paul.neave, rniwa, simon.fraser, thorton, timothy, tomac, tsavell, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: Safari 10   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 189170    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Patch
none
Archive of layout-test-results from ews103 for mac-sierra
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Archive of layout-test-results from ews113 for mac-sierra
none
Patch
none
Archive of layout-test-results from ews100 for mac-sierra
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Archive of layout-test-results from ews117 for mac-sierra
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews123 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews117 for mac-sierra
none
Archive of layout-test-results from ews103 for mac-sierra
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Archive of layout-test-results from ews106 for mac-sierra-wk2
none
Archive of layout-test-results from ews124 for ios-simulator-wk2
none
Patch none

Rick Byers
Reported 2017-04-20 22:24:27 PDT
Web Share is a proposal to add an API to the web for sharing text, URLs and images to an arbitrary destination of the user's choice: navigator.share({title: 'Example Page', url: 'https://example.com'}); Explainer: https://github.com/WICG/web-share/blob/master/docs/explainer.md Draft interface: https://github.com/WICG/web-share/blob/master/docs/interface.md Issues for questions, feedback, etc.: https://github.com/WICG/web-share/issues This has been available behind an origin trial in Chrome since 55: https://www.chromestatus.com/feature/5668769141620736 I believe there is interest in shipping sometime soon in Chrome, but we'd love to get feedback from other potential implementors before we're locked into the API.
Attachments
Patch (83.11 KB, patch)
2018-08-20 12:16 PDT, Olivia Barnett
no flags
Patch (69.89 KB, patch)
2018-08-21 14:09 PDT, Olivia Barnett
no flags
Patch (72.40 KB, patch)
2018-08-23 17:27 PDT, Olivia Barnett
no flags
Patch (70.90 KB, patch)
2018-08-24 10:54 PDT, Olivia Barnett
no flags
Patch (71.53 KB, patch)
2018-08-24 12:13 PDT, Olivia Barnett
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (2.96 MB, application/zip)
2018-08-24 13:40 PDT, EWS Watchlist
no flags
Patch (79.88 KB, patch)
2018-08-24 17:30 PDT, Olivia Barnett
no flags
Archive of layout-test-results from ews103 for mac-sierra (2.38 MB, application/zip)
2018-08-24 20:41 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (2.88 MB, application/zip)
2018-08-24 20:54 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews113 for mac-sierra (3.04 MB, application/zip)
2018-08-24 21:24 PDT, EWS Watchlist
no flags
Patch (79.85 KB, patch)
2018-08-27 09:43 PDT, Olivia Barnett
no flags
Archive of layout-test-results from ews100 for mac-sierra (2.50 MB, application/zip)
2018-08-27 10:48 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (2.97 MB, application/zip)
2018-08-27 11:18 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews117 for mac-sierra (3.04 MB, application/zip)
2018-08-27 11:40 PDT, EWS Watchlist
no flags
Patch (86.72 KB, patch)
2018-08-27 15:58 PDT, Olivia Barnett
no flags
Patch (87.08 KB, patch)
2018-08-27 17:12 PDT, Olivia Barnett
no flags
Patch (85.90 KB, patch)
2018-08-28 09:41 PDT, Olivia Barnett
no flags
Patch (85.89 KB, patch)
2018-08-28 11:55 PDT, Olivia Barnett
no flags
Patch (85.97 KB, patch)
2018-08-28 13:31 PDT, Olivia Barnett
no flags
Patch (85.97 KB, patch)
2018-08-28 15:28 PDT, Olivia Barnett
no flags
Archive of layout-test-results from ews123 for ios-simulator-wk2 (2.27 MB, application/zip)
2018-08-28 17:36 PDT, EWS Watchlist
no flags
Patch (88.38 KB, patch)
2018-08-28 17:40 PDT, Olivia Barnett
no flags
Archive of layout-test-results from ews117 for mac-sierra (3.07 MB, application/zip)
2018-08-28 19:32 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews103 for mac-sierra (2.31 MB, application/zip)
2018-08-28 19:37 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (17.30 MB, application/zip)
2018-08-28 19:41 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews106 for mac-sierra-wk2 (2.94 MB, application/zip)
2018-08-28 21:03 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews124 for ios-simulator-wk2 (2.27 MB, application/zip)
2018-08-28 21:47 PDT, EWS Watchlist
no flags
Patch (86.58 KB, patch)
2018-08-29 15:51 PDT, Olivia Barnett
no flags
Rick Byers
Comment 1 2017-04-20 22:26:20 PDT
Dean Jackson
Comment 2 2017-04-20 22:29:06 PDT
This is interesting. I'll add it to our status page.
Radar WebKit Bug Importer
Comment 3 2017-04-20 22:30:25 PDT
Olivia Barnett
Comment 4 2018-08-20 12:16:22 PDT
Tim Horton
Comment 5 2018-08-20 12:25:20 PDT
Large things: 1) Needs a test. Or probably a few. 2) Needs a RuntimeEnabledFeature switch. Or some other kind of switch? 3) Needs to be rebased on trunk, the patch doesn't apply. 4) Probably requires an email to webkit-dev noting that you're implementing this (see https://webkit.org/feature-policy/). 5) Need to update the feature status JSON file (Source/WebCore/features.json IIRC)
Simon Fraser (smfr)
Comment 6 2018-08-20 12:29:57 PDT
Comment on attachment 347525 [details] Patch Please include an update to Source/WebCore/features.json
Tim Horton
Comment 7 2018-08-20 14:38:42 PDT
Comment on attachment 347525 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347525&action=review > Source/WebKit/UIProcess/WebShareSheetResultListenerProxy.cp:2 > + * Copyright (C) 2010 Apple Inc. All rights reserved. Get rid of this file. Also, it's 2018 > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:52 > +- (void)presentWithParameters:(NSArray*)parameters resultListener:(WebKit::WebShareSheetResultListenerProxy*)listener completionHandler:(WTF::CompletionHandler<void(bool)>&&)completionHandler; ObjC stars go on the right (NSArray *). The C++ one is right. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:94 > +- (void)presentWithParameters:(NSArray*)parameters resultListener:(WebKit::WebShareSheetResultListenerProxy*)listener completionHandler:(WTF::CompletionHandler<void(bool)>&&)completionHandler You don't need WebShareSheetResultListener. Get rid of it everywhere. You just use the completion block mechanism instead, and don't have any API. > Source/WebKit/WebProcess/WebPage/WebPage.h:1576 > + RefPtr<WebShareSheetResultListener> m_activeShareSheetResultListener; You don't need WebShareSheetResultListener > Source/WebKit/WebProcess/WebPage/WebPage.h:1740 > + HashMap<uint64_t, WTF::Function<void(bool granted)>> m_shareSheetResponseCallbackMap; I don't think "granted" is the right word.
Tim Horton
Comment 8 2018-08-20 14:47:11 PDT
Comment on attachment 347525 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347525&action=review > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:3 > + * Please clean up the '#pragma mark's and FileUpload related things in this file.
Wenson Hsieh
Comment 9 2018-08-20 15:05:42 PDT
Comment on attachment 347525 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347525&action=review Overall, this looks great! A few minor comments: > Source/WebCore/loader/EmptyClients.cpp:440 > +void EmptyChromeClient::runShareSheet(Frame&, ShareDataWithParsedURL&, WTF::CompletionHandler<void(bool)>&&) Nit - the WTF:: here too. > Source/WebCore/loader/EmptyClients.h:140 > + void runShareSheet(Frame&, ShareDataWithParsedURL&, WTF::CompletionHandler<void(bool)>&&) final; Nit - you shouldn't need an explicit WTF:: here. > Source/WebKit/UIProcess/WebShareSheetResultListenerProxy.cp:49 > +void WebOpenPanelResultListenerProxy::chooseFiles(const Vector<WTF::String>& filenames, const String& displayString, const API::Data* iconImageData) Nit - WTF:: here too. > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4647 > + NSMutableArray *shareDataArray = [[NSMutableArray alloc] init]; Nit - it looks like this leaks? You could consider changing this to: auto shareDataArray = adoptNS([[NSMutableArray alloc] init]); > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4670 > + ASSERT(_shareSheet.get() == shareSheet); Nit - I don't think the .get() is necessary here. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:58 > +} Nit - extra {} > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:68 > + WKContentView *_view; You could consider making this a WeakObjCPtr if WKShareSheet can outlive its WKContentView. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:72 > +#pragma clang diagnostic push I don't think you need these 3 #pragma's > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:85 > +- (void)dealloc Nit - I don't think you need to override -dealloc here. > Source/WebKit/WebProcess/WebPage/WebPage.h:175 > +struct ShareData; Hm...you shouldn't need to forward declare this if you're already including <WebCore/ShareData.h> above. > Source/WebKit/WebProcess/WebPage/WebShareSheetResultListener.h:44 > + void disconnectFromPage() { m_page = 0; } m_page = nullptr; If WebPage always outlives its WebShareSheetResultListener, I would suggest using a reference; otherwise, if this can potentially outlive its WebPage, you might want to consider holding a WeakPtr. > Source/WebKitLegacy/ios/WebCoreSupport/WebChromeClientIOS.mm:160 > +void WebChromeClientIOS::runShareSheet(Frame&, ShareDataWithParsedURL&, CompletionHandler<void(bool)>&&) Nit - extra space before CompletionHandler
Tim Horton
Comment 10 2018-08-20 17:36:12 PDT
I think you need to add a line to messages.py’s headers_for_type()’s special_cases pointing the message generator to ShareData.h for ShareDataWithParsedURL. Not sure how you got away without that locally!
Tim Horton
Comment 11 2018-08-20 21:41:50 PDT
Comment on attachment 347525 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347525&action=review > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4644 > + _shareSheet = adoptNS([[WKShareSheet alloc] initWithView:self]); I think most of this logic should be inside WKShareSheet; hand ShareDataWithParsedURL all the way in there and do the conversion to ObjC types there. > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4648 > + if ([data.shareData.title length] > 0) This is weird, because you’re going from WTFString to NSString just to check the length. WTFString has .isEmpty(), probably better to just use that. > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4654 > + if (data.url.isNull()) I think you meant to have a ! here :P
Tim Horton
Comment 12 2018-08-20 21:53:09 PDT
Comment on attachment 347525 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347525&action=review > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:101 > + auto completionHandlerBlock = BlockPtr<void((NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError))>::fromCallable([completionHandler = WTFMove(completionHandler), shareSheet = self](NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) mutable { You don’t need to name all the parameters in the BlockPtr type definition (I’m pretty sure). > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:108 > + [self _presentFullscreenViewController:_shareSheetViewController.get() animated:NO]; We definitely want an animated presentation.
Olivia Barnett
Comment 13 2018-08-21 14:09:40 PDT
Simon Fraser (smfr)
Comment 14 2018-08-21 14:35:49 PDT
Comment on attachment 347690 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347690&action=review Not a full review. > Source/WebCore/page/Navigator.cpp:102 > + if (m_frame->page()) { Use an early return to avoid indenting all the rest of the code. > Source/WebCore/page/Navigator.cpp:110 > + if (!url.isValid()) > + promise->reject(TypeError); You should return here, right? > Source/WebCore/page/Navigator.cpp:123 > + return; No need for the return. > Source/WebKit/Shared/WebPreferences.yaml:763 > + humanReadableName: "Web share" Can someone read this and figure out what the feature is about? > Source/WebKit/Shared/WebPreferences.yaml:764 > + humanReadableDescription: "Web share API" Web Share API?
Tim Horton
Comment 15 2018-08-21 22:17:50 PDT
Needs to be rebased against master again
Tim Horton
Comment 16 2018-08-21 22:40:46 PDT
Comment on attachment 347690 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347690&action=review > Source/WebCore/page/Chrome.h:61 > +struct ShareDataWithParsedURL; This should be sorted to the right place (alphabetically). > Source/WebCore/page/ChromeClient.h:106 > +struct ShareDataWithParsedURL; Sorting. > Source/WebCore/page/Navigator.cpp:117 > + m_frame->page()->chrome().runShareSheet(*m_frame, shareData, [documentReference = makeWeakPtr(m_frame->document()), promise = WTFMove(promise)] (bool completed) mutable { Why do you capture the document? Also what's the 'mutable' about? (there might be a good reason?) > Source/WebCore/page/Navigator.cpp:122 > + promise->reject(Exception { AbortError, "Aborted by AbortSignal."_s }); Where did the weird string "Aborted by AbortSignal" come from? > Source/WebKit/Scripts/webkit/messages.py:385 > + 'WebCore::ShareData': ['<WebCore/ShareData.h>'], This one is not needed, this is just for overrides where the left and right hand side don't match. > Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:500 > +// Defaults to false Is this comment a lie? (it is) > Source/WebKit/UIProcess/WebPageProxy.h:185 > +struct ShareData; sooooooooooooooort > Source/WebKit/UIProcess/WebPageProxy.h:1481 > + void runShareSheet(uint64_t frameID, const WebCore::ShareDataWithParsedURL&, uint64_t contextID); You've got one extra space before the uint64_t Also I think we should rename this to callbackID everywhere (it's the ... ID... of the... callback. it doesn't provide any context). Ideally it would also have a typedef instead of being a uint64_t everywhere. > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:66 > +#import <WebCore/ShareData.h> Sort (should go with other WebCore includes). Not sure how the stylebot didn't complain about this one, since this is totally something it knows about (perhaps unlike the others) > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:28 > +#import <UIKit/UIViewController.h> It's slightly unusual to import a single UIKit header, IMO, but maybe it's OK. <UIKit/UIKit.h> is a safe bet, though. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:37 > +class TextStream; Why? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:50 > +@property (nonatomic, assign) id <WKShareSheetDelegate> delegate; I would put properties after all the methods. Especially it feels weird if init isn't first. Also I think I'd separate these differently: -init -present -dismiss @properties > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:76 > + [shareDataArray addObject:(NSString*)data.shareData.title]; Lots of ObjC stars on the wrong side (should be (NSString *)) throughout this function. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:107 > + [[UIViewController _viewControllerForFullScreenPresentationFromView:_view.get().get()] dismissViewControllerAnimated:YES completion:nil]; .getAutoreleased() returns an autoreleased raw pointer, so you can avoid this weird .get().get() (the first one returns a very-shortlived-and-unnecessary RetainPtr). > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:127 > + [self _dismissDisplayAnimated:NO]; How do we ever get here with an existing presented VC? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:129 > + _presentationViewController = [UIViewController _viewControllerForFullScreenPresentationFromView:_view.get().get()]; Ditto. > Source/WebKit/WebProcess/WebPage/WebPage.cpp:3694 > + A few places you're adding unnecessary whitespace. I think maybe from when you had the listener. > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6043 > +static uint64_t nextShareSheetContextId() s/context/callback, like I said above > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6094 > + ASSERT(callback); I don't think there's any need for this assert, we're just about to crash if it's null, so there's no point crashing one line earlier only in debug builds :) No idea why the person above did that. > Source/WebKit/WebProcess/WebPage/WebPage.h:1076 > + void runShareSheet(WebCore::Frame&, uint64_t frameID, WebCore::ShareDataWithParsedURL&, WTF::CompletionHandler<void(bool)>&& callback); Why does this take a WebCore::Frame? it doesn't look like you need it for anything. ACTUALLY if I follow it through, you don't need the frameID for anything either, right? I think these are vestiges of the code you copied. This is the fun part where after growing for a while, your patch collapses to be smaller :) > Source/WebKit/WebProcess/WebPage/WebPage.h:1735 > + void runShareSheetResponse(bool wasCompleted, uint64_t contextId); This is definitely not the right place for a function. WebKit style puts all member variables below all member functions. > Source/WebKitLegacy/mac/WebView/WebPreferences.mm:3016 > +- (BOOL)webShareEnabled I don't think there's any need for WebKitLegacy SPI to turn this on/off. I don't think we'll likely implement for WebKitLegacy.
Tim Horton
Comment 17 2018-08-21 23:34:23 PDT
Comment on attachment 347690 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347690&action=review > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:75 > + if (!data.shareData.title.isEmpty()) I think it's probably wrong to put the title directly in the share items. Looking at the spec, it seems like 'text' and 'url' are the things you're sharing, and title is sort of metadata *about* the thing you're sharing. So I think we want to be a little smarter here. We have some options: 1. We could just drop the title on the floor. The spec says this is OK. 2. We could use the weird _title SPI on NSURL to smush the title into the URL, if we have one. Not sure any clients will care, but we could consider smartening some of them up. 3. If you only have a title, and no text nor URL-to-smush-into, you could use the title as the text. I think a combination of 2 and 3 is probably the "smartest" for now, but would also be OK with 1 for the first go-around. But what we have right now is probably not workable (mostly because the share sheet generally has to pick *one* of the items to share, and it would be a shame if it shared the title instead of the more-useful URL or text). > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:82 > + UIActivityViewController *shareSheetController = [[UIActivityViewController alloc] initWithActivityItems:shareDataArray.get() applicationActivities:nil]; Please put the adoptNS here, sink it into a local RetainPtr, and then assign to the instance variable later. Otherwise this gets everyone's leak spidey-sense tingling.
Olivia Barnett
Comment 18 2018-08-23 17:27:02 PDT
EWS Watchlist
Comment 19 2018-08-23 17:28:54 PDT
Attachment 347979 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:9: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebKit/ChangeLog:12: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 3 in 48 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 20 2018-08-23 18:09:12 PDT
Comment on attachment 347979 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=347979&action=review > Source/WebCore/ChangeLog:9 > + No new tests (OOPS!). Except for "No new tests", this is quite close to being ready! > Source/WebCore/page/Navigator.cpp:108 > + unnecessary newline > Source/WebCore/page/Navigator.cpp:130 > + promise->reject(Exception { AbortError, "Share sheet cancelled, rejecting promise with abort."_s }); I don't think we should use the word "share sheet" in shared code, that's kind of an iOSism. Maybe just remove the word "sheet"? I'm not sure. Also not totally sure you need to describe that you're rejecting the promise in the promise rejection, but follow whatever you see other people doing. > Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:575 > +bool PageClientImpl::handleRunShareSheet(WebPageProxy*, const ShareDataWithParsedURL& shareData, WTF::CompletionHandler<void(bool)>&& completionHandler) Let's just call it showShareSheet here too! > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:37 > +namespace WTF { > +} ?? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:46 > +namespace API { > +} > + > +namespace WebKit { > +} ????? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:84 > + url._title = data.shareData.title; You'll need to import UIKitSPI.h (hopefully it already knows about _title). > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:93 > + NSURL *urlWithTitle = (NSURL *)data.url; > + urlWithTitle._title = data.shareData.title; I think this is not still real. urlWithTitle goes nowhere, and the real code for this is above in the !data.url.isNull() block > Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h:176 > +#define WebKitWebShareEnabledPreferenceKey @"WebKitWebShareEnabled" You don't need this.
Olivia Barnett
Comment 21 2018-08-24 10:54:54 PDT
EWS Watchlist
Comment 22 2018-08-24 10:58:09 PDT
Attachment 348022 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:9: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 47 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 23 2018-08-24 11:20:20 PDT
Comment on attachment 348022 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348022&action=review > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:45 > +@property (nonatomic, assign) id <WKShareSheetDelegate> delegate; This should be weak. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:35 > +#import "UIKitSPI.h" LOL, _title is only in the WebCore UIKitSPI.h, not the one you included here. So sorry :( I think you'll need to add _title to the WebKit one. (you can grab those five lines from the WebCore one). > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:74 > + bool arrayContainsElements = false; Why this instead of just testing [shareDataArray count]? (Either way is fine I guess) > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:137 > + // May need to clear/dismiss VC? Get rid of this comment.
Olivia Barnett
Comment 24 2018-08-24 12:13:38 PDT
EWS Watchlist
Comment 25 2018-08-24 12:15:29 PDT
Attachment 348033 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:9: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] ERROR: Source/WebKit/ChangeLog:9: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 3 in 48 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 26 2018-08-24 13:40:54 PDT
Comment on attachment 348033 [details] Patch Attachment 348033 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/8974635 New failing tests: fast/dom/navigator-detached-no-crash.html imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html imported/w3c/web-platform-tests/web-share/idlharness.https.html imported/w3c/web-platform-tests/web-share/share-empty.https.html
EWS Watchlist
Comment 27 2018-08-24 13:40:56 PDT
Created attachment 348037 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Tim Horton
Comment 28 2018-08-24 14:10:08 PDT
You'll want to rebaseline the WPTs that became passes, and probably fix things to make the ones that became fails not fails.
Olivia Barnett
Comment 29 2018-08-24 17:30:19 PDT
EWS Watchlist
Comment 30 2018-08-24 17:32:02 PDT
Attachment 348062 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:9: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 2 in 56 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 31 2018-08-24 17:39:02 PDT
Comment on attachment 348062 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348062&action=review > Source/WebCore/ChangeLog:9 > + No new tests (OOPS!). You can totally change this to "No new tests; adjusted expectations for existing tests." and get rid of the OOPS and be happy. > Source/WebKit/Platform/spi/ios/UIKitSPI.h:433 > +@property (nonatomic, retain, setter=_setContainerViews:) > +NSArray *_containerViews; What happened here? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:34 > +#import "APIArray.h" > +#import "APIData.h" > +#import "APIOpenPanelParameters.h" > +#import "APIString.h" I doubt you need these. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:40 > +#import "WKData.h" > +#import "WKStringCF.h" > +#import "WKURLCF.h" > +#import "WebIconUtilities.h" I doubt you need these. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:42 > +#import <MobileCoreServices/MobileCoreServices.h> I doubt you need this. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:43 > +#import <WebCore/LocalizedStrings.h> I doubt you need this. > LayoutTests/imported/w3c/web-platform-tests/web-share/idlharness.https-expected.txt:3 > -FAIL Navigator interface: operation share(ShareData) assert_own_property: interface prototype object missing non-static operation expected property "share" missing > +FAIL Navigator interface: operation share(ShareData) assert_equals: property has wrong .length expected 0 but got 1 Need to ask Sam about this.
EWS Watchlist
Comment 32 2018-08-24 20:41:52 PDT
Comment on attachment 348062 [details] Patch Attachment 348062 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/8978254 New failing tests: imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/idlharness.https.html imported/w3c/web-platform-tests/web-share/share-empty.https.html
EWS Watchlist
Comment 33 2018-08-24 20:41:54 PDT
Created attachment 348069 [details] Archive of layout-test-results from ews103 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 34 2018-08-24 20:54:37 PDT
Comment on attachment 348062 [details] Patch Attachment 348062 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/8978290 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html fast/dom/navigator-detached-no-crash.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 35 2018-08-24 20:54:39 PDT
Created attachment 348071 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 36 2018-08-24 21:24:31 PDT
Comment on attachment 348062 [details] Patch Attachment 348062 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/8978319 New failing tests: imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/idlharness.https.html imported/w3c/web-platform-tests/web-share/share-empty.https.html
EWS Watchlist
Comment 37 2018-08-24 21:24:33 PDT
Created attachment 348074 [details] Archive of layout-test-results from ews113 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-sierra Platform: Mac OS X 10.12.6
Olivia Barnett
Comment 38 2018-08-27 09:43:03 PDT
EWS Watchlist
Comment 39 2018-08-27 09:47:46 PDT
Attachment 348153 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 56 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 40 2018-08-27 10:48:56 PDT
Comment on attachment 348153 [details] Patch Attachment 348153 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/8996788 New failing tests: imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/idlharness.https.html imported/w3c/web-platform-tests/web-share/share-empty.https.html
EWS Watchlist
Comment 41 2018-08-27 10:48:58 PDT
Created attachment 348163 [details] Archive of layout-test-results from ews100 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 42 2018-08-27 11:18:00 PDT
Comment on attachment 348153 [details] Patch Attachment 348153 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/8997025 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html fast/dom/navigator-detached-no-crash.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 43 2018-08-27 11:18:03 PDT
Created attachment 348171 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 44 2018-08-27 11:40:23 PDT
Comment on attachment 348153 [details] Patch Attachment 348153 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/8996925 New failing tests: imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/idlharness.https.html imported/w3c/web-platform-tests/web-share/share-empty.https.html
EWS Watchlist
Comment 45 2018-08-27 11:40:26 PDT
Created attachment 348178 [details] Archive of layout-test-results from ews117 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-sierra Platform: Mac OS X 10.12.6
Olivia Barnett
Comment 46 2018-08-27 15:58:47 PDT
EWS Watchlist
Comment 47 2018-08-27 16:01:52 PDT
Attachment 348225 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 65 files If any of these errors are false positives, please file a bug against check-webkit-style.
Wenson Hsieh
Comment 48 2018-08-27 16:32:07 PDT
Comment on attachment 348225 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348225&action=review > Source/WebCore/ChangeLog:9 > + No new tests; adjusted expectations for existing tests. You should mention your new test in fast/events/ios! > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:384 > +- (void)invokeShareSheetWithResolution:(BOOL)resolved WK_API_AVAILABLE(ios(11.3)); This should be WK_API_AVAILABLE(ios(WK_IOS_TBA)); > Source/WebKit/UIProcess/PageClient.h:205 > + virtual bool showShareSheet(WebPageProxy*, const WebCore::ShareDataWithParsedURL&, WTF::CompletionHandler<void (bool)>&&) { return false; } Nit - extra space before WTF:: > Source/WebKit/UIProcess/WebPageProxy.cpp:5254 > + Nit - it doesn't look like this extra whitespace change is intended > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:46 > +@property (nonatomic, weak, assign) id <WKShareSheetDelegate> delegate; Nit - I don't think you need the assign here. > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:40 > +@interface _WKShareSheetItem : NSObject Hm...what's _WKShareSheetItem used for? > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:80 > + RetainPtr<UIActivityViewController> shareSheetController = adoptNS([[UIActivityViewController alloc] initWithActivityItems:shareDataArray.get() applicationActivities:nil]); Nit - s/RetainPtr<UIActivityViewController>/auto/ > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:88 > + _shareSheetViewController = shareSheetController; This can be _shareSheetViewController = WTFMove(shareSheetController); > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6085 > +void WebPage::runShareSheetResponse(bool wasGranted, uint64_t callbackID) s/uint64_t/ShareSheetCallbackID/ here? > Source/WebKit/WebProcess/WebPage/WebPage.h:1734 > + HashMap<uint64_t, WTF::Function<void(bool completed)>> m_shareSheetResponseCallbackMap; ShareSheetCallbackID here too? > LayoutTests/fast/events/ios/share.html:20 > + navigator.share({ title: "Example Page", url: "url", text: "text"}).then((result) => { Nit - Indentation is a bit off here too. Also, a space between "text" and } > LayoutTests/resources/ui-helper.js:248 > + const resolveShareSheet = `(() => uiController.invokeShareSheetWithResolution(${resolved}))()`; Nit - Indentation is a bit off here.
Olivia Barnett
Comment 49 2018-08-27 16:38:50 PDT
(In reply to Wenson Hsieh from comment #48) > Comment on attachment 348225 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=348225&action=review > > > Source/WebCore/ChangeLog:9 > > + No new tests; adjusted expectations for existing tests. > > You should mention your new test in fast/events/ios! > > > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:384 > > +- (void)invokeShareSheetWithResolution:(BOOL)resolved WK_API_AVAILABLE(ios(11.3)); > > This should be WK_API_AVAILABLE(ios(WK_IOS_TBA)); > > > Source/WebKit/UIProcess/PageClient.h:205 > > + virtual bool showShareSheet(WebPageProxy*, const WebCore::ShareDataWithParsedURL&, WTF::CompletionHandler<void (bool)>&&) { return false; } > > Nit - extra space before WTF:: > > > Source/WebKit/UIProcess/WebPageProxy.cpp:5254 > > + > > Nit - it doesn't look like this extra whitespace change is intended > > > Source/WebKit/UIProcess/ios/forms/WKShareSheet.h:46 > > +@property (nonatomic, weak, assign) id <WKShareSheetDelegate> delegate; > > Nit - I don't think you need the assign here. > > > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:40 > > +@interface _WKShareSheetItem : NSObject > > Hm...what's _WKShareSheetItem used for? Ah, nothing. > > > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:80 > > + RetainPtr<UIActivityViewController> shareSheetController = adoptNS([[UIActivityViewController alloc] initWithActivityItems:shareDataArray.get() applicationActivities:nil]); > > Nit - s/RetainPtr<UIActivityViewController>/auto/ > > > Source/WebKit/UIProcess/ios/forms/WKShareSheet.mm:88 > > + _shareSheetViewController = shareSheetController; > > This can be _shareSheetViewController = WTFMove(shareSheetController); > > > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6085 > > +void WebPage::runShareSheetResponse(bool wasGranted, uint64_t callbackID) > > s/uint64_t/ShareSheetCallbackID/ here? > > > Source/WebKit/WebProcess/WebPage/WebPage.h:1734 > > + HashMap<uint64_t, WTF::Function<void(bool completed)>> m_shareSheetResponseCallbackMap; > > ShareSheetCallbackID here too? > > > LayoutTests/fast/events/ios/share.html:20 > > + navigator.share({ title: "Example Page", url: "url", text: "text"}).then((result) => { > > Nit - Indentation is a bit off here too. > > Also, a space between "text" and } > > > LayoutTests/resources/ui-helper.js:248 > > + const resolveShareSheet = `(() => uiController.invokeShareSheetWithResolution(${resolved}))()`; > > Nit - Indentation is a bit off here.
Tim Horton
Comment 50 2018-08-27 16:57:46 PDT
Comment on attachment 348225 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348225&action=review > Source/WebCore/page/NavigatorShare.idl:15 > + * 3. Neither the name of Apple 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 this the wrong license. Should be 2-clause BSD.
Olivia Barnett
Comment 51 2018-08-27 17:12:25 PDT
EWS Watchlist
Comment 52 2018-08-27 17:16:47 PDT
Attachment 348241 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 66 files If any of these errors are false positives, please file a bug against check-webkit-style.
Wenson Hsieh
Comment 53 2018-08-27 20:04:04 PDT
Comment on attachment 348241 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348241&action=review I think this is looking pretty good. Just some minor comments below: > Source/WebCore/page/Navigator.cpp:135 > + return; Nit - you don't need the return down here. > Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:500 > +// Defaults to true It seems like this only defaults to true on iOS? > Source/WebKit/UIProcess/PageClient.h:205 > + virtual bool showShareSheet(WebPageProxy*, const WebCore::ShareDataWithParsedURL&, WTF::CompletionHandler<void (bool)>&&) { return false; } It doesn't seem like the first argument here (WebPageProxy*) is needed. > Source/WebKit/UIProcess/WebPageProxy.cpp:4593 > + CompletionHandler<void(bool)> completionHandler = [this, protectedThis = makeRef(*this), callbackID] (bool access) { I don't think you need to capture this as well as protectedThis; you can just capture protectedThis and then use protectedThis->m_process and protectedThis->m_pageID. > Source/WebKit/UIProcess/WebPageProxy.h:1479 > + void runShareSheet(const WebCore::ShareDataWithParsedURL&, uint64_t callbackID); ShareSheetCallbackID! > Source/WebKit/WebProcess/WebPage/WebPage.h:1078 > + void runShareSheetResponse(bool wasCompleted, uint64_t contextId); ShareSheetCallbackID! > LayoutTests/resources/ui-helper.js:248 > + const resolveShareSheet = `(() => uiController.invokeShareSheetWithResolution(${resolved}))()`; Nit - still missing one level of indentation here.
Wenson Hsieh
Comment 54 2018-08-27 20:12:49 PDT
Comment on attachment 348241 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348241&action=review >> Source/WebKit/UIProcess/WebPageProxy.cpp:4593 >> + CompletionHandler<void(bool)> completionHandler = [this, protectedThis = makeRef(*this), callbackID] (bool access) { > > I don't think you need to capture this as well as protectedThis; you can just capture protectedThis and then use protectedThis->m_process and protectedThis->m_pageID. Actually, never mind! A quick grep through WebKit shows that this is a pretty common idiom.
Olivia Barnett
Comment 55 2018-08-28 09:02:40 PDT
> > LayoutTests/resources/ui-helper.js:248 > > + const resolveShareSheet = `(() => uiController.invokeShareSheetWithResolution(${resolved}))()`; > > Nit - still missing one level of indentation here. Wait I'm confused -- all the examples above (like setTimePickerValue) have the same indentation?
Olivia Barnett
Comment 56 2018-08-28 09:41:08 PDT
EWS Watchlist
Comment 57 2018-08-28 09:43:20 PDT
Attachment 348299 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 58 2018-08-28 10:09:43 PDT
Comment on attachment 348299 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348299&action=review > Source/WebKit/Platform/spi/ios/UIKitSPI.h:423 > +@property (nonatomic, copy, nullable, setter=_setTitle:) NSString *_title; Get that `nullable` out of there, it's viral and makes the compiler want more nullable in more places. > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:385 > +- (void)invokeShareSheetWithResolution:(BOOL)resolved WK_API_AVAILABLE(ios(WK_IOS_TBA)); I see other things around here don't have leading underscores, but I don't understand it. Wenson, what's up with that? > Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:67 > +struct ShareDataWithParsedURL; Sort this up one line. > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6074 > +void WebPage::runShareSheet(ShareDataWithParsedURL& shareData, WTF::CompletionHandler<void(bool)>&& callback) "Run" is weird. How about s/runShareSheet/showShareSheet/. > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6085 > +void WebPage::runShareSheetResponse(bool wasGranted, ShareSheetCallbackID callbackID) "Run" is weird. How about s/runShareSheetResponse/didCompleteShareSheet/ or didDismissShareSheet or something > LayoutTests/resources/ui-helper.js:268 > + const resolveShareSheet = `(() => uiController.invokeShareSheetWithResolution(${resolved}))()`; > + return new Promise(resolve => testRunner.runUIScript(resolveShareSheet, resolve)); The confusion here between you and Wenson is that you have TABS here. No tabs please (and this is why!!)
Wenson Hsieh
Comment 59 2018-08-28 11:07:22 PDT
Comment on attachment 348299 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348299&action=review >> Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:385 >> +- (void)invokeShareSheetWithResolution:(BOOL)resolved WK_API_AVAILABLE(ios(WK_IOS_TBA)); > > I see other things around here don't have leading underscores, but I don't understand it. Wenson, what's up with that? TBH, it seems like there should be leading underscores per WebKit SPI convention...one of us should clean this all up at some point :P
Olivia Barnett
Comment 60 2018-08-28 11:55:17 PDT
EWS Watchlist
Comment 61 2018-08-28 11:57:57 PDT
Attachment 348315 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
Tim Horton
Comment 62 2018-08-28 12:44:43 PDT
Comment on attachment 348315 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348315&action=review > Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:500 > +// Defaults to false, true on iOS wk2 This is WebKit2 code, so you can just drop the wk2 (it's also not called wk2 in the API so this is a weird thing to have in an SPI header). > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:385 > +- (void)invokeShareSheetWithResolution:(BOOL)resolved WK_API_AVAILABLE(ios(WK_IOS_TBA)); Still missing the underscore.
Olivia Barnett
Comment 63 2018-08-28 13:31:06 PDT
EWS Watchlist
Comment 64 2018-08-28 13:36:34 PDT
Attachment 348332 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
Olivia Barnett
Comment 65 2018-08-28 15:28:09 PDT
EWS Watchlist
Comment 66 2018-08-28 15:31:56 PDT
Attachment 348351 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 67 2018-08-28 17:36:24 PDT
Comment on attachment 348351 [details] Patch Attachment 348351 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9016523 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 68 2018-08-28 17:36:26 PDT
Created attachment 348366 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
Olivia Barnett
Comment 69 2018-08-28 17:40:17 PDT
EWS Watchlist
Comment 70 2018-08-28 17:44:52 PDT
Attachment 348367 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 70 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 71 2018-08-28 19:32:20 PDT
Comment on attachment 348367 [details] Patch Attachment 348367 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/9018140 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 72 2018-08-28 19:32:23 PDT
Created attachment 348377 [details] Archive of layout-test-results from ews117 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 73 2018-08-28 19:37:25 PDT
Comment on attachment 348367 [details] Patch Attachment 348367 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/9018379 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 74 2018-08-28 19:37:28 PDT
Created attachment 348378 [details] Archive of layout-test-results from ews103 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 75 2018-08-28 19:41:45 PDT
Comment on attachment 348367 [details] Patch Attachment 348367 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9018120 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html
EWS Watchlist
Comment 76 2018-08-28 19:41:48 PDT
Created attachment 348379 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
EWS Watchlist
Comment 77 2018-08-28 21:03:18 PDT
Comment on attachment 348367 [details] Patch Attachment 348367 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/9018878 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html imported/w3c/web-platform-tests/web-share/share-securecontext.http.html
EWS Watchlist
Comment 78 2018-08-28 21:03:21 PDT
Created attachment 348386 [details] Archive of layout-test-results from ews106 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 79 2018-08-28 21:47:05 PDT
Comment on attachment 348367 [details] Patch Attachment 348367 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9018997 New failing tests: imported/w3c/web-platform-tests/web-share/share-url-invalid.https.html
EWS Watchlist
Comment 80 2018-08-28 21:47:08 PDT
Created attachment 348391 [details] Archive of layout-test-results from ews124 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
Olivia Barnett
Comment 81 2018-08-29 15:51:02 PDT
EWS Watchlist
Comment 82 2018-08-29 15:54:52 PDT
Attachment 348442 [details] did not pass style-queue: ERROR: Source/WebCore/page/ChromeClient.h:286: Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line. [build/webcore_export] [4] Total errors found: 1 in 68 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 83 2018-08-29 17:20:34 PDT
Comment on attachment 348442 [details] Patch Clearing flags on attachment: 348442 Committed r235489: <https://trac.webkit.org/changeset/235489>
WebKit Commit Bot
Comment 84 2018-08-29 17:20:37 PDT
All reviewed patches have been landed. Closing bug.
Tim Horton
Comment 86 2018-08-30 11:59:16 PDT
Super weird that we didn't get that here.
David Kilzer (:ddkilzer)
Comment 87 2018-09-05 14:59:13 PDT
(In reply to WebKit Commit Bot from comment #83) > Comment on attachment 348442 [details] > Patch > > Clearing flags on attachment: 348442 > > Committed r235489: <https://trac.webkit.org/changeset/235489> Follow-up fix due to bad WebKit Xcode project merge: Committed r235710: <https://trac.webkit.org/changeset/235710>
Note You need to log in before you can comment on or make changes to this bug.