Changeset 279912 in webkit


Ignore:
Timestamp:
Jul 14, 2021, 11:06:28 AM (4 years ago)
Author:
eric.carlson@apple.com
Message:

[iOS] Dynamically set capture attribution
https://bugs.webkit.org/show_bug.cgi?id=227871
rdar://70241665

Reviewed by Jer Noble.

Source/WebCore:

No new tests, tested manually.

  • en.lproj/Localizable.strings:

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/ios/SystemStatusSoftLink.h: Added.
  • pal/ios/SystemStatusSoftLink.mm: Added.

Source/WebKit:

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess): Initialize m_captureOrigin.
(WebKit::GPUConnectionToWebProcess::updateCaptureOrigin): Update.
(WebKit::GPUConnectionToWebProcess::setCaptureAttributionString const): Non-Cocoa stub.

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::updateCaptureOrigin): Call same method in WebProcessConnection,
if it exists.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm: Added.

(WebKit::GPUConnectionToWebProcess::setCaptureAttributionString): Set the attribution
string to "[domain] in [application]".

  • Platform/spi/ios/SystemStatusSPI.h: Added.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Allow "com.apple.systemstatus.activityattribution"

to be looked up.

  • Scripts/process-entitlements.sh: Add the entitlements required to use the

SystemStatus SPI.

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::startProducingData): Fail capture
if setCaptureAttributionString returns false.

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:

(WebKit::UserMediaCaptureManagerProxy::ConnectionProxy::setCaptureAttributionString):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updateCaptureOrigin): Call gpuProcess.updateCaptureOrigin
so the capture origin is correct when capture begins.

  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeMainDocument): Update the capture origin.
(WebKit::WebPageProxy::willStartCapture): Ditto.
(WebKit::WebPageProxy::gpuProcessExited): Drive-by - update local variable names
to make their purpose clearer.

  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source
