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

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: Minor comment changes. 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 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 RequestCoordinator* request_coordinator = 577 RequestCoordinator* request_coordinator =
577 RequestCoordinatorFactory::GetForBrowserContext(browser_context_); 578 RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
578 579
579 RecentTabsUIAdapterDelegate* ui_adapter_delegate = 580 RecentTabsUIAdapterDelegate* ui_adapter_delegate =
580 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter( 581 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
581 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter( 582 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
582 offline_page_model_, request_coordinator)); 583 offline_page_model_, request_coordinator));
583 ui_adapter_delegate->RegisterTab(tab_id); 584 ui_adapter_delegate->RegisterTab(tab_id);
584 } 585 }
585 586
587 void OfflinePageBridge::WillCloseTab(
588 JNIEnv* env,
589 const JavaParamRef<jobject>& obj,
590 const JavaParamRef<jobject>& j_web_contents) {
591 DCHECK(j_web_contents);
592 content::WebContents* web_contents =
593 content::WebContents::FromJavaWebContents(j_web_contents);
594 DCHECK(web_contents);
595 if (!web_contents)
596 return;
597
598 RecentTabHelper* tab_helper = RecentTabHelper::FromWebContents(web_contents);
599 if (tab_helper)
600 tab_helper->WillCloseTab();
601 }
602
586 void OfflinePageBridge::UnregisterRecentTab(JNIEnv* env, 603 void OfflinePageBridge::UnregisterRecentTab(JNIEnv* env,
587 const JavaParamRef<jobject>& obj, 604 const JavaParamRef<jobject>& obj,
588 int tab_id) { 605 int tab_id) {
589 RequestCoordinator* request_coordinator = 606 RequestCoordinator* request_coordinator =
590 RequestCoordinatorFactory::GetForBrowserContext(browser_context_); 607 RequestCoordinatorFactory::GetForBrowserContext(browser_context_);
591 608
592 RecentTabsUIAdapterDelegate* ui_adapter_delegate = 609 RecentTabsUIAdapterDelegate* ui_adapter_delegate =
593 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter( 610 RecentTabsUIAdapterDelegate::FromDownloadUIAdapter(
594 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter( 611 RecentTabsUIAdapterDelegate::GetOrCreateRecentTabsUIAdapter(
595 offline_page_model_, request_coordinator)); 612 offline_page_model_, request_coordinator));
(...skipping 15 matching lines...) Expand all
611 env, ConvertUTF8ToJavaString(env, client_id.name_space), 628 env, ConvertUTF8ToJavaString(env, client_id.name_space),
612 ConvertUTF8ToJavaString(env, client_id.id)); 629 ConvertUTF8ToJavaString(env, client_id.id));
613 } 630 }
614 631
615 bool RegisterOfflinePageBridge(JNIEnv* env) { 632 bool RegisterOfflinePageBridge(JNIEnv* env) {
616 return RegisterNativesImpl(env); 633 return RegisterNativesImpl(env);
617 } 634 }
618 635
619 } // namespace android 636 } // namespace android
620 } // namespace offline_pages 637 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698