⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 263288 in webkit


Ignore:
Timestamp:
Jun 19, 2020, 2:31:54 PM (6 years ago)
Author:
Chris Dumez
Message:

Use ASCIILiteral more for SandboxExtension functions
https://bugs.webkit.org/show_bug.cgi?id=213400

Reviewed by Per Arne Vollan.

Use ASCIILiteral more for SandboxExtension functions. Functions like createHandleForMachLookup() / createHandleForIOKitClassExtension()
don't need to take in Strings, ASCIILiteral is enough.

  • Shared/Cocoa/SandboxExtensionCocoa.mm:

(WebKit::createHandlesForResources):
(WebKit::SandboxExtension::createReadOnlyHandlesForFiles):
(WebKit::SandboxExtension::createHandleForGenericExtension):
(WebKit::SandboxExtension::createHandleForMachLookup):
(WebKit::SandboxExtension::createHandlesForMachLookup):
(WebKit::SandboxExtension::createHandleForIOKitClassExtension):
(WebKit::SandboxExtension::createHandlesForIOKitClassExtensions):

  • Shared/SandboxExtension.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::mediaRelatedMachServices):
(WebKit::nonBrowserServices):
(WebKit::diagnosticServices):
(WebKit::agxCompilerClasses):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::singleton):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::grantAccessToAssetServices):

