Title: [264603] trunk/Tools
Revision
264603
Author
[email protected]
Date
2020-07-20 09:26:54 -0700 (Mon, 20 Jul 2020)

Log Message

Add lock icon to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=214438

Patch by Alex Christensen <[email protected]> on 2020-07-20
Reviewed by Darin Adler.

* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController showCertificate:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
(-[WK2BrowserWindowController updateLockButtonIcon:]):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (264602 => 264603)


--- trunk/Tools/ChangeLog	2020-07-20 15:17:25 UTC (rev 264602)
+++ trunk/Tools/ChangeLog	2020-07-20 16:26:54 UTC (rev 264603)
@@ -1,3 +1,20 @@
+2020-07-20  Alex Christensen  <[email protected]>
+
+        Add lock icon to MiniBrowser
+        https://bugs.webkit.org/show_bug.cgi?id=214438
+
+        Reviewed by Darin Adler.
+
+        * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
+        * MiniBrowser/mac/BrowserWindow.xib:
+        * MiniBrowser/mac/BrowserWindowController.h:
+        * MiniBrowser/mac/WK2BrowserWindowController.m:
+        (-[WK2BrowserWindowController awakeFromNib]):
+        (-[WK2BrowserWindowController dealloc]):
+        (-[WK2BrowserWindowController showCertificate:]):
+        (-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
+        (-[WK2BrowserWindowController updateLockButtonIcon:]):
+
 2020-07-20  Philippe Normand  <[email protected]>
 
         [Flatpak SDK] Update to FDO 19.08.12 release

Modified: trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj (264602 => 264603)


--- trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj	2020-07-20 15:17:25 UTC (rev 264602)
+++ trunk/Tools/MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj	2020-07-20 16:26:54 UTC (rev 264603)
@@ -12,6 +12,7 @@
 		256AC3DA0F4B6AC300CF3369 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* AppDelegate.m */; };
 		2DC37343198B62D300EC33E9 /* SettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DC37342198B62D300EC33E9 /* SettingsController.m */; };
 		51E244FA11EFCE07008228D1 /* MBToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 51E244F911EFCE07008228D1 /* MBToolbarItem.m */; };
+		5C9332AF24C1349C0036DECE /* SecurityInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C9332AE24C1349C0036DECE /* SecurityInterface.framework */; };
 		7CA379421AC381C10079DC37 /* ExtensionManagerWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CA379401AC381C10079DC37 /* ExtensionManagerWindowController.m */; };
 		7CA379431AC381C10079DC37 /* ExtensionManagerWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7CA379411AC381C10079DC37 /* ExtensionManagerWindowController.xib */; };
 		BC329487116A92E2008635D0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BC329486116A92E2008635D0 /* main.m */; };
@@ -38,6 +39,7 @@
 		37BAF90620218053000EA879 /* MiniBrowser.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MiniBrowser.entitlements; sourceTree = "<group>"; };
 		51E244F811EFCE07008228D1 /* MBToolbarItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MBToolbarItem.h; sourceTree = "<group>"; };
 		51E244F911EFCE07008228D1 /* MBToolbarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBToolbarItem.m; sourceTree = "<group>"; };
+		5C9332AE24C1349C0036DECE /* SecurityInterface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityInterface.framework; path = System/Library/Frameworks/SecurityInterface.framework; sourceTree = SDKROOT; };
 		7CA3793F1AC381C10079DC37 /* ExtensionManagerWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtensionManagerWindowController.h; path = mac/ExtensionManagerWindowController.h; sourceTree = "<group>"; };
 		7CA379401AC381C10079DC37 /* ExtensionManagerWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ExtensionManagerWindowController.m; path = mac/ExtensionManagerWindowController.m; sourceTree = "<group>"; };
 		7CA379411AC381C10079DC37 /* ExtensionManagerWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = ExtensionManagerWindowController.xib; path = mac/ExtensionManagerWindowController.xib; sourceTree = "<group>"; };
@@ -58,6 +60,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				5C9332AF24C1349C0036DECE /* SecurityInterface.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -134,6 +137,7 @@
 			children = (
 				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
 				1AFFEF761860EE6800DA465E /* Cocoa.framework */,
