WebKit:
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 May 2004 20:01:11 +0000 (20:01 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 May 2004 20:01:11 +0000 (20:01 +0000)
        Reviewed by Dave.

        - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
        back/forward list can remember what page (if any) they were initiated from.

        * History.subproj/WebHistoryItem.m:
        new RSSFeedReferrer ivar in private structure
        (-[WebHistoryItemPrivate dealloc]):
        release RSSFeedReferrer
        (-[WebHistoryItem copyWithZone:]):
        copy RSSFeedReferrer
        (-[WebHistoryItem RSSFeedReferrer]):
        return RSSFeedReferrer
        (-[WebHistoryItem setRSSFeedReferrer:]):
        set RSSFeedReferrer

        * History.subproj/WebHistoryItemPrivate.h:
        declare -RSSFeedReferrer and -setRSSFeedReferrer:

WebBrowser:

        Reviewed by Dave.

        More work on Emerson show/hide button. Now when the "Show RSS Feed" button
        is clicked, we stash away the URL we are expecting to load. When (if) that URL
        is loaded, we find the previous URL from the back list and store that in the
        RSS feed's history item, so that if we revisit this RSS feed using the back/forward
        list, we'll correctly display the "Hide RSS Feed" button. (If the RSS feed's URL
        is visited some other way, it won't have a corresponding URL to "return" to, and
        the "Hide RSS Feed" button will not appear.)

        * BrowserWebController.h:
        new ivar and getter/setter for pendingRSSFeedURLString
        * BrowserWebController.m:
        (-[BrowserWebView dealloc]):
        release _pendingRSSFeedURLString
        (-[BrowserWebView pendingRSSFeedURLString]):
        get _pendingRSSFeedURLString
        (-[BrowserWebView setPendingRSSFeedURLString:]):
        set _pendingRSSFeedURLString
        (-[BrowserWebView counterpartURLForRSS]):
        get RSS feed referrer from current back/forward list history item

        * BrowserWindowController.m:
        (-[BrowserWindowController windowShouldGoToURL:]):
        cleanup noticed in passing: use [[self currentWebView] goToURL:URL] instead of
        [[self browserDocument] goToURL:URL] because it seems clearer (and does the same thing)
        (-[BrowserWindowController performQuickSearch:]):
        ditto
        (-[BrowserWindowController updateRSSButton]):
        added comment
        (-[BrowserWindowController goToCounterpartURLForRSS]):
        when going to an RSS feed, call setPendingRSSFeedURLString so we will set
        the referrer on the history item in the upcoming commit

        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:didCommitLoadForFrame:]):
        if the incoming URL matches the pending RSS feed, set the RSS feed referrer on the
        history item for the incoming URL

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/History.subproj/WebHistoryItem.m
WebKit/History.subproj/WebHistoryItemPrivate.h

index 42be62f8ef118fd1bd9615cc86d4338db9bc8b05..67dcc61368289cf4cb89aa1517a1ce1df95bced9 100644 (file)
@@ -1,3 +1,24 @@
+2004-05-24  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Dave.
+        
+        - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
+        back/forward list can remember what page (if any) they were initiated from.
+
+        * History.subproj/WebHistoryItem.m:
+        new RSSFeedReferrer ivar in private structure
+        (-[WebHistoryItemPrivate dealloc]):
+        release RSSFeedReferrer
+        (-[WebHistoryItem copyWithZone:]):
+        copy RSSFeedReferrer
+        (-[WebHistoryItem RSSFeedReferrer]):
+        return RSSFeedReferrer
+        (-[WebHistoryItem setRSSFeedReferrer:]):
+        set RSSFeedReferrer
+
+        * History.subproj/WebHistoryItemPrivate.h:
+        declare -RSSFeedReferrer and -setRSSFeedReferrer:
+
 2004-05-22  Darin Adler  <darin@apple.com>
 
         Reviewed by Ken.
index ed7ac4579f5025712dee1457b14914af0073be24..f328b7448946674428963ea1ab48a9a076e5bf17 100644 (file)
@@ -53,6 +53,8 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
     NSData *formData;
     NSString *formContentType;
     NSString *formReferrer;
+    // info used to support RSS feeds
+    NSString *RSSFeedReferrer;
 }
 @end
 
@@ -72,6 +74,7 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
     [formData release];
     [formContentType release];
     [formReferrer release];
+    [RSSFeedReferrer release];
 
     [super dealloc];
 }
@@ -127,6 +130,7 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
     copy->_private->formData = [_private->formData copy];
     copy->_private->formContentType = [_private->formContentType copy];
     copy->_private->formReferrer = [_private->formReferrer copy];
+    copy->_private->RSSFeedReferrer = [_private->RSSFeedReferrer copy];
 
     return copy;
 }
@@ -478,6 +482,18 @@ NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotificatio
     _private->formReferrer = copy;
 }
 
+- (NSString *)RSSFeedReferrer
+{
+    return _private->RSSFeedReferrer;
+}
+
+- (void)setRSSFeedReferrer:(NSString *)referrer
+{
+    NSString *copy = [referrer copy];
+    [_private->RSSFeedReferrer release];
+    _private->RSSFeedReferrer = copy;
+}
+
 - (NSArray *)children
 {
     return _private->subItems;
index 0f24358a40b2f56e41623a3856310066cbc0ee35..bd4f475e1e3c32a05fa632e0f47098aa52d13cd3 100644 (file)
@@ -31,6 +31,7 @@
 - (NSData *)formData;
 - (NSString *)formContentType;
 - (NSString *)formReferrer;
+- (NSString *)RSSFeedReferrer;
 - (int)visitCount;
 
 - (void)_mergeAutoCompleteHints:(WebHistoryItem *)otherItem;
@@ -47,6 +48,7 @@
 - (void)setFormData:(NSData *)data;
 - (void)setFormContentType:(NSString *)type;
 - (void)setFormReferrer:(NSString *)referrer;
+- (void)setRSSFeedReferrer:(NSString *)referrer;
 - (void)setVisitCount:(int)count;
 
 - (NSArray *)children;