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

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

Issue 2713013002: Track original URL when downloading a redirected page (Closed)
Patch Set: Update BUILD.gn to fix DEP check in analyze 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/prerendering_offliner.h" 5 #include "chrome/browser/android/offline_pages/prerendering_offliner.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/sys_info.h" 9 #include "base/sys_info.h"
10 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" 10 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 std::unique_ptr<OfflinePageArchiver> archiver( 80 std::unique_ptr<OfflinePageArchiver> archiver(
81 new OfflinePageMHTMLArchiver(web_contents)); 81 new OfflinePageMHTMLArchiver(web_contents));
82 82
83 OfflinePageModel::SavePageParams save_page_params; 83 OfflinePageModel::SavePageParams save_page_params;
84 save_page_params.url = web_contents->GetLastCommittedURL(); 84 save_page_params.url = web_contents->GetLastCommittedURL();
85 save_page_params.client_id = request.client_id(); 85 save_page_params.client_id = request.client_id();
86 save_page_params.proposed_offline_id = request.request_id(); 86 save_page_params.proposed_offline_id = request.request_id();
87 save_page_params.is_background = true; 87 save_page_params.is_background = true;
88 // Pass in the original URL if it is different from the last committed URL 88 // Pass in the original URL if it is different from the last committed URL
89 // when redirects occur. 89 // when redirects occur.
90 if (save_page_params.url != request.url()) 90 if (!request.original_url().is_empty())
91 save_page_params.original_url = request.original_url();
92 else if (save_page_params.url != request.url())
91 save_page_params.original_url = request.url(); 93 save_page_params.original_url = request.url();
92 94
93 SavePage(save_page_params, std::move(archiver), 95 SavePage(save_page_params, std::move(archiver),
94 base::Bind(&PrerenderingOffliner::OnSavePageDone, 96 base::Bind(&PrerenderingOffliner::OnSavePageDone,
95 weak_ptr_factory_.GetWeakPtr(), request)); 97 weak_ptr_factory_.GetWeakPtr(), request));
96 } else { 98 } else {
97 // Clear pending request and app listener then run completion callback. 99 // Clear pending request and app listener then run completion callback.
98 pending_request_.reset(nullptr); 100 pending_request_.reset(nullptr);
99 app_listener_.reset(nullptr); 101 app_listener_.reset(nullptr);
100 completion_callback_.Run(request, load_status); 102 completion_callback_.Run(request, load_status);
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES) { 276 base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES) {
275 DVLOG(1) << "App became active, canceling current offlining request"; 277 DVLOG(1) << "App became active, canceling current offlining request";
276 SavePageRequest* request = pending_request_.get(); 278 SavePageRequest* request = pending_request_.get();
277 Cancel(); 279 Cancel();
278 completion_callback_.Run(*request, 280 completion_callback_.Run(*request,
279 Offliner::RequestStatus::FOREGROUND_CANCELED); 281 Offliner::RequestStatus::FOREGROUND_CANCELED);
280 } 282 }
281 } 283 }
282 284
283 } // namespace offline_pages 285 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698