Index: chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h |
diff --git a/chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h b/chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h |
index 9bfcfa1bb44a54f993475f9e472ace0c546b2ed0..ccf2b04eefe6eaaf5ea9c5f59308894a4ffc2203 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h |
+++ b/chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h |
@@ -139,9 +139,14 @@ class SafeBrowsingNavigationObserverManager |
void ScheduleNextCleanUpAfterInterval(base::TimeDelta interval); |
- // Find the most recent navigation event that navigated to |target_url| in the |
- // tab with ID |target_tab_id|. If |target_tab_id| is not available (-1), we |
- // look for all tabs for the most recent navigation to |target_url|. |
+ // Find the most recent navigation event that navigated to |target_url| and |
+ // its associated |target_main_frame_url| in the tab with ID |target_tab_id|. |
+ // If navigation happened in the main frame, |target_url| and |target_main_ |
+ // frame_url| are the same. |
+ // If |target_url| is empty, we use its main frame url (a.k.a. |
+ // |target_main_frame_url|) to search for navigation events. |
+ // If |target_tab_id| is not available (-1), we look for all tabs for the most |
+ // recent navigation to |target_url| or |target_main_frame_url|. |
// For some cases, the most recent navigation to |target_url| may not be |
// relevant. |
// For example, url1 in window A opens url2 in window B, url1 then opens an |
@@ -156,6 +161,7 @@ class SafeBrowsingNavigationObserverManager |
// However, it does not prevent us to attribute url1 in Window A as the cause |
// of all these navigations. |
NavigationEvent* FindNavigationEvent(const GURL& target_url, |
+ const GURL& target_main_frame_url, |
int target_tab_id); |
void AddToReferrerChain(std::vector<ReferrerChainEntry>* referrer_chain, |
@@ -168,8 +174,8 @@ class SafeBrowsingNavigationObserverManager |
// original target url. Since the same url can be requested multiple times |
// across different tabs and frames, the value of this map is a vector of |
// NavigationEvent ordered by navigation finish time. |
- // TODO(jialiul): Entries in navigation_map_ will be removed if they are older |
- // than 2 minutes since their corresponding navigations finish. |
+ // Entries in navigation_map_ will be removed if they are older than 2 minutes |
+ // since their corresponding navigations finish. |
NavigationMap navigation_map_; |
// user_gesture_map_ keeps track of the timestamp of last user gesture in |