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

Changeset 279796 in webkit


Ignore:
Timestamp:
Jul 9, 2021, 2:54:43 PM (5 years ago)
Author:
jer.noble@apple.com
Message:

[Cocoa] Allow the UIProcess to set logging parameters in the GPUProcess
​https://bugs.webkit.org/show_bug.cgi?id=227822

Reviewed by Eric Carlson.

For release builds, logLevelString() will return an empty string. Instead, do the same thing
for GPUProcessProxy as we do for WebProcessPool: have a platform-specific initialization
function that, for Cocoa ports, reads log strings from NSUserDefaults.

Drive-by fix: Include <optional> in WKContentPicker.h to work around a unified build error.

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/GPUProcessProxyCocoa.mm: Added.

(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):

  • UIProcess/Cocoa/WKContactPicker.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):

  • UIProcess/GPU/GPUProcessProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r279787 r279796  
     12021-07-09  Jer Noble  <jer.noble@apple.com>
     2
     3        [Cocoa] Allow the UIProcess to set logging parameters in the GPUProcess
     4        https://bugs.webkit.org/show_bug.cgi?id=227822
     5
     6        Reviewed by Eric Carlson.
     7
     8        For release builds, logLevelString() will return an empty string. Instead, do the same thing
     9        for GPUProcessProxy as we do for WebProcessPool: have a platform-specific initialization
     10        function that, for Cocoa ports, reads log strings from NSUserDefaults.
     11
     12        Drive-by fix: Include <optional> in WKContentPicker.h to work around a unified build error.
     13
     14        * SourcesCocoa.txt:
     15        * UIProcess/Cocoa/GPUProcessProxyCocoa.mm: Added.
     16        (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
     17        * UIProcess/Cocoa/WKContactPicker.h:
     18        * UIProcess/GPU/GPUProcessProxy.cpp:
     19        (WebKit::GPUProcessProxy::GPUProcessProxy):
     20        (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
     21        * UIProcess/GPU/GPUProcessProxy.h:
     22        * WebKit.xcodeproj/project.pbxproj:
     23
    1242021-07-09  Chris Dumez  <cdumez@apple.com>
    225
  • trunk/Source/WebKit/SourcesCocoa.txt

    r279720 r279796  
    396396UIProcess/Cocoa/FindClient.mm
    397397UIProcess/Cocoa/FullscreenClient.mm
     398UIProcess/Cocoa/GPUProcessProxyCocoa.mm
    398399UIProcess/Cocoa/GlobalFindInPageState.mm
    399400UIProcess/Cocoa/IconLoadingDelegate.mm
  • trunk/Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm

    r279795 r279796  
    11/*
    2  * Copyright (C) 2020 Apple Inc. All rights reserved.
     2 * Copyright (C) 2021 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
    … …  
    2424 */
    2525
    26 #pragma once
     26#include "config.h"
     27#include "GPUProcessProxy.h"
    2728
    28 #if HAVE(CONTACTSUI)
     29#if ENABLE(GPU_PROCESS)
    2930
    30 #include <wtf/Forward.h>
     31#include "GPUProcessCreationParameters.h"
    3132
    32 @class WKWebView;
    33 @protocol WKContactPickerDelegate;
     33namespace WebKit {
    3434
    35 namespace WebCore {
    36 struct ContactInfo;
    37 struct ContactsRequestData;
     35void GPUProcessProxy::platformInitializeGPUProcessParameters(GPUProcessCreationParameters& parameters)
     36{
     37#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
     38    parameters.webCoreLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebCoreLogging"];
     39    parameters.webKitLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebKit2Logging"];
     40#endif
    3841}
    3942
    40 @interface WKContactPicker : NSObject
     43}
    4144
    42 - (instancetype)initWithView:(WKWebView *)view;
    43 
    44 - (void)presentWithRequestData:(const WebCore::ContactsRequestData&)requestData completionHandler:(WTF::CompletionHandler<void(std::optional<Vector<WebCore::ContactInfo>>&&)>&&)completionHandler;
    45 
    46 @property (nonatomic, weak) id<WKContactPickerDelegate> delegate;
    47 
    48 @end
    49 
    50 @protocol WKContactPickerDelegate <NSObject>
    51 @optional
    52 - (void)contactPickerDidPresent:(WKContactPicker *)contactPicker;
    53 - (void)contactPickerDidDismiss:(WKContactPicker *)contactPicker;
    54 @end
    55 
    56 @interface WKContactPicker (WKTesting)
    57 - (void)dismissWithContacts:(NSArray *)contacts;
    58 @end
    59 
    60 #endif // HAVE(CONTACTSUI)
     45#endif
  • trunk/Source/WebKit/UIProcess/Cocoa/WKContactPicker.h

    r278253 r279796  
    2828#if HAVE(CONTACTSUI)
    2929
     30#include <optional>
    3031#include <wtf/Forward.h>
    3132
  • trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp

    r278895 r279796  
    171171#endif
    172172
    173 #if !LOG_DISABLED || !RELEASE_LOG_DISABLED
    174     parameters.webCoreLoggingChannels = WebCore::logLevelString();
    175     parameters.webKitLoggingChannels = WebKit::logLevelString();
    176 #endif
     173    platformInitializeGPUProcessParameters(parameters);
    177174
    178175    // Initialize the GPU process.
    … …  
    605602}
    606603
     604#if !PLATFORM(COCOA)
     605void GPUProcessProxy::platformInitializeGPUProcessParameters(GPUProcessCreationParameters& parameters)
     606{
     607#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
     608    parameters.webCoreLoggingChannels = WebCore::logLevelString();
     609    parameters.webKitLoggingChannels = WebKit::logLevelString();
     610#endif
     611}
     612#endif
     613
    607614} // namespace WebKit
    608615
  • trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h

    r278895 r279796  
    131131#endif
    132132
     133    void platformInitializeGPUProcessParameters(GPUProcessCreationParameters&);
     134
    133135    ProcessThrottler m_throttler;
    134136    ProcessThrottler::ActivityVariant m_activityFromWebProcesses;
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r279750 r279796  
    57735773                CDAC20F523FC383B0021DEE3 /* RemoteCDMInstanceProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteCDMInstanceProxyMessageReceiver.cpp; sourceTree = "<group>"; };
    57745774                CDAC20F623FC383B0021DEE3 /* RemoteCDMInstanceProxyMessagesReplies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteCDMInstanceProxyMessagesReplies.h; sourceTree = "<group>"; };
     5775                CDB2A1ED2697925C006B235C /* GPUProcessProxyCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = GPUProcessProxyCocoa.mm; sourceTree = "<group>"; };
    57755776                CDBB49F4240D8AC60017C292 /* RemoteAudioSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteAudioSession.h; sourceTree = "<group>"; };
    57765777                CDBB49F5240D8AC60017C292 /* RemoteAudioSession.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteAudioSession.cpp; sourceTree = "<group>"; };
    … …  
    70577058                                2E2B3BA421D4879000538EDF /* GlobalFindInPageState.h */,
    70587059                                2E2B3BA321D4879000538EDF /* GlobalFindInPageState.mm */,
     7060                                CDB2A1ED2697925C006B235C /* GPUProcessProxyCocoa.mm */,
    70597061                                51C0C9721DDD74F00032CAD3 /* IconLoadingDelegate.h */,
    70607062                                51C0C9731DDD74F00032CAD3 /* IconLoadingDelegate.mm */,
Note: See TracChangeset for help on using the changeset viewer.