+				5C9332AE24C1349C0036DECE /* SecurityInterface.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";

Modified: trunk/Tools/MiniBrowser/mac/BrowserWindow.xib (264602 => 264603)


--- trunk/Tools/MiniBrowser/mac/BrowserWindow.xib	2020-07-20 15:17:25 UTC (rev 264602)
+++ trunk/Tools/MiniBrowser/mac/BrowserWindow.xib	2020-07-20 16:26:54 UTC (rev 264603)
@@ -12,6 +12,7 @@
                 <outlet property="forwardButton" destination="42" id="47"/>
                 <outlet property="progressIndicator" destination="21" id="33"/>
                 <outlet property="reloadButton" destination="23" id="34"/>
+                <outlet property="lockButton" destination="mWN-r5-XQb" id="49"/>
                 <outlet property="share" destination="1hB-AH-eUl" id="si4-8e-DsM"/>
                 <outlet property="toggleUseShrinkToFitButton" destination="82" id="9w7-AB-Ye3"/>
                 <outlet property="toolbar" destination="48" id="67"/>
@@ -86,6 +87,22 @@
                             </connections>
                         </button>
                     </toolbarItem>
+                    <toolbarItem implicitItemIdentifier="F9C3B2C4-B22D-4E12-92BC-EA326711BBC1" label="Lock" paletteLabel="Lock" image="NSLockLockedTemplate" id="Ky3-6Y-3U1" userLabel="Lock" customClass="MBToolbarItem">
+                        <nil key="toolTip"/>
+                        <size key="minSize" width="29" height="25"/>
+                        <size key="maxSize" width="29" height="27"/>
+                        <button key="view" verticalHuggingPriority="750" id="mWN-r5-XQb">
+                            <rect key="frame" x="2" y="14" width="29" height="25"/>
+                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                            <buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSLockLockedTemplate" imagePosition="overlaps" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="iRv-ey-QZe">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                            <connections>
+                                <action selector="showCertificate:" target="-2" id="LjW-s0-oJ2"/>
+                            </connections>
+                        </button>
+                    </toolbarItem>
                     <toolbarItem implicitItemIdentifier="76DCF2B0-1DDE-47D2-9212-705E6E310CCE" label="Use Shrink To Fit" paletteLabel="Use Shrink To Fit" image="NSEnterFullScreenTemplate" id="81" customClass="MBToolbarItem">
                         <nil key="toolTip"/>
                         <size key="minSize" width="29" height="25"/>
@@ -147,6 +164,7 @@
                     <toolbarItem reference="56"/>
                     <toolbarItem reference="57"/>
                     <toolbarItem reference="58"/>
+                    <toolbarItem reference="Ky3-6Y-3U1"/>
                     <toolbarItem reference="59"/>
                     <toolbarItem reference="dJx-dw-gcC"/>
                     <toolbarItem reference="60"/>
@@ -160,6 +178,7 @@
     </objects>
     <resources>
         <image name="NSEnterFullScreenTemplate" width="16" height="15"/>
+        <image name="NSLockLockedTemplate" width="10" height="14"/>
         <image name="NSGoLeftTemplate" width="10" height="14"/>
         <image name="NSGoRightTemplate" width="10" height="14"/>
         <image name="NSRefreshTemplate" width="14" height="16"/>

Modified: trunk/Tools/MiniBrowser/mac/BrowserWindowController.h (264602 => 264603)


--- trunk/Tools/MiniBrowser/mac/BrowserWindowController.h	2020-07-20 15:17:25 UTC (rev 264602)
+++ trunk/Tools/MiniBrowser/mac/BrowserWindowController.h	2020-07-20 16:26:54 UTC (rev 264603)
@@ -28,6 +28,7 @@
 @interface BrowserWindowController : NSWindowController {
     IBOutlet NSProgressIndicator *progressIndicator;
     IBOutlet NSButton *reloadButton;
+    IBOutlet NSButton *lockButton;
     IBOutlet NSButton *backButton;
     IBOutlet NSButton *forwardButton;
     IBOutlet NSButton *share;

Modified: trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m (264602 => 264603)


--- trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m	2020-07-20 15:17:25 UTC (rev 264602)
+++ trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m	2020-07-20 16:26:54 UTC (rev 264603)
@@ -27,6 +27,7 @@
 
 #import "AppDelegate.h"
 #import "SettingsController.h"
+#import <SecurityInterface/SFCertificateTrustPanel.h>
 #import <WebKit/WKFrameInfo.h>
 #import <WebKit/WKNavigationActionPrivate.h>
 #import <WebKit/WKNavigationDelegate.h>
@@ -105,6 +106,7 @@
 
     [_webView addObserver:self forKeyPath:@"title" options:0 context:keyValueObservingContext];
     [_webView addObserver:self forKeyPath:@"URL" options:0 context:keyValueObservingContext];
+    [_webView addObserver:self forKeyPath:@"hasOnlySecureContent" options:0 context:keyValueObservingContext];
 
     _webView.navigationDelegate = self;
     _webView.UIDelegate = self;
@@ -163,6 +165,7 @@
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     [_webView removeObserver:self forKeyPath:@"title"];
     [_webView removeObserver:self forKeyPath:@"URL"];
+    [_webView removeObserver:self forKeyPath:@"hasOnlySecureContent"];
     
     [progressIndicator unbind:NSHiddenBinding];
     [progressIndicator unbind:NSValueBinding];
@@ -287,6 +290,12 @@
     [_webView reload];
 }
 
+- (IBAction)showCertificate:(id)sender
+{
+    if (_webView.serverTrust)
+        [[SFCertificateTrustPanel sharedCertificateTrustPanel] beginSheetForWindow:self.window modalDelegate:nil didEndSelector:nil contextInfo:NULL trust:_webView.serverTrust message:@"TLS Certificate Details"];
+}
+
 - (IBAction)forceRepaint:(id)sender
 {
     // FIXME: This doesn't actually force a repaint.
@@ -531,6 +540,8 @@
         [self updateTitle:_webView.title];
     else if ([keyPath isEqualToString:@"URL"])
         [self updateTextFieldFromURL:_webView.URL];
+    else if ([keyPath isEqualToString:@"hasOnlySecureContent"])
+        [self updateLockButtonIcon:_webView.hasOnlySecureContent];
 }
 
 - (nullable WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
@@ -644,6 +655,14 @@
     urlText.stringValue = [URL _web_userVisibleString];
 }
 
+- (void)updateLockButtonIcon:(BOOL)hasOnlySecureContent
+{
+    if (hasOnlySecureContent)
+        [lockButton setImage:[NSImage imageNamed:NSImageNameLockLockedTemplate]];
+    else
+        [lockButton setImage:[NSImage imageNamed:NSImageNameLockUnlockedTemplate]];
+}
+
 - (void)loadURLString:(NSString *)urlString
 {
     // FIXME: We shouldn't have to set the url text here.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to