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

Side by Side Diff: chrome/browser/android/offline_pages/offline_page_bridge.cc

Issue 2705323006: Last_n: Do not save a snapshot of a closing tab. (Closed)
Patch Set: Rebase after base change landed. Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/offline_pages/offline_page_bridge.h" 5 #include "chrome/browser/android/offline_pages/offline_page_bridge.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/android/callback_android.h" 13 #include "base/android/callback_android.h"
14 #include "base/android/jni_android.h" 14 #include "base/android/jni_android.h"
15 #include "base/android/jni_array.h" 15 #include "base/android/jni_array.h"
16 #include "base/android/jni_string.h" 16 #include "base/android/jni_string.h"
17 #include "base/bind.h" 17 #include "base/bind.h"
18 #include "base/logging.h" 18 #include "base/logging.h"
19 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" 19 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h"
20 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" 20 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
21 #include "chrome/browser/android/offline_pages/offline_page_utils.h" 21 #include "chrome/browser/android/offline_pages/offline_page_utils.h"
22 #include "chrome/browser/android/offline_pages/recent_tab_helper.h"
22 #include "chrome/browser/android/offline_pages/request_coordinator_factory.h" 23 #include "chrome/browser/android/offline_pages/request_coordinator_factory.h"
23 #include "chrome/browser/profiles/profile.h" 24 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/profiles/profile_android.h" 25 #include "chrome/browser/profiles/profile_android.h"
25 #include "components/offline_pages/core/background/request_coordinator.h" 26 #include "components/offline_pages/core/background/request_coordinator.h"
26 #include "components/offline_pages/core/background/request_queue_results.h" 27 #include "components/offline_pages/core/background/request_queue_results.h"
27 #include "components/offline_pages/core/background/save_page_request.h" 28 #include "components/offline_pages/core/background/save_page_request.h"
28 #include "components/offline_pages/core/offline_page_feature.h" 29 #include "components/offline_pages/core/offline_page_feature.h"
29 #include "components/offline_pages/core/offline_page_item.h" 30 #include "components/offline_pages/core/offline_page_item.h"
30 #include "components/offline_pages/core/offline_page_model.h" 31 #include "components/offline_pages/core/offline_page_model.h"
31 #include "components/offline_pages/core/recent_tabs/recent_tabs_ui_adapter_deleg ate.h" 32 #include "components/offline_pages/core/recent_tabs/recent_tabs_ui_adapter_deleg ate.h"
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 RequestCoordinator* request_coordinator = 580 RequestCoordinator* request_coordinator =
580 RequestCoordinatorFactory::GetForBrowserContext(browser_context_); 581 RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
581 582
582 RecentTabsUIAdapterDelegate* ui_adapter_delegate = 583 RecentTabsUIAdapterDelegate* ui_adapter_delegate =
583 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter( 584 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
584 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter( 585 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
585 offline_page_model_, request_coordinator)); 586 offline_page_model_, request_coordinator));
586 ui_adapter_delegate->RegisterTab(tab_id); 587 ui_adapter_delegate->RegisterTab(tab_id);
587 } 588 }
588 589
590 void OfflinePageBridge::WillCloseTab(
591 JNIEnv* env,
592 const JavaParamRef<jobject>& obj,
593 const JavaParamRef<jobject>& j_web_contents) {
594 DCHECK(j_web_contents);
595 content::WebContents* web_contents =
596 content::WebContents::FromJavaWebContents(j_web_contents);
597 DCHECK(web_contents);
598 if (!web_contents)
599 return;
600
601 RecentTabHelper* tab_helper = RecentTabHelper::FromWebContents(web_contents);
602 if (tab_helper)
603 tab_helper->WillCloseTab();
604 }
605
589 void OfflinePageBridge::UnregisterRecentTab(JNIEnv* env, 606 void OfflinePageBridge::UnregisterRecentTab(JNIEnv* env,
590 const JavaParamRef<jobject>& obj, 607 const JavaParamRef<jobject>& obj,
591 int tab_id) { 608 int tab_id) {
592 RequestCoordinator* request_coordinator = 609 RequestCoordinator* request_coordinator =
593 RequestCoordinatorFactory::GetForBrowserContext(browser_context_); 610 RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
594 611
595 RecentTabsUIAdapterDelegate* ui_adapter_delegate = 612 RecentTabsUIAdapterDelegate* ui_adapter_delegate =
596 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter( 613 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
597 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter( 614 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
598 offline_page_model_, request_coordinator)); 615 offline_page_model_, request_coordinator));
(...skipping 15 matching lines...) Expand all
614 env, ConvertUTF8ToJavaString(env, client_id.name_space), 631 env, ConvertUTF8ToJavaString(env, client_id.name_space),
615 ConvertUTF8ToJavaString(env, client_id.id)); 632 ConvertUTF8ToJavaString(env, client_id.id));
616 } 633 }
617 634
618 bool RegisterOfflinePageBridge(JNIEnv* env) { 635 bool RegisterOfflinePageBridge(JNIEnv* env) {
619 return RegisterNativesImpl(env); 636 return RegisterNativesImpl(env);
620 } 637 }
621 638
622 } // namespace android 639 } // namespace android
623 } // namespace offline_pages 640 } // namespace offline_pages
OLDNEW
« no previous file with comments | « chrome/browser/android/offline_pages/offline_page_bridge.h ('k') | chrome/browser/android/offline_pages/recent_tab_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698