Changeset 243443 in webkit
- Timestamp:
- Mar 25, 2019, 11:26:10 AM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 added
- 10 edited
-
ChangeLog (modified) (1 diff)
-
Shared/ApplePay/WebPaymentCoordinatorProxy.cpp (modified) (1 diff)
-
Shared/ApplePay/WebPaymentCoordinatorProxy.h (modified) (2 diffs)
-
Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in (modified) (1 diff)
-
Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm (modified) (1 diff)
-
SourcesCocoa.txt (modified) (1 diff)
-
WebKit.xcodeproj/project.pbxproj (modified) (3 diffs)
-
WebProcess/ApplePay/WebPaymentCoordinator.cpp (modified) (1 diff)
-
WebProcess/ApplePay/WebPaymentCoordinator.h (modified) (1 diff)
-
WebProcess/ApplePay/cocoa (added)
-
WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm (added)
-
WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r243439 r243443 1 2019-03-25 Andy Estes <aestes@apple.com> 2 3 [Apple Pay] Remove the AvailablePaymentNetworks synchronous message 4 https://bugs.webkit.org/show_bug.cgi?id=196180 5 6 Reviewed by Youenn Fablet. 7 8 Unlike many PassKit interactions, it's ok to call +[PKPaymentRequest availableNetworks] 9 without an entitlement. Therefore, we can call it from the web process directly rather than 10 synchronously messaging the entitled UI or networking process. 11 12 * Shared/ApplePay/WebPaymentCoordinatorProxy.cpp: 13 * Shared/ApplePay/WebPaymentCoordinatorProxy.h: 14 * Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in: 15 * Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: 16 * SourcesCocoa.txt: 17 * WebKit.xcodeproj/project.pbxproj: 18 * WebProcess/ApplePay/WebPaymentCoordinator.cpp: 19 (WebKit::WebPaymentCoordinator::availablePaymentNetworks): 20 * WebProcess/ApplePay/WebPaymentCoordinator.h: 21 * WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm: Added. 22 (WebKit::WebPaymentCoordinator::platformAvailablePaymentNetworks const): 23 * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: 24 (-[WKAccessibilityWebPageObjectBase accessibilityRootObjectWrapper]): 25 (-[WKAccessibilityWebPageObjectBase setWebPage:]): 26 1 27 2019-03-25 Chris Dumez <cdumez@apple.com> 2 28 -
trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.cpp
r242748 r243443 69 69 } 70 70 71 void WebPaymentCoordinatorProxy::availablePaymentNetworks(CompletionHandler<void(Vector<String>&&)>&& completionHandler)72 {73 completionHandler(platformAvailablePaymentNetworks());74 }75 76 71 void WebPaymentCoordinatorProxy::canMakePayments(CompletionHandler<void(bool)>&& reply) 77 72 { -
trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h
r242748 r243443 112 112 113 113 // Message handlers 114 void availablePaymentNetworks(CompletionHandler<void(Vector<String>&&)>&&);115 114 void canMakePayments(CompletionHandler<void(bool)>&&); 116 115 void canMakePaymentsWithActiveCard(const String& merchantIdentifier, const String& domainName, PAL::SessionID, CompletionHandler<void(bool)>&&); … … 134 133 void hidePaymentUI(); 135 134 136 Vector<String> platformAvailablePaymentNetworks();137 135 bool platformCanMakePayments(); 138 136 void platformCanMakePaymentsWithActiveCard(const String& merchantIdentifier, const String& domainName, PAL::SessionID, WTF::Function<void(bool)>&& completionHandler); -
trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in
r243345 r243443 27 27 messages -> WebPaymentCoordinatorProxy { 28 28 29 AvailablePaymentNetworks() -> (Vector<String> availablePaymentNetworks) Synchronous30 29 CanMakePayments() -> (bool result) Synchronous 31 30 CanMakePaymentsWithActiveCard(String merchantIdentifier, String domainName, PAL::SessionID sessionID) -> (bool canMakePayments) Async -
trunk/Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm
r243412 r243443 350 350 } 351 351 352 Vector<String> WebPaymentCoordinatorProxy::platformAvailablePaymentNetworks()353 {354 #if PLATFORM(MAC)355 if (!PAL::isPassKitFrameworkAvailable())356 return { };357 #endif358 359 NSArray<PKPaymentNetwork> *availableNetworks = [PAL::getPKPaymentRequestClass() availableNetworks];360 Vector<String> result;361 result.reserveInitialCapacity(availableNetworks.count);362 for (PKPaymentNetwork network in availableNetworks)363 result.uncheckedAppend(network);364 return result;365 }366 367 352 } // namespace WebKit 368 353 -
trunk/Source/WebKit/SourcesCocoa.txt
r243427 r243443 495 495 WebProcess/ApplePay/WebPaymentCoordinator.cpp 496 496 497 WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm 498 497 499 WebProcess/cocoa/PlaybackSessionManager.mm 498 500 WebProcess/cocoa/UserMediaCaptureManager.cpp -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r243427 r243443 3904 3904 A1A4FE6018DD54A400B5EA8A /* _WKDownloadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKDownloadDelegate.h; sourceTree = "<group>"; }; 3905 3905 A1B89B92221E023300EB4CEA /* SDKVariant.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = SDKVariant.xcconfig; sourceTree = "<group>"; }; 3906 A1B9CA382246E54A003D6DCA /* WebPaymentCoordinatorCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPaymentCoordinatorCocoa.mm; sourceTree = "<group>"; }; 3906 3907 A1C512C6190656E500448914 /* WebPreviewLoaderClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebPreviewLoaderClient.cpp; path = ios/WebPreviewLoaderClient.cpp; sourceTree = "<group>"; }; 3907 3908 A1C512C7190656E500448914 /* WebPreviewLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebPreviewLoaderClient.h; path = ios/WebPreviewLoaderClient.h; sourceTree = "<group>"; }; … … 5297 5298 isa = PBXGroup; 5298 5299 children = ( 5300 A1B9CA372246E525003D6DCA /* cocoa */, 5299 5301 1AB1F7711D1B2F7E007C9BD1 /* WebPaymentCoordinator.cpp */, 5300 5302 1AB1F7721D1B2F7E007C9BD1 /* WebPaymentCoordinator.h */, … … 7189 7191 ); 7190 7192 path = ios; 7193 sourceTree = "<group>"; 7194 }; 7195 A1B9CA372246E525003D6DCA /* cocoa */ = { 7196 isa = PBXGroup; 7197 children = ( 7198 A1B9CA382246E54A003D6DCA /* WebPaymentCoordinatorCocoa.mm */, 7199 ); 7200 path = cocoa; 7191 7201 sourceTree = "<group>"; 7192 7202 }; -
trunk/Source/WebKit/WebProcess/ApplePay/WebPaymentCoordinator.cpp
r243324 r243443 60 60 } 61 61 62 const WebPaymentCoordinator::AvailablePaymentNetworksSet& WebPaymentCoordinator::availablePaymentNetworks()63 {64 if (m_availablePaymentNetworks)65 return *m_availablePaymentNetworks;66 67 m_availablePaymentNetworks = WebPaymentCoordinator::AvailablePaymentNetworksSet();68 69 Vector<String> availablePaymentNetworks;70 using AvailablePaymentNetworksMessage = Messages::WebPaymentCoordinatorProxy::AvailablePaymentNetworks;71 if (sendSync(AvailablePaymentNetworksMessage(), AvailablePaymentNetworksMessage::Reply(availablePaymentNetworks))) {72 for (auto& network : availablePaymentNetworks)73 m_availablePaymentNetworks->add(network);74 }75 76 return *m_availablePaymentNetworks;77 }78 79 62 Optional<String> WebPaymentCoordinator::validatedPaymentNetwork(const String& paymentNetwork) 80 63 { 81 auto& paymentNetworks = availablePaymentNetworks(); 82 auto result = paymentNetworks.find(paymentNetwork); 83 if (result == paymentNetworks.end()) 64 if (!m_availablePaymentNetworks) 65 m_availablePaymentNetworks = platformAvailablePaymentNetworks(); 66 67 auto result = m_availablePaymentNetworks->find(paymentNetwork); 68 if (result == m_availablePaymentNetworks->end()) 84 69 return WTF::nullopt; 85 70 return *result; -
trunk/Source/WebKit/WebProcess/ApplePay/WebPaymentCoordinator.h
r243324 r243443 103 103 104 104 using AvailablePaymentNetworksSet = HashSet<String, ASCIICaseInsensitiveHash>; 105 const AvailablePaymentNetworksSet& availablePaymentNetworks();105 static AvailablePaymentNetworksSet platformAvailablePaymentNetworks(); 106 106 107 107 WebPage& m_webPage; -
trunk/Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm
r241321 r243443 44 44 #import <WebCore/Scrollbar.h> 45 45 #import <wtf/ObjCRuntimeExtras.h> 46 47 using namespace WebKit;48 46 49 47 @implementation WKAccessibilityWebPageObjectBase … … 133 131 #endif 134 132 135 if ( AXObjectCache*cache = [self axObjectCache]) {133 if (auto cache = [self axObjectCache]) { 136 134 if (WebCore::AccessibilityObject* root = cache->rootObject()) 137 135 return root->wrapper(); … … 141 139 } 142 140 143 - (void)setWebPage:(Web Page*)page141 - (void)setWebPage:(WebKit::WebPage*)page 144 142 { 145 143 m_page = page;
Note:
See TracChangeset
for help on using the changeset viewer.