Changeset 225907 in webkit


Ignore:
Timestamp:
Dec 14, 2017 9:08:52 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

Web Inspector: Cmd-Option-R in docked inspector causes the inspector to reload instead of the inspected page
https://bugs.webkit.org/show_bug.cgi?id=180775
<rdar://problem/35964592>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-14
Reviewed by Brian Burg.

  • WebKit.xcodeproj/project.pbxproj:

Remove old files add new files.

  • PlatformMac.cmake:
  • UIProcess/mac/WKWebInspectorWKWebView.h: Removed.
  • UIProcess/mac/WKWebInspectorWKWebView.mm: Removed.

Remove unused WKWebInspectorWKWebView.

  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
  • UIProcess/mac/WKInspectorViewController.mm:

(-[WKInspectorViewController dealloc]):
(-[WKInspectorViewController webView]):
(-[WKInspectorViewController inspectorWKWebViewReload:]):
(-[WKInspectorViewController inspectorWKWebViewReloadFromOrigin:]):
Handle WKWebView IBActions sent to the inspector frontend WKWebView.

  • UIProcess/mac/WKInspectorWKWebView.h:
  • UIProcess/mac/WKInspectorWKWebView.mm:

(-[WKInspectorWKWebView tag]):
(-[WKInspectorWKWebView inspectorWKWebViewDelegate]):
(-[WKInspectorWKWebView setInspectorWKWebViewDelegate:]):
(-[WKInspectorWKWebView reload:]):
(-[WKInspectorWKWebView reloadFromOrigin:]):
Move WKInspectorWKWebView into its own file. Include a delegate
to handle reload IBActions that will want to override.