Location:
trunk/Source/WebKit
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r263287 r263288  
     12020-06-19  Chris Dumez  <cdumez@apple.com>
     2
     3        Use ASCIILiteral more for SandboxExtension functions
     4        https://bugs.webkit.org/show_bug.cgi?id=213400
     5
     6        Reviewed by Per Arne Vollan.
     7
     8        Use ASCIILiteral more for SandboxExtension functions. Functions like createHandleForMachLookup() / createHandleForIOKitClassExtension()
     9        don't need to take in Strings, ASCIILiteral is enough.
     10
     11        * Shared/Cocoa/SandboxExtensionCocoa.mm:
     12        (WebKit::createHandlesForResources):
     13        (WebKit::SandboxExtension::createReadOnlyHandlesForFiles):
     14        (WebKit::SandboxExtension::createHandleForGenericExtension):
     15        (WebKit::SandboxExtension::createHandleForMachLookup):
     16        (WebKit::SandboxExtension::createHandlesForMachLookup):
     17        (WebKit::SandboxExtension::createHandleForIOKitClassExtension):
     18        (WebKit::SandboxExtension::createHandlesForIOKitClassExtensions):
     19        * Shared/SandboxExtension.h:
     20        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     21        (WebKit::mediaRelatedMachServices):
     22        (WebKit::nonBrowserServices):
     23        (WebKit::diagnosticServices):
     24        (WebKit::agxCompilerClasses):
     25        (WebKit::WebProcessPool::platformInitializeWebProcess):
     26        * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
     27        (WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):
     28        * UIProcess/GPU/GPUProcessProxy.cpp:
     29        (WebKit::GPUProcessProxy::singleton):
     30        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
     31        (WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
     32        * UIProcess/WebPageProxy.cpp:
     33        (WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
     34        (WebKit::WebPageProxy::creationParameters):
     35        * UIProcess/ios/WebPageProxyIOS.mm:
     36        (WebKit::WebPageProxy::grantAccessToAssetServices):
     37
    1382020-06-19  Brent Fulgham  <bfulgham@apple.com>
    239
  • trunk/Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm

    r261152 r263288  
    9898        case SandboxExtension::Type::Mach:
    9999            if (!auditToken)
    100                 return sandbox_extension_issue_mach("com.apple.webkit.extension.mach"_s, path, extensionFlags);
    101             return sandbox_extension_issue_mach_to_process("com.apple.webkit.extension.mach"_s, path, extensionFlags, *auditToken);
     100                return sandbox_extension_issue_mach("com.apple.webkit.extension.mach", path, extensionFlags);
     101            return sandbox_extension_issue_mach_to_process("com.apple.webkit.extension.mach", path, extensionFlags, *auditToken);
    102102        case SandboxExtension::Type::IOKit:
    103103            if (!auditToken)
    104                 return sandbox_extension_issue_iokit_registry_entry_class("com.apple.webkit.extension.iokit"_s, path, extensionFlags);
    105             return sandbox_extension_issue_iokit_registry_entry_class_to_process("com.apple.webkit.extension.iokit"_s, path, extensionFlags, *auditToken);
     104                return sandbox_extension_issue_iokit_registry_entry_class("com.apple.webkit.extension.iokit", path, extensionFlags);
     105            return sandbox_extension_issue_iokit_registry_entry_class_to_process("com.apple.webkit.extension.iokit", path, extensionFlags, *auditToken);
    106106        case SandboxExtension::Type::Generic:
    107107            return sandbox_extension_issue_generic(path, extensionFlags);
     
    282282}
    283283
    284 static SandboxExtension::HandleArray createHandlesForResources(const Vector<String>& resources, Function<bool(const String&, SandboxExtension::Handle& handle)>&& createFunction)
     284template <typename T>
     285static SandboxExtension::HandleArray createHandlesForResources(const Vector<T>& resources, Function<bool(const T&, SandboxExtension::Handle& handle)>&& createFunction)
    285286{
    286287    SandboxExtension::HandleArray handleArray;
     
    299300}
    300301
    301 SandboxExtension::HandleArray SandboxExtension::createReadOnlyHandlesForFiles(const String& logLabel, const Vector<String>& paths)
    302 {
    303     return createHandlesForResources(paths, [&logLabel] (const String& path, Handle& handle) {
     302SandboxExtension::HandleArray SandboxExtension::createReadOnlyHandlesForFiles(ASCIILiteral logLabel, const Vector<String>& paths)
     303{
     304    return createHandlesForResources(paths, Function<bool(const String&, Handle&)>([&logLabel] (const String& path, Handle& handle) {
    304305        if (!SandboxExtension::createHandle(path, SandboxExtension::Type::ReadOnly, handle)) {
    305306            // This can legitimately fail if a directory containing the file is deleted after the file was chosen.
    306307            // We also have reports of cases where this likely fails for some unknown reason, <rdar://problem/10156710>.
    307             WTFLogAlways("%s: could not create a sandbox extension for '%s'\n", logLabel.utf8().data(), path.utf8().data());
     308            WTFLogAlways("%s: could not create a sandbox extension for '%s'\n", logLabel.characters(), path.utf8().data());
    308309            ASSERT_NOT_REACHED();
    309310            return false;
    310311        }
    311312        return true;
    312     });
     313    }));
    313314}
    314315
     
    351352}
    352353
    353 bool SandboxExtension::createHandleForGenericExtension(const String& extensionClass, Handle& handle)
    354 {
    355     ASSERT(!handle.m_sandboxExtension);
    356 
    357     handle.m_sandboxExtension = SandboxExtensionImpl::create(extensionClass.utf8().data(), Type::Generic);
     354bool SandboxExtension::createHandleForGenericExtension(ASCIILiteral extensionClass, Handle& handle)
     355{
     356    ASSERT(!handle.m_sandboxExtension);
     357
     358    handle.m_sandboxExtension = SandboxExtensionImpl::create(extensionClass.characters(), Type::Generic);
    358359    if (!handle.m_sandboxExtension) {
    359         WTFLogAlways("Could not create a '%s' sandbox extension", extensionClass.utf8().data());
     360        WTFLogAlways("Could not create a '%s' sandbox extension", extensionClass.characters());
    360361        return false;
    361362    }
     
    364365}
    365366
    366 bool SandboxExtension::createHandleForMachLookup(const String& service, Optional<audit_token_t> auditToken, Handle& handle, OptionSet<Flags> flags)
    367 {
    368     ASSERT(!handle.m_sandboxExtension);
    369    
    370     handle.m_sandboxExtension = SandboxExtensionImpl::create(service.utf8().data(), Type::Mach, auditToken, flags);
     367bool SandboxExtension::createHandleForMachLookup(ASCIILiteral service, Optional<audit_token_t> auditToken, Handle& handle, OptionSet<Flags> flags)
     368{
     369    ASSERT(!handle.m_sandboxExtension);
     370   
     371    handle.m_sandboxExtension = SandboxExtensionImpl::create(service.characters(), Type::Mach, auditToken, flags);
    371372    if (!handle.m_sandboxExtension) {
    372         WTFLogAlways("Could not create a '%s' sandbox extension", service.utf8().data());
     373        WTFLogAlways("Could not create a '%s' sandbox extension", service.characters());
    373374        return false;
    374375    }
     
    377378}
    378379
    379 SandboxExtension::HandleArray SandboxExtension::createHandlesForMachLookup(const Vector<String>& services, Optional<audit_token_t> auditToken, OptionSet<Flags> flags)
    380 {
    381     return createHandlesForResources(services, [auditToken, flags] (const String& service, Handle& handle) {
     380SandboxExtension::HandleArray SandboxExtension::createHandlesForMachLookup(const Vector<ASCIILiteral>& services, Optional<audit_token_t> auditToken, OptionSet<Flags> flags)
     381{
     382    return createHandlesForResources(services, Function<bool(const ASCIILiteral&, Handle&)>([auditToken, flags] (const ASCIILiteral& service, Handle& handle) {
    382383        if (!SandboxExtension::createHandleForMachLookup(service, auditToken, handle, flags)) {
    383384            ASSERT_NOT_REACHED();
     
    385386        }
    386387        return true;
    387     });
     388    }));
    388389}
    389390
     
    401402}
    402403
    403 bool SandboxExtension::createHandleForIOKitClassExtension(const String& ioKitClass, Optional<audit_token_t> auditToken, Handle& handle, OptionSet<Flags> flags)
    404 {
    405     ASSERT(!handle.m_sandboxExtension);
    406 
    407     handle.m_sandboxExtension = SandboxExtensionImpl::create(ioKitClass.utf8().data(), Type::IOKit, auditToken);
     404bool SandboxExtension::createHandleForIOKitClassExtension(ASCIILiteral ioKitClass, Optional<audit_token_t> auditToken, Handle& handle, OptionSet<Flags> flags)
     405{
     406    ASSERT(!handle.m_sandboxExtension);
     407
     408    handle.m_sandboxExtension = SandboxExtensionImpl::create(ioKitClass.characters(), Type::IOKit, auditToken);
    408409    if (!handle.m_sandboxExtension) {
    409         LOG_ERROR("Could not create a sandbox extension for '%s'", ioKitClass.utf8().data());
     410        LOG_ERROR("Could not create a sandbox extension for '%s'", ioKitClass.characters());
    410411        return false;
    411412    }
     
    414415}
    415416
    416 SandboxExtension::HandleArray SandboxExtension::createHandlesForIOKitClassExtensions(const Vector<String>& iokitClasses, Optional<audit_token_t> auditToken, OptionSet<Flags> flags)
    417 {
    418     return createHandlesForResources(iokitClasses, [auditToken, flags] (const String& iokitClass, Handle& handle) {
     417SandboxExtension::HandleArray SandboxExtension::createHandlesForIOKitClassExtensions(const Vector<ASCIILiteral>& iokitClasses, Optional<audit_token_t> auditToken, OptionSet<Flags> flags)
     418{
     419    return createHandlesForResources(iokitClasses, Function<bool(const ASCIILiteral&, Handle&)>([auditToken, flags] (const ASCIILiteral& iokitClass, Handle& handle) {
    419420        if (!SandboxExtension::createHandleForIOKitClassExtension(iokitClass, auditToken, handle, flags)) {
    420421            ASSERT_NOT_REACHED();
     
    422423        }
    423424        return true;
    424     });
     425    }));
    425426}
    426427
  • trunk/Source/WebKit/Shared/SandboxExtension.h

    r260932 r263288  
    112112    static RefPtr<SandboxExtension> create(Handle&&);
    113113    static bool createHandle(const String& path, Type, Handle&);
    114     static SandboxExtension::HandleArray createReadOnlyHandlesForFiles(const String& logLabel, const Vector<String>& paths);
     114    static SandboxExtension::HandleArray createReadOnlyHandlesForFiles(ASCIILiteral logLabel, const Vector<String>& paths);
    115115    static bool createHandleWithoutResolvingPath(const String& path, Type, Handle&);
    116116    static bool createHandleForReadWriteDirectory(const String& path, Handle&); // Will attempt to create the directory.
    117117    static String createHandleForTemporaryFile(const String& prefix, Type, Handle&);
    118     static bool createHandleForGenericExtension(const String& extensionClass, Handle&);
     118    static bool createHandleForGenericExtension(ASCIILiteral extensionClass, Handle&);
    119119#if HAVE(AUDIT_TOKEN)
    120     static bool createHandleForMachLookup(const String& service, Optional<audit_token_t>, Handle&, OptionSet<Flags> = Flags::Default);
    121     static HandleArray createHandlesForMachLookup(const Vector<String>& services, Optional<audit_token_t>, OptionSet<Flags> = Flags::Default);
     120    static bool createHandleForMachLookup(ASCIILiteral service, Optional<audit_token_t>, Handle&, OptionSet<Flags> = Flags::Default);
     121    static HandleArray createHandlesForMachLookup(const Vector<ASCIILiteral>& services, Optional<audit_token_t>, OptionSet<Flags> = Flags::Default);
    122122    static bool createHandleForReadByAuditToken(const String& path, audit_token_t, Handle&);
    123     static bool createHandleForIOKitClassExtension(const String& iokitClass, Optional<audit_token_t>, Handle&, OptionSet<Flags> = Flags::Default);
    124     static HandleArray createHandlesForIOKitClassExtensions(const Vector<String>& iokitClasses, Optional<audit_token_t>, OptionSet<Flags> = Flags::Default);
     123    static bool createHandleForIOKitClassExtension(ASCIILiteral iokitClass, Optional<audit_token_t>, Handle&, OptionSet<Flags> = Flags::Default);
     124    static HandleArray createHandlesForIOKitClassExtensions(const Vector<ASCIILiteral>& iokitClasses, Optional<audit_token_t>, OptionSet<Flags> = Flags::Default);
    125125#endif
    126126    ~SandboxExtension();
     
    161161inline RefPtr<SandboxExtension> SandboxExtension::create(Handle&&) { return nullptr; }
    162162inline bool SandboxExtension::createHandle(const String&, Type, Handle&) { return true; }
    163 inline SandboxExtension::HandleArray SandboxExtension::createReadOnlyHandlesForFiles(const String&, const Vector<String>&) { return { }; }
     163inline SandboxExtension::HandleArray SandboxExtension::createReadOnlyHandlesForFiles(ASCIILiteral, const Vector<String>&) { return { }; }
    164164inline bool SandboxExtension::createHandleWithoutResolvingPath(const String&, Type, Handle&) { return true; }
    165165inline bool SandboxExtension::createHandleForReadWriteDirectory(const String&, Handle&) { return true; }
    166166inline String SandboxExtension::createHandleForTemporaryFile(const String& /*prefix*/, Type, Handle&) {return String();}
    167 inline bool SandboxExtension::createHandleForGenericExtension(const String& /*extensionClass*/, Handle&) { return true; }
     167inline bool SandboxExtension::createHandleForGenericExtension(ASCIILiteral /*extensionClass*/, Handle&) { return true; }
    168168inline SandboxExtension::~SandboxExtension() { }
    169169inline bool SandboxExtension::revoke() { return true; }
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r263287 r263288  
    213213
    214214// FIXME(207716): The following should be removed when the GPU process is complete.
    215 static const Vector<String>& mediaRelatedMachServices()
     215static const Vector<ASCIILiteral>& mediaRelatedMachServices()
    216216{
    217217    ASSERT(isMainThread());
    218     static const auto services = makeNeverDestroyed(Vector<String> {
    219         "com.apple.audio.AudioComponentPrefs", "com.apple.audio.AudioComponentRegistrar",
    220         "com.apple.audio.AudioQueueServer", "com.apple.audio.toolbox.reporting.service", "com.apple.coremedia.endpoint.xpc",
    221         "com.apple.coremedia.routediscoverer.xpc", "com.apple.coremedia.routingcontext.xpc",
    222         "com.apple.coremedia.volumecontroller.xpc", "com.apple.accessibility.mediaaccessibilityd",
    223         "com.apple.mediaremoted.xpc",
    224 #if PLATFORM(IOS_FAMILY)
    225         "com.apple.audio.AudioSession", "com.apple.MediaPlayer.RemotePlayerService",
    226         "com.apple.coremedia.admin",
    227         "com.apple.coremedia.asset.xpc", "com.apple.coremedia.assetimagegenerator.xpc",
    228         "com.apple.coremedia.audiodeviceclock.xpc", "com.apple.coremedia.audioprocessingtap.xpc",
    229         "com.apple.coremedia.capturesession", "com.apple.coremedia.capturesource",
    230         "com.apple.coremedia.compressionsession", "com.apple.coremedia.cpe.xpc",
    231         "com.apple.coremedia.cpeprotector.xpc", "com.apple.coremedia.customurlloader.xpc",
    232         "com.apple.coremedia.decompressionsession", "com.apple.coremedia.figcontentkeysession.xpc",
    233         "com.apple.coremedia.figcpecryptor", "com.apple.coremedia.formatreader.xpc",
    234         "com.apple.coremedia.player.xpc", "com.apple.coremedia.remaker",
    235         "com.apple.coremedia.remotequeue", "com.apple.coremedia.routingsessionmanager.xpc",
    236         "com.apple.coremedia.samplebufferaudiorenderer.xpc", "com.apple.coremedia.samplebufferrendersynchronizer.xpc",
    237         "com.apple.coremedia.sandboxserver.xpc", "com.apple.coremedia.sts",
    238         "com.apple.coremedia.systemcontroller.xpc", "com.apple.coremedia.videoqueue",
    239         "com.apple.coremedia.visualcontext.xpc", "com.apple.airplay.apsynccontroller.xpc",
    240         "com.apple.audio.AURemoteIOServer"
     218    static const auto services = makeNeverDestroyed(Vector<ASCIILiteral> {
     219        "com.apple.audio.AudioComponentPrefs"_s, "com.apple.audio.AudioComponentRegistrar"_s,
     220        "com.apple.audio.AudioQueueServer"_s, "com.apple.audio.toolbox.reporting.service"_s, "com.apple.coremedia.endpoint.xpc"_s,
     221        "com.apple.coremedia.routediscoverer.xpc"_s, "com.apple.coremedia.routingcontext.xpc"_s,
     222        "com.apple.coremedia.volumecontroller.xpc"_s, "com.apple.accessibility.mediaaccessibilityd"_s,
     223        "com.apple.mediaremoted.xpc"_s,
     224#if PLATFORM(IOS_FAMILY)
     225        "com.apple.audio.AudioSession"_s, "com.apple.MediaPlayer.RemotePlayerService"_s,
     226        "com.apple.coremedia.admin"_s,
     227        "com.apple.coremedia.asset.xpc"_s, "com.apple.coremedia.assetimagegenerator.xpc"_s,
     228        "com.apple.coremedia.audiodeviceclock.xpc"_s, "com.apple.coremedia.audioprocessingtap.xpc"_s,
     229        "com.apple.coremedia.capturesession"_s, "com.apple.coremedia.capturesource"_s,
     230        "com.apple.coremedia.compressionsession"_s, "com.apple.coremedia.cpe.xpc"_s,
     231        "com.apple.coremedia.cpeprotector.xpc"_s, "com.apple.coremedia.customurlloader.xpc"_s,
     232        "com.apple.coremedia.decompressionsession"_s, "com.apple.coremedia.figcontentkeysession.xpc"_s,
     233        "com.apple.coremedia.figcpecryptor"_s, "com.apple.coremedia.formatreader.xpc"_s,
     234        "com.apple.coremedia.player.xpc"_s, "com.apple.coremedia.remaker"_s,
     235        "com.apple.coremedia.remotequeue"_s, "com.apple.coremedia.routingsessionmanager.xpc"_s,
     236        "com.apple.coremedia.samplebufferaudiorenderer.xpc"_s, "com.apple.coremedia.samplebufferrendersynchronizer.xpc"_s,
     237        "com.apple.coremedia.sandboxserver.xpc"_s, "com.apple.coremedia.sts"_s,
     238        "com.apple.coremedia.systemcontroller.xpc"_s, "com.apple.coremedia.videoqueue"_s,
     239        "com.apple.coremedia.visualcontext.xpc"_s, "com.apple.airplay.apsynccontroller.xpc"_s,
     240        "com.apple.audio.AURemoteIOServer"_s
    241241#endif
    242242#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
    243         "com.apple.coremedia.endpointstream.xpc", "com.apple.coremedia.endpointplaybacksession.xpc",
    244         "com.apple.coremedia.endpointremotecontrolsession.xpc", "com.apple.coremedia.videodecoder",
    245         "com.apple.coremedia.videoencoder", "com.apple.BluetoothServices"
     243        "com.apple.coremedia.endpointstream.xpc"_s, "com.apple.coremedia.endpointplaybacksession.xpc"_s,
     244        "com.apple.coremedia.endpointremotecontrolsession.xpc"_s, "com.apple.coremedia.videodecoder"_s,
     245        "com.apple.coremedia.videoencoder"_s, "com.apple.BluetoothServices"_s
    246246#endif
    247247    });
     
    250250
    251251#if PLATFORM(IOS_FAMILY)
    252 static const Vector<String>& nonBrowserServices()
     252static const Vector<ASCIILiteral>& nonBrowserServices()
    253253{
    254254    ASSERT(isMainThread());
    255     static const auto services = makeNeverDestroyed(Vector<String> {
    256         "com.apple.lsd.open",
    257         "com.apple.mobileassetd",
    258         "com.apple.iconservices",
    259         "com.apple.PowerManagement.control",
    260         "com.apple.frontboard.systemappservices"
     255    static const auto services = makeNeverDestroyed(Vector<ASCIILiteral> {
     256        "com.apple.lsd.open"_s,
     257        "com.apple.mobileassetd"_s,
     258        "com.apple.iconservices"_s,
     259        "com.apple.PowerManagement.control"_s,
     260        "com.apple.frontboard.systemappservices"_s
    261261    });
    262262    return services;
    263263}
    264264
    265 static const Vector<String>& diagnosticServices()
     265static const Vector<ASCIILiteral>& diagnosticServices()
    266266{
    267267    ASSERT(isMainThread());
    268     static const auto services = makeNeverDestroyed(Vector<String> {
    269         "com.apple.diagnosticd",
    270         "com.apple.osanalytics.osanalyticshelper"
     268    static const auto services = makeNeverDestroyed(Vector<ASCIILiteral> {
     269        "com.apple.diagnosticd"_s,
     270        "com.apple.osanalytics.osanalyticshelper"_s
    271271    });
    272272    return services;
    273273}
    274274
    275 static const Vector<String>& agxCompilerClasses()
     275static const Vector<ASCIILiteral>& agxCompilerClasses()
    276276{
    277277    ASSERT(isMainThread());
    278     static const auto iokitClasses = makeNeverDestroyed(Vector<String> {
    279         "AGXCommandQueue",
    280         "AGXDevice",
    281         "AGXSharedUserClient",
    282         "IOAccelContext",
    283         "IOAccelContext2",
    284         "IOAccelDevice",
    285         "IOAccelDevice2",
    286         "IOAccelSharedUserClient",
    287         "IOAccelSharedUserClient2"
    288         "IOAccelSubmitter2",
     278    static const auto iokitClasses = makeNeverDestroyed(Vector<ASCIILiteral> {
     279        "AGXCommandQueue"_s,
     280        "AGXDevice"_s,
     281        "AGXSharedUserClient"_s,
     282        "IOAccelContext"_s,
     283        "IOAccelContext2"_s,
     284        "IOAccelDevice"_s,
     285        "IOAccelDevice2"_s,
     286        "IOAccelSharedUserClient"_s,
     287        "IOAccelSharedUserClient2"_s,
     288        "IOAccelSubmitter2"_s,
    289289    });
    290290    return iokitClasses;
     
    388388    // FIXME: Remove this and related parameter when <rdar://problem/29448368> is fixed.
    389389    if (isSafari && mediaDevicesEnabled && !m_defaultPageGroup->preferences().captureAudioInUIProcessEnabled() && !m_defaultPageGroup->preferences().captureAudioInGPUProcessEnabled())
    390         SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone", parameters.audioCaptureExtensionHandle);
     390        SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone"_s, parameters.audioCaptureExtensionHandle);
    391391#endif
    392392
     
    404404    if (WebCore::deviceHasAGXCompilerService()) {
    405405        SandboxExtension::Handle compilerServiceExtensionHandle;
    406         SandboxExtension::createHandleForMachLookup("com.apple.AGXCompilerService", WTF::nullopt, compilerServiceExtensionHandle);
     406        SandboxExtension::createHandleForMachLookup("com.apple.AGXCompilerService"_s, WTF::nullopt, compilerServiceExtensionHandle);
    407407        parameters.compilerServiceExtensionHandle = WTFMove(compilerServiceExtensionHandle);
    408408    }
     
    423423    if ([getNEFilterSourceClass() filterRequired]) {
    424424        SandboxExtension::Handle helperHandle;
    425         SandboxExtension::createHandleForMachLookup("com.apple.nehelper", WTF::nullopt, helperHandle);
     425        SandboxExtension::createHandleForMachLookup("com.apple.nehelper"_s, WTF::nullopt, helperHandle);
    426426        parameters.neHelperExtensionHandle = WTFMove(helperHandle);
    427427        SandboxExtension::Handle managerHandle;
    428428#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500
    429         SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager", WTF::nullopt, managerHandle);
     429        SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager"_s, WTF::nullopt, managerHandle);
    430430#else
    431         SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager.content-filter", WTF::nullopt, managerHandle);
     431        SandboxExtension::createHandleForMachLookup("com.apple.nesessionmanager.content-filter"_s, WTF::nullopt, managerHandle);
    432432#endif
    433433        parameters.neSessionManagerExtensionHandle = WTFMove(managerHandle);
     
    436436
    437437    SandboxExtension::Handle mapDBHandle;
    438     if (SandboxExtension::createHandleForMachLookup("com.apple.lsd.mapdb", WTF::nullopt, mapDBHandle, SandboxExtension::Flags::NoReport))
     438    if (SandboxExtension::createHandleForMachLookup("com.apple.lsd.mapdb"_s, WTF::nullopt, mapDBHandle, SandboxExtension::Flags::NoReport))
    439439        parameters.mapDBExtensionHandle = WTFMove(mapDBHandle);
    440440#endif
     
    443443    if ([getWebFilterEvaluatorClass() isManagedSession]) {
    444444        SandboxExtension::Handle handle;
    445         SandboxExtension::createHandleForMachLookup("com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI", WTF::nullopt, handle);
     445        SandboxExtension::createHandleForMachLookup("com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI"_s, WTF::nullopt, handle);
    446446        parameters.contentFilterExtensionHandle = WTFMove(handle);
    447447
    448448        SandboxExtension::Handle frontboardServiceExtensionHandle;
    449         if (SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices", WTF::nullopt, frontboardServiceExtensionHandle))
     449        if (SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices"_s, WTF::nullopt, frontboardServiceExtensionHandle))
    450450            parameters.frontboardServiceExtensionHandle = WTFMove(frontboardServiceExtensionHandle);
    451451    }
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm

    r263100 r263288  
    203203    SandboxExtension::Handle handle;
    204204    auto auditToken = connection() ? connection()->getAuditToken() : WTF::nullopt;
    205     if (SandboxExtension::createHandleForMachLookup("com.apple.webinspector", auditToken, handle))
     205    if (SandboxExtension::createHandleForMachLookup("com.apple.webinspector"_s, auditToken, handle))
    206206        send(Messages::WebProcess::EnableRemoteWebInspector(handle), 0);
    207207}
  • trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp

    r261288 r263288  
    103103        bool needsMicrophoneSandboxExtension = shouldCreateMicrophoneSandboxExtension();
    104104        if (needsCameraSandboxExtension)
    105             SandboxExtension::createHandleForGenericExtension("com.apple.webkit.camera", parameters.cameraSandboxExtensionHandle);
     105            SandboxExtension::createHandleForGenericExtension("com.apple.webkit.camera"_s, parameters.cameraSandboxExtensionHandle);
    106106        if (needsMicrophoneSandboxExtension)
    107             SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone", parameters.microphoneSandboxExtensionHandle);
     107            SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone"_s, parameters.microphoneSandboxExtensionHandle);
    108108#if PLATFORM(IOS)
    109109        if (needsCameraSandboxExtension || needsMicrophoneSandboxExtension)
    110             SandboxExtension::createHandleForMachLookup("com.apple.tccd", WTF::nullopt, parameters.tccSandboxExtensionHandle);
     110            SandboxExtension::createHandleForMachLookup("com.apple.tccd"_s, WTF::nullopt, parameters.tccSandboxExtensionHandle);
    111111#endif
    112112#endif
  • trunk/Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp

    r261299 r263288  
    256256#if PLATFORM(COCOA)
    257257        if (!m_hasCreatedSandboxExtensionForTCCD) {
    258             SandboxExtension::createHandleForMachLookup("com.apple.tccd", m_page.process().connection()->getAuditToken(), handle);
     258            SandboxExtension::createHandleForMachLookup("com.apple.tccd"_s, m_page.process().connection()->getAuditToken(), handle);
    259259            m_hasCreatedSandboxExtensionForTCCD = true;
    260260        }
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r263271 r263288  
    66736673    SandboxExtension::Handle frontboardServicesSandboxExtension, iconServicesSandboxExtension;
    66746674#if HAVE(FRONTBOARD_SYSTEM_APP_SERVICES)
    6675     SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices", WTF::nullopt, frontboardServicesSandboxExtension);
    6676 #endif
    6677     SandboxExtension::createHandleForMachLookup("com.apple.iconservices", WTF::nullopt, iconServicesSandboxExtension);
     6675    SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices"_s, WTF::nullopt, frontboardServicesSandboxExtension);
     6676#endif
     6677    SandboxExtension::createHandleForMachLookup("com.apple.iconservices"_s, WTF::nullopt, iconServicesSandboxExtension);
    66786678
    66796679    send(Messages::WebPage::DidChooseFilesForOpenPanelWithDisplayStringAndIcon(fileURLs, displayString, iconData ? iconData->dataReference() : IPC::DataReference(), frontboardServicesSandboxExtension, iconServicesSandboxExtension));
     
    78587858    if (m_preferences->attachmentElementEnabled() && !m_process->hasIssuedAttachmentElementRelatedSandboxExtensions()) {
    78597859        SandboxExtension::Handle handle;
    7860         SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices", WTF::nullopt, handle);
     7860        SandboxExtension::createHandleForMachLookup("com.apple.frontboard.systemappservices"_s, WTF::nullopt, handle);
    78617861        parameters.frontboardExtensionHandle = WTFMove(handle);
    7862         SandboxExtension::createHandleForMachLookup("com.apple.iconservices", WTF::nullopt, handle);
     7862        SandboxExtension::createHandleForMachLookup("com.apple.iconservices"_s, WTF::nullopt, handle);
    78637863        parameters.iconServicesExtensionHandle = WTFMove(handle);
    78647864        m_process->setHasIssuedAttachmentElementRelatedSandboxExtensions();
  • trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm

    r262913 r263288  
    16431643{
    16441644    SandboxExtension::Handle mobileAssetHandle, mobileAssetHandleV2;
    1645     SandboxExtension::createHandleForMachLookup("com.apple.mobileassetd", WTF::nullopt, mobileAssetHandle);
    1646     SandboxExtension::createHandleForMachLookup("com.apple.mobileassetd.v2", WTF::nullopt, mobileAssetHandleV2);
     1645    SandboxExtension::createHandleForMachLookup("com.apple.mobileassetd"_s, WTF::nullopt, mobileAssetHandle);
     1646    SandboxExtension::createHandleForMachLookup("com.apple.mobileassetd.v2"_s, WTF::nullopt, mobileAssetHandleV2);
    16471647    process().send(Messages::WebProcess::GrantAccessToAssetServices(mobileAssetHandle, mobileAssetHandleV2), 0);
    16481648}
Note: See TracChangeset for help on using the changeset viewer.