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

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

Issue 2684973014: Only show Last N Pages in the UI when the corresponding tab is visible. (Closed)
Patch Set: Move impl out Created 3 years, 10 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
Index: chrome/browser/android/offline_pages/offline_page_bridge.cc
diff --git a/chrome/browser/android/offline_pages/offline_page_bridge.cc b/chrome/browser/android/offline_pages/offline_page_bridge.cc
index 2661b852181505c30741a3229c6ffd8d9c8515f9..99304607882d25de4125909ea391eab0899780a0 100644
--- a/chrome/browser/android/offline_pages/offline_page_bridge.cc
+++ b/chrome/browser/android/offline_pages/offline_page_bridge.cc
@@ -28,6 +28,7 @@
#include "components/offline_pages/core/offline_page_feature.h"
#include "components/offline_pages/core/offline_page_item.h"
#include "components/offline_pages/core/offline_page_model.h"
+#include "components/offline_pages/core/recent_tabs/recent_tabs_ui_adapter_delegate.h"
#include "components/offline_pages/core/request_header/offline_page_header.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
@@ -569,6 +570,32 @@ void OfflinePageBridge::RemoveRequestsFromQueue(
request_ids, base::Bind(&OnRemoveRequestsDone, j_callback_ref));
}
+void OfflinePageBridge::RegisterRecentTab(JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ int tab_id) {
+ RequestCoordinator* request_coordinator =
+ RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
+
+ RecentTabsUIAdapterDelegate* ui_adapter_delegate =
+ RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
+ RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
+ offline_page_model_, request_coordinator));
+ ui_adapter_delegate->RegisterTab(tab_id);
+}
+
+void OfflinePageBridge::UnregisterRecentTab(JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ int tab_id) {
+ RequestCoordinator* request_coordinator =
+ RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
+
+ RecentTabsUIAdapterDelegate* ui_adapter_delegate =
+ RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
+ RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
+ offline_page_model_, request_coordinator));
+ ui_adapter_delegate->UnregisterTab(tab_id);
+}
+
void OfflinePageBridge::NotifyIfDoneLoading() const {
if (!offline_page_model_->is_loaded())
return;

Powered by Google App Engine
This is Rietveld 408576698