Location:
trunk/Source/WebKit
Files:
1 deleted
5 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r225890 r225907  
     12017-12-14  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Cmd-Option-R in docked inspector causes the inspector to reload instead of the inspected page
     4        https://bugs.webkit.org/show_bug.cgi?id=180775
     5        <rdar://problem/35964592>
     6
     7        Reviewed by Brian Burg.
     8
     9        * WebKit.xcodeproj/project.pbxproj:
     10        Remove old files add new files.
     11
     12        * PlatformMac.cmake:
     13        * UIProcess/mac/WKWebInspectorWKWebView.h: Removed.
     14        * UIProcess/mac/WKWebInspectorWKWebView.mm: Removed.
     15        Remove unused WKWebInspectorWKWebView.
     16
     17        * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
     18        * UIProcess/mac/WKInspectorViewController.mm:
     19        (-[WKInspectorViewController dealloc]):
     20        (-[WKInspectorViewController webView]):
     21        (-[WKInspectorViewController inspectorWKWebViewReload:]):
     22        (-[WKInspectorViewController inspectorWKWebViewReloadFromOrigin:]):
     23        Handle WKWebView IBActions sent to the inspector frontend WKWebView.
     24
     25        * UIProcess/mac/WKInspectorWKWebView.h:
     26        * UIProcess/mac/WKInspectorWKWebView.mm:
     27        (-[WKInspectorWKWebView tag]):
     28        (-[WKInspectorWKWebView inspectorWKWebViewDelegate]):
     29        (-[WKInspectorWKWebView setInspectorWKWebViewDelegate:]):
     30        (-[WKInspectorWKWebView reload:]):
     31        (-[WKInspectorWKWebView reloadFromOrigin:]):
     32        Move WKInspectorWKWebView into its own file. Include a delegate
     33        to handle reload IBActions that will want to override.
     34
    1352017-12-13  Chris Dumez  <cdumez@apple.com>
    236
  • trunk/Source/WebKit/PlatformMac.cmake

    r225377 r225907  
    314314    UIProcess/mac/WKTextInputWindowController.mm
    315315    UIProcess/mac/WKViewLayoutStrategy.mm
    316     UIProcess/mac/WKWebInspectorWKWebView.mm
    317316    UIProcess/mac/WebColorPickerMac.mm
    318317    UIProcess/mac/WebContextMenuProxyMac.mm
  • trunk/Source/WebKit/UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm

    r224368 r225907  
    3030
    3131#import "RemoteWebInspectorProxy.h"
    32 #import "WKWebInspectorWKWebView.h"
    3332
    3433using namespace WebKit;
  • trunk/Source/WebKit/UIProcess/mac/WKInspectorViewController.mm

    r225234 r225907  
    2929#if PLATFORM(MAC) && WK_API_ENABLED
    3030
     31#import "VersionChecks.h"
    3132#import "WKFrameInfo.h"
     33#import "WKInspectorWKWebView.h"
    3234#import "WKNavigationAction.h"
    3335#import "WKNavigationDelegate.h"
     
    4345#import "WebPageProxy.h"
    4446
    45 // FIXME: this should be declared in the ObjC API; currently it's in the C SPI.
    46 const NSInteger WKInspectorViewTag = 1000;
    47 
    4847using namespace WebKit;
    4948
    50 // Clients need to be able to tell whether a subview is a docked inspector view, so override the tag.
    51 @interface WKInspectorWKWebView : WKWebView
    52 @end
    53 
    54 @implementation WKInspectorWKWebView
    55 - (NSInteger)tag
    56 {
    57     return WKInspectorViewTag;
    58 }
    59 @end
    60 
    61 @interface WKInspectorViewController () <WKUIDelegate, WKNavigationDelegate>
     49@interface WKInspectorViewController () <WKUIDelegate, WKNavigationDelegate, WKInspectorWKWebViewDelegate>
    6250@end
    6351
     
    8472        [_webView setUIDelegate:nil];
    8573        [_webView setNavigationDelegate:nil];
     74        [_webView setInspectorWKWebViewDelegate:nil];
    8675        _webView = nil;
    8776    }
     
    10392        [_webView setUIDelegate:self];
    10493        [_webView setNavigationDelegate:self];
     94        [_webView setInspectorWKWebViewDelegate:self];
    10595        [_webView _setAutomaticallyAdjustsContentInsets:NO];
    10696        [_webView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
     
    237227}
    238228
     229// MARK: WKInspectorWKWebViewDelegate methods
     230
     231- (void)inspectorWKWebViewReload:(WKInspectorWKWebView *)webView
     232{
     233    if (!_inspectedPage)
     234        return;
     235
     236    OptionSet<WebCore::ReloadOption> reloadOptions;
     237    if (linkedOnOrAfter(WebKit::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
     238        reloadOptions |= WebCore::ReloadOption::ExpiredOnly;
     239
     240    _inspectedPage->reload(reloadOptions);
     241}
     242
     243- (void)inspectorWKWebViewReloadFromOrigin:(WKInspectorWKWebView *)webView
     244{
     245    if (!_inspectedPage)
     246        return;
     247
     248    _inspectedPage->reload(WebCore::ReloadOption::FromOrigin);
     249}
     250
    239251@end
    240252
  • trunk/Source/WebKit/UIProcess/mac/WKInspectorWKWebView.h

    r225906 r225907  
    11/*
    2  * Copyright (C) 2010, 2014 Apple Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3030#if PLATFORM(MAC) && WK_API_ENABLED
    3131
    32 @interface WKWebInspectorWKWebView : WKWebView
     32@protocol WKInspectorWKWebViewDelegate;
    3333
    34 - (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration;
    35 
     34@interface WKInspectorWKWebView : WKWebView
     35@property (nonatomic, weak) id <WKInspectorWKWebViewDelegate> inspectorWKWebViewDelegate;
    3636@end
    3737
    38 #endif
     38@protocol WKInspectorWKWebViewDelegate
     39@required
     40- (void)inspectorWKWebViewReload:(WKInspectorWKWebView *)webView;
     41- (void)inspectorWKWebViewReloadFromOrigin:(WKInspectorWKWebView *)webView;
     42@end
     43
     44#endif // PLATFORM(MAC) && WK_API_ENABLED
  • trunk/Source/WebKit/UIProcess/mac/WKInspectorWKWebView.mm

    r225906 r225907  
    11/*
    2  * Copyright (C) 2010, 2014 Apple Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #pragma once
    27 
    28 #import <WebKit/WKWebView.h>
     26#import "config.h"
     27#import "WKInspectorWKWebView.h"
    2928
    3029#if PLATFORM(MAC) && WK_API_ENABLED
    3130
    32 @interface WKWebInspectorWKWebView : WKWebView
     31#import "WKInspectorPrivateMac.h"
     32#import "WeakObjCPtr.h"
    3333
    34 - (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration;
     34@implementation WKInspectorWKWebView {
     35    WebKit::WeakObjCPtr<id <WKInspectorWKWebViewDelegate>> _inspectorWKWebViewDelegate;
     36}
     37
     38- (NSInteger)tag
     39{
     40    return WKInspectorViewTag;
     41}
     42
     43- (id <WKInspectorWKWebViewDelegate>)inspectorWKWebViewDelegate
     44{
     45    return _inspectorWKWebViewDelegate.getAutoreleased();
     46}
     47
     48- (void)setInspectorWKWebViewDelegate:(id <WKInspectorWKWebViewDelegate>)delegate
     49{
     50    _inspectorWKWebViewDelegate = delegate;
     51}
     52
     53- (IBAction)reload:(id)sender
     54{
     55    [self.inspectorWKWebViewDelegate inspectorWKWebViewReload:self];
     56}
     57
     58- (IBAction)reloadFromOrigin:(id)sender
     59{
     60    [self.inspectorWKWebViewDelegate inspectorWKWebViewReloadFromOrigin:self];
     61}
    3562
    3663@end
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r225833 r225907  
    15431543                A1FB68251F6E518200C43F9F /* WKCrashReporter.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1FB68231F6E518200C43F9F /* WKCrashReporter.mm */; };
    15441544                A1FB68271F6E51C100C43F9F /* CrashReporterClientSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = A1FB68261F6E51C100C43F9F /* CrashReporterClientSPI.h */; };
     1545                A518B5D21FE1D55B00F9FA28 /* WKInspectorWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = A518B5D01FE1D55B00F9FA28 /* WKInspectorWKWebView.h */; };
     1546                A518B5D31FE1D55B00F9FA28 /* WKInspectorWKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A518B5D11FE1D55B00F9FA28 /* WKInspectorWKWebView.mm */; };
    15451547                A54293A4195A43DA002782C7 /* WKInspectorNodeSearchGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = A54293A2195A43C6002782C7 /* WKInspectorNodeSearchGestureRecognizer.h */; };
    15461548                A54293A5195A43DD002782C7 /* WKInspectorNodeSearchGestureRecognizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A54293A3195A43C6002782C7 /* WKInspectorNodeSearchGestureRecognizer.mm */; };
     
    15591561                A58B6F0818FCA733008CBA53 /* WKFileUploadPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = A58B6F0618FCA733008CBA53 /* WKFileUploadPanel.h */; };
    15601562                A58B6F0918FCA733008CBA53 /* WKFileUploadPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = A58B6F0718FCA733008CBA53 /* WKFileUploadPanel.mm */; };
    1561                 A5D3504B1D752116005124A9 /* WKWebInspectorWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = A5D350491D752116005124A9 /* WKWebInspectorWKWebView.h */; };
    1562                 A5D3504C1D752116005124A9 /* WKWebInspectorWKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5D3504A1D752116005124A9 /* WKWebInspectorWKWebView.mm */; };
    15631563                A5D3504E1D78F5B3005124A9 /* RemoteWebInspectorProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorProxyMac.mm */; };
    15641564                A5EFD38C16B0E88C00B2F0E8 /* WKPageVisibilityTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A5EFD38B16B0E88C00B2F0E8 /* WKPageVisibilityTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    39643964                A1FB68231F6E518200C43F9F /* WKCrashReporter.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKCrashReporter.mm; sourceTree = "<group>"; };
    39653965                A1FB68261F6E51C100C43F9F /* CrashReporterClientSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CrashReporterClientSPI.h; sourceTree = "<group>"; };
     3966                A518B5D01FE1D55B00F9FA28 /* WKInspectorWKWebView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKInspectorWKWebView.h; sourceTree = "<group>"; };
     3967                A518B5D11FE1D55B00F9FA28 /* WKInspectorWKWebView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKInspectorWKWebView.mm; sourceTree = "<group>"; };
    39663968                A54293A2195A43C6002782C7 /* WKInspectorNodeSearchGestureRecognizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKInspectorNodeSearchGestureRecognizer.h; path = ios/WKInspectorNodeSearchGestureRecognizer.h; sourceTree = "<group>"; };
    39673969                A54293A3195A43C6002782C7 /* WKInspectorNodeSearchGestureRecognizer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInspectorNodeSearchGestureRecognizer.mm; path = ios/WKInspectorNodeSearchGestureRecognizer.mm; sourceTree = "<group>"; };
     
    39823984                A58B6F0618FCA733008CBA53 /* WKFileUploadPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFileUploadPanel.h; path = ios/forms/WKFileUploadPanel.h; sourceTree = "<group>"; };
    39833985                A58B6F0718FCA733008CBA53 /* WKFileUploadPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFileUploadPanel.mm; path = ios/forms/WKFileUploadPanel.mm; sourceTree = "<group>"; };
    3984                 A5D350491D752116005124A9 /* WKWebInspectorWKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebInspectorWKWebView.h; sourceTree = "<group>"; };
    3985                 A5D3504A1D752116005124A9 /* WKWebInspectorWKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebInspectorWKWebView.mm; sourceTree = "<group>"; };
    39863986                A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteWebInspectorProxyMac.mm; sourceTree = "<group>"; };
    39873987                A5EFD38B16B0E88C00B2F0E8 /* WKPageVisibilityTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageVisibilityTypes.h; sourceTree = "<group>"; };
     
    79227922                                994BADF11F7D77EA00B571E7 /* WKInspectorViewController.h */,
    79237923                                994BADF21F7D77EB00B571E7 /* WKInspectorViewController.mm */,
     7924                                A518B5D01FE1D55B00F9FA28 /* WKInspectorWKWebView.h */,
     7925                                A518B5D11FE1D55B00F9FA28 /* WKInspectorWKWebView.mm */,
    79247926                                0FCB4E5C18BBE3D9000FCFC9 /* WKPrintingView.h */,
    79257927                                0FCB4E5D18BBE3D9000FCFC9 /* WKPrintingView.mm */,
     
    79327934                                2D28A4951AF965A100F190C9 /* WKViewLayoutStrategy.h */,
    79337935                                2D28A4961AF965A100F190C9 /* WKViewLayoutStrategy.mm */,
    7934                                 A5D350491D752116005124A9 /* WKWebInspectorWKWebView.h */,
    7935                                 A5D3504A1D752116005124A9 /* WKWebInspectorWKWebView.mm */,
    79367936                        );
    79377937                        path = mac;
     
    93449344                                6EE849C81368D9390038D481 /* WKInspectorPrivateMac.h in Headers */,
    93459345                                994BADF41F7D781400B571E7 /* WKInspectorViewController.h in Headers */,
     9346                                A518B5D21FE1D55B00F9FA28 /* WKInspectorWKWebView.h in Headers */,
    93469347                                51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */,
    93479348                                2D790A9F1AD7164900AB90B3 /* WKLayoutMode.h in Headers */,
     
    94969497                                C5E1AFE916B20B75006CC1F2 /* WKWebArchive.h in Headers */,
    94979498                                C5E1AFEB16B20B7E006CC1F2 /* WKWebArchiveResource.h in Headers */,
    9498                                 A5D3504B1D752116005124A9 /* WKWebInspectorWKWebView.h in Headers */,
    94999499                                1AA2E56718D77508003814BD /* WKWebProcessBundleParameters.h in Headers */,
    95009500                                BC989D82161A7E5D000D46D3 /* WKWebProcessPlugIn.h in Headers */,
     
    1096510965                                A54293A5195A43DD002782C7 /* WKInspectorNodeSearchGestureRecognizer.mm in Sources */,
    1096610966                                994BADF31F7D781100B571E7 /* WKInspectorViewController.mm in Sources */,
     10967                                A518B5D31FE1D55B00F9FA28 /* WKInspectorWKWebView.mm in Sources */,
    1096710968                                51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */,
    1096810969                                C98C48A91B6FD5B500145103 /* WKMediaSessionFocusManager.cpp in Sources */,
     
    1105811059                                C5E1AFE816B20B67006CC1F2 /* WKWebArchive.cpp in Sources */,
    1105911060                                C5E1AFEA16B20B7B006CC1F2 /* WKWebArchiveResource.cpp in Sources */,
    11060                                 A5D3504C1D752116005124A9 /* WKWebInspectorWKWebView.mm in Sources */,
    1106111061                                1AA2E56618D77508003814BD /* WKWebProcessBundleParameters.mm in Sources */,
    1106211062                                BC989D81161A7E5D000D46D3 /* WKWebProcessPlugIn.mm in Sources */,
Note: See TracChangeset for help on using the changeset viewer.