Changeset 160433 in webkit


Ignore:
Timestamp:
Dec 11, 2013, 8:16:16 AM (11 years ago)
Author:
mitz@apple.com
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.

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r160419 r160433  
     12013-12-11  Dan Bernstein  <mitz@apple.com>
     2
     3        [Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
     4        https://bugs.webkit.org/show_bug.cgi?id=125579
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * MiniBrowser/mac/WK2BrowserWindowController.m:
     9        (-[WK2BrowserWindowController dealloc]): Stop observing the activeURL property.
     10        (-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): When the
     11        activeURL property changes, update the URL field with its value.
     12        (-[WK2BrowserWindowController awakeFromNib]): Start observing the activeURL property.
     13        (-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]): Just log.
     14        (-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
     15        Ditto.
     16        (-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]):
     17        Ditto.
     18        (-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
     19        (-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.
     20
    1212013-12-11  Dániel Bátyai  <Batyai.Daniel@stud.u-szeged.hu>
    222
  • trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

    r160276 r160433  
    3838#import <WebKit2/WKViewPrivate.h>
    3939
     40static void* keyValueObservingContext = &keyValueObservingContext;
     41
    4042@interface WK2BrowserWindowController () <WKBrowsingContextLoadDelegatePrivate, WKBrowsingContextPolicyDelegate, WKBrowsingContextHistoryDelegate>
    4143@end
     
    6466    [progressIndicator unbind:NSValueBinding];
    6567
    66     [_webView.browsingContextController removeObserver:self forKeyPath:@"title" context:[WK2BrowserWindowController self]];
     68    [_webView.browsingContextController removeObserver:self forKeyPath:@"title" context:keyValueObservingContext];
     69    [_webView.browsingContextController removeObserver:self forKeyPath:@"activeURL" context:keyValueObservingContext];
    6770    _webView.browsingContextController.loadDelegate = nil;
    6871    _webView.browsingContextController.policyDelegate = nil;
     
    300303- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
    301304{
    302     if (context != [WK2BrowserWindowController self] || object != _webView.browsingContextController)
     305    if (context != keyValueObservingContext || object != _webView.browsingContextController)
    303306        return;
    304307
    305308    if ([keyPath isEqualToString:@"title"])
    306309        self.window.title = [_webView.browsingContextController.title stringByAppendingString:@" [WK2]"];
     310    else if ([keyPath isEqualToString:@"activeURL"])
     311        [self updateTextFieldFromURL:_webView.browsingContextController.activeURL];
    307312}
    308313
     
    505510    [progressIndicator bind:NSValueBinding toObject:_webView.browsingContextController withKeyPath:@"estimatedProgress" options:nil];
    506511
    507     [_webView.browsingContextController addObserver:self forKeyPath:@"title" options:0 context:[WK2BrowserWindowController self]];
     512    [_webView.browsingContextController addObserver:self forKeyPath:@"title" options:0 context:keyValueObservingContext];
     513    [_webView.browsingContextController addObserver:self forKeyPath:@"activeURL" options:0 context:keyValueObservingContext];
    508514
    509515    _webView.browsingContextController.loadDelegate = self;
     
    574580}
    575581
    576 - (void)updateProvisionalURL
    577 {
    578     NSURL *url = _webView.browsingContextController.provisionalURL;
    579     if (!url)
    580         return;
    581     [self updateTextFieldFromURL:url];
    582 }
    583 
    584 - (void)updateCommittedURL
    585 {
    586     NSURL *url = _webView.browsingContextController.committedURL;
    587     if (!url)
    588         return;
    589     [self updateTextFieldFromURL:url];
    590 }
    591 
    592582- (void)loadURLString:(NSString *)urlString
    593583{
     
    613603- (void)browsingContextControllerDidStartProvisionalLoad:(WKBrowsingContextController *)sender
    614604{
    615     [self updateProvisionalURL];
     605    LOG(@"didStartProvisionalLoad");
    616606}
    617607
    618608- (void)browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:(WKBrowsingContextController *)sender
    619609{
    620     [self updateProvisionalURL];
     610    LOG(@"didReceiveServerRedirectForProvisionalLoad");
    621611}
    622612
    623613- (void)browsingContextController:(WKBrowsingContextController *)sender didFailProvisionalLoadWithError:(NSError *)error
    624614{
    625     [self updateProvisionalURL];
     615    LOG(@"didFailProvisionalLoadWithError: %@", error);
    626616}
    627617
    628618- (void)browsingContextControllerDidCommitLoad:(WKBrowsingContextController *)sender
    629619{
    630     [self updateCommittedURL];
     620    LOG(@"didCommitLoad");
    631621}
    632622
     
    638628- (void)browsingContextController:(WKBrowsingContextController *)sender didFailLoadWithError:(NSError *)error
    639629{
    640     [self updateProvisionalURL];
     630    LOG(@"didFailLoadWithError: %@", error);
    641631}
    642632
Note: See TracChangeset for help on using the changeset viewer.