Files:
5 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r279906 r279912  
     12021-07-14  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [iOS] Dynamically set capture attribution
     4        https://bugs.webkit.org/show_bug.cgi?id=227871
     5        rdar://70241665
     6
     7        Reviewed by Jer Noble.
     8
     9        No new tests, tested manually.
     10
     11        * en.lproj/Localizable.strings:
     12
    1132021-07-14  Said Abou-Hallawa  <said@apple.com>
    214
  • trunk/Source/WebCore/PAL/ChangeLog

    r279786 r279912  
     12021-07-14  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [iOS] Dynamically set capture attribution
     4        https://bugs.webkit.org/show_bug.cgi?id=227871
     5        rdar://70241665
     6
     7        Reviewed by Jer Noble.
     8
     9        * PAL.xcodeproj/project.pbxproj:
     10        * pal/ios/SystemStatusSoftLink.h: Added.
     11        * pal/ios/SystemStatusSoftLink.mm: Added.
     12
    1132021-07-09  Jer Noble  <jer.noble@apple.com>
    214
  • trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj

    r279491 r279912  
    2626                077E87B1226A460200A2AFF0 /* AVFoundationSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 077E87AF226A460200A2AFF0 /* AVFoundationSoftLink.mm */; };
    2727                077E87B2226A460300A2AFF0 /* AVFoundationSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 077E87B0226A460200A2AFF0 /* AVFoundationSoftLink.h */; };
     28                079D1D9726950DD700883577 /* SystemStatusSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 079D1D9526950DD700883577 /* SystemStatusSoftLink.h */; };
     29                079D1D9826950DD700883577 /* SystemStatusSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 079D1D9626950DD700883577 /* SystemStatusSoftLink.mm */; };
    2830                0C00CFD41F68CE4600AAC26D /* MediaTimeAVFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C00CFD21F68CE4600AAC26D /* MediaTimeAVFoundation.h */; };
    2931                0C2D9E731EEF5AF600DBC317 /* ExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C2D9E721EEF5AF600DBC317 /* ExportMacros.h */; };
     
    237239                077E87AF226A460200A2AFF0 /* AVFoundationSoftLink.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AVFoundationSoftLink.mm; sourceTree = "<group>"; };
    238240                077E87B0226A460200A2AFF0 /* AVFoundationSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AVFoundationSoftLink.h; sourceTree = "<group>"; };
     241                079D1D9526950DD700883577 /* SystemStatusSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemStatusSoftLink.h; sourceTree = "<group>"; };
     242                079D1D9626950DD700883577 /* SystemStatusSoftLink.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SystemStatusSoftLink.mm; sourceTree = "<group>"; };
    239243                0C00CFD11F68CE4600AAC26D /* MediaTimeAVFoundation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaTimeAVFoundation.cpp; sourceTree = "<group>"; };
    240244                0C00CFD21F68CE4600AAC26D /* MediaTimeAVFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaTimeAVFoundation.h; sourceTree = "<group>"; };
     
    765769                                4450FC9E21F5F602004DFA56 /* QuickLookSoftLink.h */,
    766770                                4450FC9D21F5F602004DFA56 /* QuickLookSoftLink.mm */,
     771                                079D1D9526950DD700883577 /* SystemStatusSoftLink.h */,
     772                                079D1D9626950DD700883577 /* SystemStatusSoftLink.mm */,
    767773                                2E1342CA215AA10A007199D2 /* UIKitSoftLink.h */,
    768774                                2E1342CB215AA10A007199D2 /* UIKitSoftLink.mm */,
     
    9981004                                A3AB6E581F3D1DDB009C14B1 /* SystemSleepListener.h in Headers */,
    9991005                                A3AB6E641F3D217F009C14B1 /* SystemSleepListenerMac.h in Headers */,
     1006                                079D1D9726950DD700883577 /* SystemStatusSoftLink.h in Headers */,
    10001007                                0C7785A11F45130F00F4EBB6 /* TelephonyUtilitiesSPI.h in Headers */,
    10011008                                2E1342CC215AA10A007199D2 /* UIKitSoftLink.h in Headers */,
     
    11351142                                A3AB6E571F3D1DDB009C14B1 /* SystemSleepListener.cpp in Sources */,
    11361143                                A3AB6E651F3D217F009C14B1 /* SystemSleepListenerMac.mm in Sources */,
     1144                                079D1D9826950DD700883577 /* SystemStatusSoftLink.mm in Sources */,
    11371145                                2E1342CD215AA10A007199D2 /* UIKitSoftLink.mm in Sources */,
    11381146                                07611DB7243FA5BF00D80704 /* UsageTrackingSoftLink.mm in Sources */,
  • trunk/Source/WebCore/en.lproj/Localizable.strings

    r279164 r279912  
    16371637"•" = "•";
    16381638
     1639/* The domain and application using the camera and/or microphone. The first argument is domain, the second is the application name (iOS only). */
     1640"“%@” in “%%@”" = "“%@” in “%%@”";
  • trunk/Source/WebKit/ChangeLog

    r279902 r279912  
     12021-07-14  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [iOS] Dynamically set capture attribution
     4        https://bugs.webkit.org/show_bug.cgi?id=227871
     5        rdar://70241665
     6
     7        Reviewed by Jer Noble.
     8
     9        * GPUProcess/GPUConnectionToWebProcess.cpp:
     10        (WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess): Initialize m_captureOrigin.
     11        (WebKit::GPUConnectionToWebProcess::updateCaptureOrigin): Update.
     12        (WebKit::GPUConnectionToWebProcess::setCaptureAttributionString const): Non-Cocoa stub.
     13        * GPUProcess/GPUConnectionToWebProcess.h:
     14
     15        * GPUProcess/GPUProcess.cpp:
     16        (WebKit::GPUProcess::updateCaptureOrigin): Call same method in WebProcessConnection,
     17        if it exists.
     18        * GPUProcess/GPUProcess.h:
     19        * GPUProcess/GPUProcess.messages.in:
     20
     21        * GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm: Added.
     22        (WebKit::GPUConnectionToWebProcess::setCaptureAttributionString): Set the attribution
     23        string to "[domain] in [application]".
     24
     25        * Platform/spi/ios/SystemStatusSPI.h: Added.
     26        * Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: Allow "com.apple.systemstatus.activityattribution"
     27        to be looked up.
     28
     29        * Scripts/process-entitlements.sh: Add the entitlements required to use the
     30        SystemStatus SPI.
     31
     32        * SourcesCocoa.txt:
     33        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
     34        (WebKit::UserMediaCaptureManagerProxy::startProducingData): Fail capture
     35        if setCaptureAttributionString returns false.
     36        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
     37        (WebKit::UserMediaCaptureManagerProxy::ConnectionProxy::setCaptureAttributionString):
     38
     39        * UIProcess/GPU/GPUProcessProxy.cpp:
     40        (WebKit::GPUProcessProxy::updateCaptureOrigin): Call gpuProcess.updateCaptureOrigin
     41        so the capture origin is correct when capture begins.
     42        * UIProcess/GPU/GPUProcessProxy.h:
     43
     44        * UIProcess/WebPageProxy.cpp:
     45        (WebKit::WebPageProxy::didChangeMainDocument): Update the capture origin.
     46        (WebKit::WebPageProxy::willStartCapture): Ditto.
     47        (WebKit::WebPageProxy::gpuProcessExited): Drive-by - update local variable names
     48        to make their purpose clearer.
     49        * WebKit.xcodeproj/project.pbxproj:
     50
    1512021-07-13  Wenson Hsieh  <wenson_hsieh@apple.com>
    252
  • trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp

    r279366 r279912  
    140140#endif
    141141
     142#if ENABLE(MEDIA_STREAM)
     143#include <WebCore/SecurityOrigin.h>
     144#endif
     145
    142146namespace WebKit {
    143147using namespace WebCore;
     
    179183        }
    180184    }
     185   
     186    bool setCaptureAttributionString() final
     187    {
     188        return m_process.setCaptureAttributionString();
     189    }
    181190
    182191    GPUConnectionToWebProcess& m_process;
    183192};
     193
    184194#endif
    185195
     
    204214    , m_sampleBufferDisplayLayerManager(RemoteSampleBufferDisplayLayerManager::create(*this))
    205215#endif
     216#if ENABLE(MEDIA_STREAM)
     217    , m_captureOrigin(SecurityOrigin::createUnique())
     218#endif
    206219#if ENABLE(ROUTING_ARBITRATION) && HAVE(AVAUDIO_ROUTING_ARBITER)
    207220    , m_routingArbitrator(LocalAudioSessionRoutingArbitrator::create(*this))
     
    821834    m_allowsDisplayCapture |= allowDisplayCapture;
    822835}
    823 #endif
     836
     837void GPUConnectionToWebProcess::updateCaptureOrigin(const WebCore::SecurityOriginData& originData)
     838{
     839    m_captureOrigin = originData.securityOrigin();
     840}
     841
     842#if !PLATFORM(COCOA)
     843bool GPUConnectionToWebProcess::setCaptureAttributionString() const
     844{
     845}
     846#endif
     847#endif // ENABLE(MEDIA_STREAM)
    824848
    825849#if PLATFORM(MAC)
  • trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h

    r279366 r279912  
    3838#include <WebCore/LibWebRTCEnumTraits.h>
    3939#include <WebCore/NowPlayingManager.h>
     40#include <WebCore/PageIdentifier.h>
    4041#include <WebCore/ProcessIdentifier.h>
    4142#include <pal/SessionID.h>
     
    5253#include <CoreGraphics/CGDisplayConfiguration.h>
    5354#endif
     55
     56namespace WebCore {
     57class SecurityOrigin;
     58struct SecurityOriginData;
     59}
    5460
    5561namespace WebKit {
     
    112118    void setOrientationForMediaCapture(uint64_t orientation);
    113119    void updateCaptureAccess(bool allowAudioCapture, bool allowVideoCapture, bool allowDisplayCapture);
     120    void updateCaptureOrigin(const WebCore::SecurityOriginData&);
     121    bool setCaptureAttributionString();
    114122    bool allowsAudioCapture() const { return m_allowsAudioCapture; }
    115123    bool allowsVideoCapture() const { return m_allowsVideoCapture; }
     
    249257#endif
    250258#if ENABLE(MEDIA_STREAM)
     259    Ref<WebCore::SecurityOrigin> m_captureOrigin;
    251260    bool m_allowsAudioCapture { false };
    252261    bool m_allowsVideoCapture { false };
  • trunk/Source/WebKit/GPUProcess/GPUProcess.cpp

    r279366 r279912  
    313313}
    314314
     315void GPUProcess::updateCaptureOrigin(const WebCore::SecurityOriginData& originData, ProcessIdentifier processID)
     316{
     317    if (auto* connection = webProcessConnection(processID))
     318        connection->updateCaptureOrigin(originData);
     319}
     320
    315321void GPUProcess::updateSandboxAccess(const Vector<SandboxExtension::Handle>& extensions)
    316322{
  • trunk/Source/WebKit/GPUProcess/GPUProcess.h

    r279366 r279912  
    11/*
    2  * Copyright (C) 2019 Apple Inc. All rights reserved.
     2 * Copyright (C) 2019-2021 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    4646class NowPlayingManager;
    4747struct MockMediaDevice;
     48struct SecurityOriginData;
    4849}
    4950
     
    125126    void setOrientationForMediaCapture(uint64_t orientation);
    126127    void updateCaptureAccess(bool allowAudioCapture, bool allowVideoCapture, bool allowDisplayCapture, WebCore::ProcessIdentifier, CompletionHandler<void()>&&);
     128    void updateCaptureOrigin(const WebCore::SecurityOriginData&, WebCore::ProcessIdentifier);
    127129    void updateSandboxAccess(const Vector<SandboxExtension::Handle>&);
    128130    void addMockMediaDevice(const WebCore::MockMediaDevice&);
     
    130132    void removeMockMediaDevice(const String& persistentId);
    131133    void resetMockMediaDevices();
     134    bool setCaptureAttributionString(const String&);
    132135#endif
    133136#if PLATFORM(MAC)
  • trunk/Source/WebKit/GPUProcess/GPUProcess.messages.in

    r278913 r279912  
    4242    UpdateSandboxAccess(Vector<WebKit::SandboxExtension::Handle> extensions);
    4343    UpdateCaptureAccess(bool allowAudioCapture, bool allowVideoCapture, bool allowDisplayCapture, WebCore::ProcessIdentifier processID) -> () Async
     44    UpdateCaptureOrigin(struct WebCore::SecurityOriginData originData, WebCore::ProcessIdentifier processID)
    4445    AddMockMediaDevice(struct WebCore::MockMediaDevice device);
    4546    ClearMockMediaDevices();
  • trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb

    r279230 r279912  
    10041004)
    10051005
     1006(allow mach-lookup
     1007    (global-name "com.apple.systemstatus.activityattribution")
     1008)
    10061009
    10071010(allow mach-lookup
  • trunk/Source/WebKit/Scripts/process-entitlements.sh

    r278966 r279912  
    310310    plistbuddy Add :seatbelt-profiles array
    311311    plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.GPU
     312
     313    plistbuddy Add :com.apple.systemstatus.activityattribution bool YES
     314    plistbuddy Add :com.apple.security.exception.mach-lookup.global-name array
     315    plistbuddy Add :com.apple.security.exception.mach-lookup.global-name:0 string com.apple.systemstatus.activityattribution
    312316}
    313317
  • trunk/Source/WebKit/SourcesCocoa.txt

    r279822 r279912  
    5959
    6060GPUProcess/EntryPoint/Cocoa/XPCService/GPUServiceEntryPoint.mm
     61GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm
    6162GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
    6263GPUProcess/graphics/ScopedRenderingResourcesRequestCocoa.mm @no-unify
  • trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp

    r279577 r279912  
    327327void UserMediaCaptureManagerProxy::startProducingData(RealtimeMediaSourceIdentifier id)
    328328{
    329     if (auto* proxy = m_proxies.get(id))
    330         proxy->start();
     329    auto* proxy = m_proxies.get(id);
     330    if (!proxy)
     331        return;
     332
     333    if (!m_connectionProxy->setCaptureAttributionString()) {
     334        RELEASE_LOG_ERROR(WebRTC, "Unable to set capture attribution, failing capture.");
     335        return;
     336    }
     337
     338    proxy->start();
    331339}
    332340
  • trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h

    r276148 r279912  
    5858        virtual bool willStartCapture(WebCore::CaptureDevice::DeviceType) const = 0;
    5959        virtual Logger& logger() = 0;
     60        virtual bool setCaptureAttributionString() { return true; }
    6061    };
    6162    explicit UserMediaCaptureManagerProxy(UniqueRef<ConnectionProxy>&&);
  • trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp

    r279796 r279912  
    281281}
    282282
     283void GPUProcessProxy::updateCaptureOrigin(const WebCore::SecurityOriginData& originData, WebCore::ProcessIdentifier processID)
     284{
     285    send(Messages::GPUProcess::UpdateCaptureOrigin { originData, processID }, 0);
     286}
    283287
    284288void GPUProcessProxy::addMockMediaDevice(const WebCore::MockMediaDevice& device)
  • trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h

    r279796 r279912  
    5050namespace WebCore {
    5151struct MockMediaDevice;
     52struct SecurityOriginData;
    5253}
    5354
     
    7778    void setOrientationForMediaCapture(uint64_t orientation);
    7879    void updateCaptureAccess(bool allowAudioCapture, bool allowVideoCapture, bool allowDisplayCapture, WebCore::ProcessIdentifier, CompletionHandler<void()>&&);
    79 
     80    void updateCaptureOrigin(const WebCore::SecurityOriginData&, WebCore::ProcessIdentifier);
    8081    void addMockMediaDevice(const WebCore::MockMediaDevice&);
    8182    void clearMockMediaDevices();
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r279822 r279912  
    111111#include "WebEditCommandProxy.h"
    112112#include "WebEventConversion.h"
     113#include "WebFrame.h"
    113114#include "WebFramePolicyListenerProxy.h"
    114115#include "WebFullScreenManagerProxy.h"
     
    137138#include "WebPreferences.h"
    138139#include "WebPreferencesKeys.h"
     140#include "WebProcess.h"
    139141#include "WebProcessMessages.h"
    140142#include "WebProcessPool.h"
     
    51025104{
    51035105#if ENABLE(MEDIA_STREAM)
    5104     if (m_userMediaPermissionRequestManager)
     5106    if (m_userMediaPermissionRequestManager) {
    51055107        m_userMediaPermissionRequestManager->resetAccess(frameID);
     5108
     5109#if ENABLE(GPU_PROCESS)
     5110        if (auto* gpuProcess = m_process->processPool().gpuProcess()) {
     5111            if (auto* frame = m_process->webFrame(frameID))
     5112                gpuProcess->updateCaptureOrigin(SecurityOriginData::fromURL(frame->url()), m_process->coreProcessIdentifier());
     5113        }
     5114#endif
     5115    }
     5116
    51065117#else
    51075118    UNUSED_PARAM(frameID);
    51085119#endif
     5120   
    51095121    m_isQuotaIncreaseDenied = false;
    51105122
     
    84198431    auto& gpuProcess = process().processPool().ensureGPUProcess();
    84208432    gpuProcess.updateCaptureAccess(request.requiresAudioCapture(), request.requiresVideoCapture(), request.requiresDisplayCapture(), m_process->coreProcessIdentifier(), WTFMove(callback));
     8433    gpuProcess.updateCaptureOrigin(request.topLevelDocumentSecurityOrigin().data(), m_process->coreProcessIdentifier());
    84218434#if PLATFORM(IOS_FAMILY)
    84228435    gpuProcess.setOrientationForMediaCapture(m_deviceOrientation);
     
    1060310616
    1060410617#if ENABLE(MEDIA_STREAM)
    10605     bool shouldAllowAudioCapture = isCapturingAudio() && preferences().captureAudioInGPUProcessEnabled();
    10606     bool shouldAllowVideoCapture = isCapturingVideo() && preferences().captureVideoInGPUProcessEnabled();
    10607     bool shouldAllowDisplayCapture = false;
    10608     if (shouldAllowAudioCapture || shouldAllowVideoCapture) {
     10618    bool activeAudioCapture = isCapturingAudio() && preferences().captureAudioInGPUProcessEnabled();
     10619    bool activeVideoCapture = isCapturingVideo() && preferences().captureVideoInGPUProcessEnabled();
     10620    bool activeDisplayCapture = false;
     10621    if (activeAudioCapture || activeVideoCapture) {
    1060910622        auto& gpuProcess = process().processPool().ensureGPUProcess();
    10610         gpuProcess.updateCaptureAccess(shouldAllowAudioCapture, shouldAllowVideoCapture, shouldAllowDisplayCapture, m_process->coreProcessIdentifier(), [] { });
     10623        gpuProcess.updateCaptureAccess(activeAudioCapture, activeVideoCapture, activeDisplayCapture, m_process->coreProcessIdentifier(), [] { });
    1061110624    }
    1061210625#endif
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r279860 r279912  
    125125                0792314B239CBCB8009598E2 /* RemoteMediaPlayerManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07923145239CBCB7009598E2 /* RemoteMediaPlayerManagerProxyMessageReceiver.cpp */; };
    126126                0792314C239CBCB8009598E2 /* RemoteMediaPlayerManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 07923146239CBCB7009598E2 /* RemoteMediaPlayerManagerProxyMessages.h */; };
     127                079D1D9A26960CD300883577 /* SystemStatusSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 079D1D9926960CD300883577 /* SystemStatusSPI.h */; };
    127128                07A5EBBC1C7BA43E00B9CA69 /* WKFrameHandleRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
    128129                07E19EFB23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07E19EF823D401F00094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp */; };
     
    24502451                0794B4AE244524B00001B9C4 /* MediaUsageManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaUsageManager.cpp; sourceTree = "<group>"; };
    24512452                0794B4AF24452A2C0001B9C4 /* MediaUsageManagerCocoa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaUsageManagerCocoa.h; sourceTree = "<group>"; };
     2453                079D1D9926960CD300883577 /* SystemStatusSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemStatusSPI.h; sourceTree = "<group>"; };
     2454                079D1D9C2698DBD000883577 /* cocoa */ = {isa = PBXFileReference; lastKnownFileType = folder; path = cocoa; sourceTree = "<group>"; };
    24522455                07A5EBB91C7BA43E00B9CA69 /* WKFrameHandleRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKFrameHandleRef.cpp; sourceTree = "<group>"; };
    24532456                07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFrameHandleRef.h; sourceTree = "<group>"; };
     
    76817684                        isa = PBXGroup;
    76827685                        children = (
     7686                                079D1D9C2698DBD000883577 /* cocoa */,
    76837687                                2D9FB20D2375209D0049F936 /* EntryPoint */,
    76847688                                550640A124071A2900AAE045 /* graphics */,
     
    1158011584                                2D279E1826955768004B3EEB /* PrototypeToolsSPI.h */,
    1158111585                                46F38E8B2416E66D0059375A /* RunningBoardServicesSPI.h */,
     11586                                079D1D9926960CD300883577 /* SystemStatusSPI.h */,
    1158211587                                CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */,
    1158311588                                CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */,
     
    1241712422                                4459984222833E8700E61373 /* SyntheticEditingCommandType.h in Headers */,
    1241812423                                3157135F2040A9B20084F9CF /* SystemPreviewController.h in Headers */,
     12424                                079D1D9A26960CD300883577 /* SystemStatusSPI.h in Headers */,
    1241912425                                F4D985CB2691096600BBCCBE /* TapHandlingResult.h in Headers */,
    1242012426                                44C51844266BE8C4006DD522 /* TCCSoftLink.h in Headers */,
Note: See TracChangeset for help on using the changeset viewer.