Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Unified Diff: chrome/browser/android/offline_pages/offline_page_utils.cc

Issue 2364253002: [Offline Pages] Adds new policy bits and reverse lookup. (Closed)
Patch Set: Rename. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/offline_pages/client_policy_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/offline_pages/offline_page_utils.cc
diff --git a/chrome/browser/android/offline_pages/offline_page_utils.cc b/chrome/browser/android/offline_pages/offline_page_utils.cc
index d6cbffe2923dcdde80726881a4b9c3f839c09c1d..bf76df4b5eaa77ee716e773bc2b38583f48a56ac 100644
--- a/chrome/browser/android/offline_pages/offline_page_utils.cc
+++ b/chrome/browser/android/offline_pages/offline_page_utils.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/android/offline_pages/offline_page_tab_helper.h"
#include "chrome/browser/android/tab_android.h"
#include "components/offline_pages/client_namespace_constants.h"
+#include "components/offline_pages/client_policy_controller.h"
#include "components/offline_pages/offline_page_feature.h"
#include "components/offline_pages/offline_page_item.h"
#include "components/offline_pages/offline_page_model.h"
@@ -57,17 +58,24 @@ void OnGetPageByOfflineURLDone(
void OnGetPagesByOnlineURLDone(
int tab_id,
+ const std::vector<std::string>& namespaces_to_show_in_original_tab,
const base::Callback<void(const OfflinePageItem*)>& callback,
const MultipleOfflinePageItemResult& pages) {
const OfflinePageItem* selected_page = nullptr;
std::string tab_id_str = base::IntToString(tab_id);
+
for (const auto& offline_page : pages) {
- if (offline_page.client_id.name_space != kLastNNamespace ||
- offline_page.client_id.id == tab_id_str) {
- if (!selected_page ||
- offline_page.creation_time > selected_page->creation_time) {
- selected_page = &offline_page;
- }
+ auto result = std::find(namespaces_to_show_in_original_tab.begin(),
+ namespaces_to_show_in_original_tab.end(),
+ offline_page.client_id.name_space);
+ if (result != namespaces_to_show_in_original_tab.end() &&
+ offline_page.client_id.id != tab_id_str) {
+ continue;
+ }
+
+ if (!selected_page ||
+ offline_page.creation_time > selected_page->creation_time) {
+ selected_page = &offline_page;
}
}
callback.Run(selected_page);
@@ -111,7 +119,10 @@ void OfflinePageUtils::SelectPageForOnlineURL(
}
offline_page_model->GetPagesByOnlineURL(
- online_url, base::Bind(&OnGetPagesByOnlineURLDone, tab_id, callback));
+ online_url, base::Bind(&OnGetPagesByOnlineURLDone, tab_id,
+ offline_page_model->GetPolicyController()
+ ->GetNamespacesRestrictedToOriginalTab(),
+ callback));
}
// static
« no previous file with comments | « no previous file | components/offline_pages/client_policy_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698