Changeset 263313 in webkit
- Timestamp:
- Jun 19, 2020, 8:50:10 PM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r263311 r263313 1 2020-06-19 Chris Dumez <cdumez@apple.com> 2 3 [Cocoa] Delay issuing ManagedSession & Network Extension sandbox extensions until a load is actually issued 4 https://bugs.webkit.org/show_bug.cgi?id=213414 5 <rdar://problem/64548684> 6 7 Reviewed by Per Arne Vollan. 8 9 setHasConsumedSandboxExtensions() can now get called several times, every time a WebPage is created. 10 Once a sandbox extension has been consumed, there is no going back so return early if the state is 11 already "Consumed". 12 13 * platform/cocoa/NetworkExtensionContentFilter.mm: 14 (WebCore::NetworkExtensionContentFilter::setHasConsumedSandboxExtensions): 15 * platform/cocoa/ParentalControlsContentFilter.mm: 16 (WebCore::ParentalControlsContentFilter::setHasConsumedSandboxExtension): 17 1 18 2020-06-19 Zalan Bujtas <zalan@apple.com> 2 19 -
trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm
r261149 r263313 229 229 void NetworkExtensionContentFilter::setHasConsumedSandboxExtensions(bool hasConsumedSandboxExtensions) 230 230 { 231 if (m_sandboxExtensionsState == SandboxExtensionsState::Consumed) 232 return; 233 231 234 m_sandboxExtensionsState = (hasConsumedSandboxExtensions ? SandboxExtensionsState::Consumed : SandboxExtensionsState::NotConsumed); 232 235 } -
trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm
r254983 r263313 151 151 void ParentalControlsContentFilter::setHasConsumedSandboxExtension(bool hasConsumedSandboxExtension) 152 152 { 153 if (m_sandboxExtensionState == SandboxExtensionState::Consumed) 154 return; 155 153 156 m_sandboxExtensionState = (hasConsumedSandboxExtension ? SandboxExtensionState::Consumed : SandboxExtensionState::NotConsumed); 154 157 } -
trunk/Source/WebKit/ChangeLog
r263307 r263313 1 2020-06-19 Chris Dumez <cdumez@apple.com> 2 3 [Cocoa] Delay issuing ManagedSession & Network Extension sandbox extensions until a load is actually issued 4 https://bugs.webkit.org/show_bug.cgi?id=213414 5 <rdar://problem/64548684> 6 7 Reviewed by Per Arne Vollan. 8 9 Delay issuing ManagedSession & Network Extension sandbox extensions until a load is actually issued. 10 This is a Safari launch time optimization since the checks needed to decide whether or not to issue 11 the extensions are expensive and there is no reason to issue them as soon as the process launches 12 (especially in the case of a prewarmed process). 13 14 * Shared/Cocoa/LoadParametersCocoa.mm: 15 (WebKit::LoadParameters::platformEncode const): 16 (WebKit::LoadParameters::platformDecode): 17 * Shared/LoadParameters.h: 18 * Shared/WebProcessCreationParameters.cpp: 19 (WebKit::WebProcessCreationParameters::encode const): 20 (WebKit::WebProcessCreationParameters::decode): 21 * Shared/WebProcessCreationParameters.h: 22 * UIProcess/Cocoa/WebPageProxyCocoa.mm: 23 (WebKit::WebPageProxy::addPlatformLoadParameters): 24 * UIProcess/Cocoa/WebProcessPoolCocoa.mm: 25 (WebKit::WebProcessPool::platformInitializeWebProcess): 26 * UIProcess/WebPageProxy.cpp: 27 (WebKit::WebPageProxy::addPlatformLoadParameters): 28 (WebKit::WebPageProxy::loadRequestWithNavigationShared): 29 (WebKit::WebPageProxy::loadFile): 30 (WebKit::WebPageProxy::loadDataWithNavigationShared): 31 (WebKit::WebPageProxy::loadAlternateHTML): 32 (WebKit::WebPageProxy::loadWebArchiveData): 33 * UIProcess/WebPageProxy.h: 34 * UIProcess/WebProcessProxy.h: 35 (WebKit::WebProcessProxy::hasNetworkExtensionSandboxAccess const): 36 (WebKit::WebProcessProxy::markHasNetworkExtensionSandboxAccess): 37 (WebKit::WebProcessProxy::hasManagedSessionSandboxAccess const): 38 (WebKit::WebProcessProxy::markHasManagedSessionSandboxAccess): 39 * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: 40 (WebKit::WebPage::platformDidReceiveLoadParameters): 41 * WebProcess/cocoa/WebProcessCocoa.mm: 42 (WebKit::WebProcess::platformInitializeWebProcess): 43 1 44 2020-06-19 Ryan Haddad <ryanhaddad@apple.com> 2 45 -
trunk/Source/WebKit/Shared/Cocoa/LoadParametersCocoa.mm
r260366 r263313 37 37 { 38 38 IPC::encode(encoder, dataDetectionContext.get()); 39 40 encoder << neHelperExtensionHandle; 41 encoder << neSessionManagerExtensionHandle; 42 #if PLATFORM(IOS) 43 encoder << contentFilterExtensionHandle; 44 encoder << frontboardServiceExtensionHandle; 45 #endif 39 46 } 40 47 41 bool LoadParameters::platformDecode(IPC::Decoder& decoder, LoadParameters& data)48 bool LoadParameters::platformDecode(IPC::Decoder& decoder, LoadParameters& parameters) 42 49 { 43 if (!IPC::decode(decoder, data.dataDetectionContext))50 if (!IPC::decode(decoder, parameters.dataDetectionContext)) 44 51 return false; 52 53 Optional<Optional<SandboxExtension::Handle>> neHelperExtensionHandle; 54 decoder >> neHelperExtensionHandle; 55 if (!neHelperExtensionHandle) 56 return false; 57 parameters.neHelperExtensionHandle = WTFMove(*neHelperExtensionHandle); 58 59 Optional<Optional<SandboxExtension::Handle>> neSessionManagerExtensionHandle; 60 decoder >> neSessionManagerExtensionHandle; 61 if (!neSessionManagerExtensionHandle) 62 return false; 63 parameters.neSessionManagerExtensionHandle = WTFMove(*neSessionManagerExtensionHandle); 64 65 #if PLATFORM(IOS) 66 Optional<Optional<SandboxExtension::Handle>> contentFilterExtensionHandle; 67 decoder >> contentFilterExtensionHandle; 68 if (!contentFilterExtensionHandle) 69 return false; 70 parameters.contentFilterExtensionHandle = WTFMove(*contentFilterExtensionHandle); 71 72 Optional<Optional<SandboxExtension::Handle>> frontboardServiceExtensionHandle; 73 decoder >> frontboardServiceExtensionHandle; 74 if (!frontboardServiceExtensionHandle) 75 return false; 76 parameters.frontboardServiceExtensionHandle = WTFMove(*frontboardServiceExtensionHandle); 77 #endif 45 78 46 79 return true; -
trunk/Source/WebKit/Shared/LoadParameters.h
r261506 r263313 75 75 #if PLATFORM(COCOA) 76 76 RetainPtr<NSDictionary> dataDetectionContext; 77 Optional<SandboxExtension::Handle> neHelperExtensionHandle; 78 Optional<SandboxExtension::Handle> neSessionManagerExtensionHandle; 79 #endif 80 #if PLATFORM(IOS) 81 Optional<SandboxExtension::Handle> contentFilterExtensionHandle; 82 Optional<SandboxExtension::Handle> frontboardServiceExtensionHandle; 77 83 #endif 78 84 }; -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
r263307 r263313 158 158 #if PLATFORM(IOS) 159 159 encoder << compilerServiceExtensionHandle; 160 encoder << contentFilterExtensionHandle;161 encoder << frontboardServiceExtensionHandle;162 160 #endif 163 161 … … 169 167 170 168 #if PLATFORM(COCOA) 171 encoder << neHelperExtensionHandle;172 encoder << neSessionManagerExtensionHandle;173 169 encoder << mapDBExtensionHandle; 174 170 encoder << systemHasBattery; … … 422 418 return false; 423 419 parameters.compilerServiceExtensionHandle = WTFMove(*compilerServiceExtensionHandle); 424 425 Optional<Optional<SandboxExtension::Handle>> contentFilterExtensionHandle;426 decoder >> contentFilterExtensionHandle;427 if (!contentFilterExtensionHandle)428 return false;429 parameters.contentFilterExtensionHandle = WTFMove(*contentFilterExtensionHandle);430 431 Optional<Optional<SandboxExtension::Handle>> frontboardServiceExtensionHandle;432 decoder >> frontboardServiceExtensionHandle;433 if (!frontboardServiceExtensionHandle)434 return false;435 parameters.frontboardServiceExtensionHandle = WTFMove(*frontboardServiceExtensionHandle);436 420 #endif 437 421 … … 457 441 458 442 #if PLATFORM(COCOA) 459 Optional<Optional<SandboxExtension::Handle>> neHelperExtensionHandle;460 decoder >> neHelperExtensionHandle;461 if (!neHelperExtensionHandle)462 return false;463 parameters.neHelperExtensionHandle = WTFMove(*neHelperExtensionHandle);464 465 Optional<Optional<SandboxExtension::Handle>> neSessionManagerExtensionHandle;466 decoder >> neSessionManagerExtensionHandle;467 if (!neSessionManagerExtensionHandle)468 return false;469 parameters.neSessionManagerExtensionHandle = WTFMove(*neSessionManagerExtensionHandle);470 471 443 Optional<Optional<SandboxExtension::Handle>> mapDBExtensionHandle; 472 444 decoder >> mapDBExtensionHandle; -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.h
r263307 r263313 202 202 #if PLATFORM(IOS) 203 203 Optional<SandboxExtension::Handle> compilerServiceExtensionHandle; 204 Optional<SandboxExtension::Handle> contentFilterExtensionHandle;205 Optional<SandboxExtension::Handle> frontboardServiceExtensionHandle;206 204 #endif 207 205 … … 213 211 214 212 #if PLATFORM(COCOA) 215 Optional<SandboxExtension::Handle> neHelperExtensionHandle;216 Optional<SandboxExtension::Handle> neSessionManagerExtensionHandle;217 213 Optional<SandboxExtension::Handle> mapDBExtensionHandle; 218 214 bool systemHasBattery { false }; -
trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
r261981 r263313 48 48 #import <WebCore/TextAlternativeWithRange.h> 49 49 #import <WebCore/ValidationBubble.h> 50 #import <pal/spi/cocoa/NEFilterSourceSPI.h> 50 51 #import <wtf/BlockPtr.h> 52 #import <wtf/SoftLinking.h> 51 53 #import <wtf/cf/TypeCastsCF.h> 52 54 … … 54 56 #import "MediaUsageManagerCocoa.h" 55 57 #endif 58 59 #if PLATFORM(IOS) 60 #import <pal/spi/cocoa/WebFilterEvaluatorSPI.h> 61 62 SOFT_LINK_PRIVATE_FRAMEWORK(WebContentAnalysis); 63 SOFT_LINK_CLASS(WebContentAnalysis, WebFilterEvaluator); 64 #endif 65 66 SOFT_LINK_FRAMEWORK_OPTIONAL(NetworkExtension); 67 SOFT_LINK_CLASS_OPTIONAL(NetworkExtension, NEFilterSource); 56 68 57 69 #define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, process().connection()) … … 130 142 #endif 131 143 132 void WebPageProxy::addPlatformLoadParameters( LoadParameters& loadParameters)144 void WebPageProxy::addPlatformLoadParameters(WebProcessProxy& process, LoadParameters& loadParameters) 133 145 { 134 146 loadParameters.dataDetectionContext = m_uiClient->dataDetectionContext(); 147 148 if (!process.hasNetworkExtensionSandboxAccess() && [getNEFilterSourceClass() filterRequired]) { 149 SandboxExtension::Handle helperHandle; 150 SandboxExtension::createHandleForMachLookup("com.apple.nehelper"_s, WTF::nullopt, helperHandle); 151 loadParameters.neHelperExtensionHandle = WTFMove(helperHandle); 152 SandboxExtension::Handle managerHandle; 153 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 154 SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager"_s, WTF::nullopt, managerHandle); 155 #else 156 SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager.content-filter"_s, WTF::nullopt, managerHandle); 157 #endif 158 loadParameters.neSessionManagerExtensionHandle = WTFMove(managerHandle); 159 160 process.markHasNetworkExtensionSandboxAccess(); 161 } 162 163 #if PLATFORM(IOS) 164 if (!process.hasManagedSessionSandboxAccess() && [getWebFilterEvaluatorClass() isManagedSession]) { 165 SandboxExtension::Handle handle; 166 SandboxExtension::createHandleForMachLookup("com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"_s, WTF::nullopt, handle); 167 loadParameters.contentFilterExtensionHandle = WTFMove(handle); 168 169 SandboxExtension::Handle frontboardServiceExtensionHandle; 170 if (SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices"_s, WTF::nullopt, frontboardServiceExtensionHandle)) 171 loadParameters.frontboardServiceExtensionHandle = WTFMove(frontboardServiceExtensionHandle); 172 173 process.markHasManagedSessionSandboxAccess(); 174 } 175 #endif 135 176 } 136 177 -
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
r263307 r263313 80 80 #else 81 81 #import "UIKitSPI.h" 82 #import <pal/ios/ManagedConfigurationSoftLink.h>83 #import <pal/spi/ios/ManagedConfigurationSPI.h>84 82 #endif 85 83 86 84 #if PLATFORM(IOS_FAMILY) 87 85 #import <pal/spi/ios/MobileGestaltSPI.h> 88 #endif89 90 #if PLATFORM(IOS)91 #import <pal/spi/cocoa/WebFilterEvaluatorSPI.h>92 93 SOFT_LINK_PRIVATE_FRAMEWORK(WebContentAnalysis);94 SOFT_LINK_CLASS(WebContentAnalysis, WebFilterEvaluator);95 86 #endif 96 87 97 88 #if PLATFORM(COCOA) 98 89 #import <WebCore/SystemBattery.h> 99 #import <pal/spi/cocoa/NEFilterSourceSPI.h>100 101 SOFT_LINK_FRAMEWORK_OPTIONAL(NetworkExtension);102 SOFT_LINK_CLASS_OPTIONAL(NetworkExtension, NEFilterSource);103 90 #endif 104 91 … … 409 396 410 397 #if PLATFORM(COCOA) 411 if ([getNEFilterSourceClass() filterRequired]) {412 SandboxExtension::Handle helperHandle;413 SandboxExtension::createHandleForMachLookup("com.apple.nehelper"_s, WTF::nullopt, helperHandle);414 parameters.neHelperExtensionHandle = WTFMove(helperHandle);415 SandboxExtension::Handle managerHandle;416 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500417 SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager"_s, WTF::nullopt, managerHandle);418 #else419 SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager.content-filter"_s, WTF::nullopt, managerHandle);420 #endif421 parameters.neSessionManagerExtensionHandle = WTFMove(managerHandle);422 }423 398 parameters.systemHasBattery = systemHasBattery(); 424 399 … … 426 401 if (SandboxExtension::createHandleForMachLookup("com.apple.lsd.mapdb"_s, WTF::nullopt, mapDBHandle, SandboxExtension::Flags::NoReport)) 427 402 parameters.mapDBExtensionHandle = WTFMove(mapDBHandle); 428 #endif429 430 #if PLATFORM(IOS)431 if ([getWebFilterEvaluatorClass() isManagedSession]) {432 SandboxExtension::Handle handle;433 SandboxExtension::createHandleForMachLookup("com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"_s, WTF::nullopt, handle);434 parameters.contentFilterExtensionHandle = WTFMove(handle);435 436 SandboxExtension::Handle frontboardServiceExtensionHandle;437 if (SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices"_s, WTF::nullopt, frontboardServiceExtensionHandle))438 parameters.frontboardServiceExtensionHandle = WTFMove(frontboardServiceExtensionHandle);439 }440 403 #endif 441 404 -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r263288 r263313 1267 1267 1268 1268 #if !PLATFORM(COCOA) 1269 void WebPageProxy::addPlatformLoadParameters( LoadParameters&)1269 void WebPageProxy::addPlatformLoadParameters(WebProcessProxy&, LoadParameters&) 1270 1270 { 1271 1271 } … … 1324 1324 maybeInitializeSandboxExtensionHandle(process, url, m_pageLoadState.resourceDirectoryURL(), loadParameters.sandboxExtensionHandle); 1325 1325 1326 addPlatformLoadParameters( loadParameters);1326 addPlatformLoadParameters(process, loadParameters); 1327 1327 1328 1328 preconnectTo(url); … … 1386 1386 const bool checkAssumedReadAccessToResourceURL = false; 1387 1387 maybeInitializeSandboxExtensionHandle(m_process, fileURL, resourceDirectoryURL, loadParameters.sandboxExtensionHandle, checkAssumedReadAccessToResourceURL); 1388 addPlatformLoadParameters( loadParameters);1388 addPlatformLoadParameters(m_process, loadParameters); 1389 1389 1390 1390 #if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN) … … 1446 1446 loadParameters.shouldOpenExternalURLsPolicy = shouldOpenExternalURLsPolicy; 1447 1447 loadParameters.isNavigatingToAppBoundDomain = isNavigatingToAppBoundDomain; 1448 addPlatformLoadParameters( loadParameters);1448 addPlatformLoadParameters(process, loadParameters); 1449 1449 1450 1450 process->assumeReadAccessToBaseURL(*this, baseURL); … … 1488 1488 loadParameters.provisionalLoadErrorURLString = m_failingProvisionalLoadURL; 1489 1489 loadParameters.userData = UserData(process().transformObjectsToHandles(userData).get()); 1490 addPlatformLoadParameters( loadParameters);1490 addPlatformLoadParameters(process(), loadParameters); 1491 1491 1492 1492 m_process->assumeReadAccessToBaseURL(*this, baseURL.string()); … … 1517 1517 loadParameters.encodingName = "utf-16"_s; 1518 1518 loadParameters.userData = UserData(process().transformObjectsToHandles(userData).get()); 1519 addPlatformLoadParameters( loadParameters);1519 addPlatformLoadParameters(process(), loadParameters); 1520 1520 1521 1521 send(Messages::WebPage::LoadData(loadParameters)); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r263057 r263313 604 604 void closePage(); 605 605 606 void addPlatformLoadParameters( LoadParameters&);606 void addPlatformLoadParameters(WebProcessProxy&, LoadParameters&); 607 607 RefPtr<API::Navigation> loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes, API::Object* userData = nullptr); 608 608 RefPtr<API::Navigation> loadFile(const String& fileURL, const String& resourceDirectoryURL, API::Object* userData = nullptr); -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r263208 r263313 389 389 bool hasSleepDisabler() const; 390 390 391 #if PLATFORM(COCOA) 392 bool hasNetworkExtensionSandboxAccess() const { return m_hasNetworkExtensionSandboxAccess; } 393 void markHasNetworkExtensionSandboxAccess() { m_hasNetworkExtensionSandboxAccess = true; } 394 #endif 395 #if PLATFORM(IOS) 396 bool hasManagedSessionSandboxAccess() const { return m_hasManagedSessionSandboxAccess; } 397 void markHasManagedSessionSandboxAccess() { m_hasManagedSessionSandboxAccess = true; } 398 #endif 399 391 400 protected: 392 401 WebProcessProxy(WebProcessPool&, WebsiteDataStore*, IsPrewarmed); … … 579 588 bool m_hasIssuedAttachmentElementRelatedSandboxExtensions { false }; 580 589 #endif 590 #if PLATFORM(COCOA) 591 bool m_hasNetworkExtensionSandboxAccess { false }; 592 #endif 593 #if PLATFORM(IOS) 594 bool m_hasManagedSessionSandboxAccess { false }; 595 #endif 581 596 Optional<UseLazyStop> m_shouldStartResponsivenessTimerWhenLaunched; 582 597 -
trunk/Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
r261848 r263313 46 46 #import <WebCore/HTMLUListElement.h> 47 47 #import <WebCore/HitTestResult.h> 48 #import <WebCore/NetworkExtensionContentFilter.h> 48 49 #import <WebCore/NodeRenderStyle.h> 49 50 #import <WebCore/PaymentCoordinator.h> … … 52 53 #import <WebCore/RenderElement.h> 53 54 55 #if PLATFORM(IOS) 56 #import <WebCore/ParentalControlsContentFilter.h> 57 #endif 58 54 59 #if PLATFORM(COCOA) 55 60 56 61 namespace WebKit { 57 62 58 void WebPage::platformDidReceiveLoadParameters(const LoadParameters& loadParameters) 59 { 60 m_dataDetectionContext = loadParameters.dataDetectionContext; 63 void WebPage::platformDidReceiveLoadParameters(const LoadParameters& parameters) 64 { 65 m_dataDetectionContext = parameters.dataDetectionContext; 66 67 if (parameters.neHelperExtensionHandle) 68 SandboxExtension::consumePermanently(*parameters.neHelperExtensionHandle); 69 if (parameters.neSessionManagerExtensionHandle) 70 SandboxExtension::consumePermanently(*parameters.neSessionManagerExtensionHandle); 71 NetworkExtensionContentFilter::setHasConsumedSandboxExtensions(parameters.neHelperExtensionHandle.hasValue() && parameters.neSessionManagerExtensionHandle.hasValue()); 72 73 #if PLATFORM(IOS) 74 if (parameters.contentFilterExtensionHandle) 75 SandboxExtension::consumePermanently(*parameters.contentFilterExtensionHandle); 76 ParentalControlsContentFilter::setHasConsumedSandboxExtension(parameters.contentFilterExtensionHandle.hasValue()); 77 78 if (parameters.frontboardServiceExtensionHandle) 79 SandboxExtension::consumePermanently(*parameters.frontboardServiceExtensionHandle); 80 #endif 61 81 } 62 82 -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r263307 r263313 64 64 #import <WebCore/MemoryRelease.h> 65 65 #import <WebCore/NSScrollerImpDetails.h> 66 #import <WebCore/NetworkExtensionContentFilter.h>67 66 #import <WebCore/PerformanceLogging.h> 68 67 #import <WebCore/PictureInPictureSupport.h> … … 95 94 #endif 96 95 97 #if PLATFORM(IOS)98 #import <WebCore/ParentalControlsContentFilter.h>99 #endif100 101 96 #if PLATFORM(IOS_FAMILY) 102 97 #import "UIKitSPI.h" … … 273 268 if (parameters.compilerServiceExtensionHandle) 274 269 SandboxExtension::consumePermanently(*parameters.compilerServiceExtensionHandle); 275 276 if (parameters.contentFilterExtensionHandle)277 SandboxExtension::consumePermanently(*parameters.contentFilterExtensionHandle);278 ParentalControlsContentFilter::setHasConsumedSandboxExtension(parameters.contentFilterExtensionHandle.hasValue());279 280 if (parameters.frontboardServiceExtensionHandle)281 SandboxExtension::consumePermanently(*parameters.frontboardServiceExtensionHandle);282 270 #endif 283 271 … … 288 276 #endif 289 277 290 if (parameters.neHelperExtensionHandle)291 SandboxExtension::consumePermanently(*parameters.neHelperExtensionHandle);292 if (parameters.neSessionManagerExtensionHandle)293 SandboxExtension::consumePermanently(*parameters.neSessionManagerExtensionHandle);294 NetworkExtensionContentFilter::setHasConsumedSandboxExtensions(parameters.neHelperExtensionHandle.hasValue() && parameters.neSessionManagerExtensionHandle.hasValue());295 296 278 setSystemHasBattery(parameters.systemHasBattery); 297 279
Note:
See TracChangeset
for help on using the changeset viewer.