Title: [160433] trunk/Tools
Revision
160433
Author
[email protected]
Date
2013-12-11 08:16:16 -0800 (Wed, 11 Dec 2013)

Log Message

[Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
https://bugs.webkit.org/show_bug.cgi?id=125579

Reviewed by Anders Carlsson.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]): Stop observing the activeURL property.
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): When the
activeURL property changes, update the URL field with its value.
(-[WK2BrowserWindowController awakeFromNib]): Start observing the activeURL property.
(-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]): Just log.
(-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]):
Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (160432 => 160433)


--- trunk/Tools/ChangeLog	2013-12-11 16:10:15 UTC (rev 160432)
+++ trunk/Tools/ChangeLog	2013-12-11 16:16:16 UTC (rev 160433)
@@ -1,3 +1,23 @@
+2013-12-11  Dan Bernstein  <[email protected]>
+
+        [Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
+        https://bugs.webkit.org/show_bug.cgi?id=125579
+
+        Reviewed by Anders Carlsson.
+
+        * MiniBrowser/mac/WK2BrowserWindowController.m:
+        (-[WK2BrowserWindowController dealloc]): Stop observing the activeURL property.
+        (-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): When the
+        activeURL property changes, update the URL field with its value.
+        (-[WK2BrowserWindowController awakeFromNib]): Start observing the activeURL property.
+        (-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]): Just log.
+        (-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
+        Ditto.
+        (-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]):
+        Ditto.
+        (-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
+        (-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.
+
 2013-12-11  Dániel Bátyai  <[email protected]>
 
         Fixed test-wepkitpy logging for buildslaves

Modified: trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m (160432 => 160433)


--- trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m	2013-12-11 16:10:15 UTC (rev 160432)
+++ trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m	2013-12-11 16:16:16 UTC (rev 160433)
@@ -37,6 +37,8 @@
 #import <WebKit2/WKURLCF.h>
 #import <WebKit2/WKViewPrivate.h>
 
+static void* keyValueObservingContext = &keyValueObservingContext;
+
 @interface WK2BrowserWindowController () <WKBrowsingContextLoadDelegatePrivate, WKBrowsingContextPolicyDelegate, WKBrowsingContextHistoryDelegate>
 @end
 
@@ -63,7 +65,8 @@
     [progressIndicator unbind:NSHiddenBinding];
     [progressIndicator unbind:NSValueBinding];
 
-    [_webView.browsingContextController removeObserver:self forKeyPath:@"title" context:[WK2BrowserWindowController self]];
+    [_webView.browsingContextController removeObserver:self forKeyPath:@"title" context:keyValueObservingContext];
+    [_webView.browsingContextController removeObserver:self forKeyPath:@"activeURL" context:keyValueObservingContext];
     _webView.browsingContextController.loadDelegate = nil;
     _webView.browsingContextController.policyDelegate = nil;
     [_webView release];
@@ -299,11 +302,13 @@
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
 {
-    if (context != [WK2BrowserWindowController self] || object != _webView.browsingContextController)
+    if (context != keyValueObservingContext || object != _webView.browsingContextController)
         return;
 
     if ([keyPath isEqualToString:@"title"])
         self.window.title = [_webView.browsingContextController.title stringByAppendingString:@" [WK2]"];
+    else if ([keyPath isEqualToString:@"activeURL"])
+        [self updateTextFieldFromURL:_webView.browsingContextController.activeURL];
 }
 
 // MARK: UI Client Callbacks
@@ -504,7 +509,8 @@
     [progressIndicator bind:NSHiddenBinding toObject:_webView.browsingContextController withKeyPath:@"loading" options:@{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }];
     [progressIndicator bind:NSValueBinding toObject:_webView.browsingContextController withKeyPath:@"estimatedProgress" options:nil];
 
-    [_webView.browsingContextController addObserver:self forKeyPath:@"title" options:0 context:[WK2BrowserWindowController self]];
+    [_webView.browsingContextController addObserver:self forKeyPath:@"title" options:0 context:keyValueObservingContext];
+    [_webView.browsingContextController addObserver:self forKeyPath:@"activeURL" options:0 context:keyValueObservingContext];
 
     _webView.browsingContextController.loadDelegate = self;
     _webView.browsingContextController.policyDelegate = self;
@@ -573,22 +579,6 @@
     urlText.stringValue = [URL absoluteString];
 }
 
-- (void)updateProvisionalURL
-{
-    NSURL *url = ""
-    if (!url)
-        return;
-    [self updateTextFieldFromURL:url];
-}
-
-- (void)updateCommittedURL
-{
-    NSURL *url = ""
-    if (!url)
-        return;
-    [self updateTextFieldFromURL:url];
-}
-
 - (void)loadURLString:(NSString *)urlString
 {
     // FIXME: We shouldn't have to set the url text here.
@@ -612,22 +602,22 @@
 
 - (void)browsingContextControllerDidStartProvisionalLoad:(WKBrowsingContextController *)sender
 {
-    [self updateProvisionalURL];
+    LOG(@"didStartProvisionalLoad");
 }
 
 - (void)browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:(WKBrowsingContextController *)sender
 {
-    [self updateProvisionalURL];
+    LOG(@"didReceiveServerRedirectForProvisionalLoad");
 }
 
 - (void)browsingContextController:(WKBrowsingContextController *)sender didFailProvisionalLoadWithError:(NSError *)error
 {
-    [self updateProvisionalURL];
+    LOG(@"didFailProvisionalLoadWithError: %@", error);
 }
 
 - (void)browsingContextControllerDidCommitLoad:(WKBrowsingContextController *)sender
 {
-    [self updateCommittedURL];
+    LOG(@"didCommitLoad");
 }
 
 - (void)browsingContextControllerDidFinishLoad:(WKBrowsingContextController *)sender
@@ -637,7 +627,7 @@
 
 - (void)browsingContextController:(WKBrowsingContextController *)sender didFailLoadWithError:(NSError *)error
 {
-    [self updateProvisionalURL];
+    LOG(@"didFailLoadWithError: %@", error);
 }
 
 - (void)browsingContextControllerDidChangeBackForwardList:(WKBrowsingContextController *)sender addedItem:(WKBackForwardListItem *)addedItem removedItems:(NSArray *)removedItems
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to