Index: chrome/browser/custom_home_pages_table_model.cc |
diff --git a/chrome/browser/custom_home_pages_table_model.cc b/chrome/browser/custom_home_pages_table_model.cc |
index 5c1bc7de851da1ce06a252303f52382ff3c4fb60..8b28417a89d22c7820525b14c44dfed4a31be266 100644 |
--- a/chrome/browser/custom_home_pages_table_model.cc |
+++ b/chrome/browser/custom_home_pages_table_model.cc |
@@ -26,36 +26,6 @@ |
#include "ui/gfx/codec/png_codec.h" |
#include "url/gurl.h" |
-namespace { |
- |
-// Checks whether the given URL should count as one of the "current" pages. |
-// Returns true for all pages except dev tools and settings. |
-bool ShouldAddPage(const GURL& url) { |
- if (url.is_empty()) |
- return false; |
- |
- if (url.SchemeIs(content::kChromeDevToolsScheme)) |
- return false; |
- |
- if (url.SchemeIs(content::kChromeUIScheme)) { |
- if (url.host_piece() == chrome::kChromeUISettingsHost || |
- url.host_piece() == chrome::kChromeUISettingsFrameHost) { |
- return false; |
- } |
- |
- // For a settings page, the path will start with "/settings" not "settings" |
- // so find() will return 1, not 0. |
- if (url.host_piece() == chrome::kChromeUIUberHost && |
- url.path_piece().find(chrome::kChromeUISettingsHost) == 1) { |
- return false; |
- } |
- } |
- |
- return true; |
-} |
- |
-} // namespace |
- |
struct CustomHomePagesTableModel::Entry { |
Entry() : task_id(base::CancelableTaskTracker::kBadTaskId) {} |
@@ -178,7 +148,8 @@ void CustomHomePagesTableModel::Remove(int index) { |
observer_->OnItemsRemoved(index, 1); |
} |
-void CustomHomePagesTableModel::SetToCurrentlyOpenPages() { |
+void CustomHomePagesTableModel::SetToCurrentlyOpenPages( |
+ const content::WebContents* ignore_contents) { |
// Remove the current entries. |
while (RowCount()) |
RemoveWithoutNotification(0); |
@@ -192,9 +163,12 @@ void CustomHomePagesTableModel::SetToCurrentlyOpenPages() { |
for (int tab_index = 0; |
tab_index < browser->tab_strip_model()->count(); |
++tab_index) { |
- const GURL url = |
- browser->tab_strip_model()->GetWebContentsAt(tab_index)->GetURL(); |
- if (ShouldAddPage(url)) |
+ const content::WebContents* contents = |
+ browser->tab_strip_model()->GetWebContentsAt(tab_index); |
+ if (contents == ignore_contents) |
+ continue; |
+ const GURL url = contents->GetURL(); |
+ if (!url.is_empty() && !url.SchemeIs(content::kChromeDevToolsScheme)) |
AddWithoutNotification(add_index++, url); |
} |
} |