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

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

Issue 2711693002: [Offline Pages] Make prerenderer notify us of network progress. (Closed)
Patch Set: last minute fixes 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/prerendering_offliner.cc
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.cc b/chrome/browser/android/offline_pages/prerendering_offliner.cc
index 31c0813bdb86721bd1922114781bf64ee9d8547a..5ceaf65abb73b74ad687d0f6a7122477991bb41d 100644
--- a/chrome/browser/android/offline_pages/prerendering_offliner.cc
+++ b/chrome/browser/android/offline_pages/prerendering_offliner.cc
@@ -12,11 +12,15 @@
#include "chrome/browser/profiles/profile.h"
#include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/client_namespace_constants.h"
+#include "components/offline_pages/core/downloads/download_ui_adapter.h"
#include "components/offline_pages/core/offline_page_model.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
namespace offline_pages {
+namespace {
+const char kDownloadUIAdapterKey[] = "download-ui-adapter";
Dmitry Titov 2017/02/25 00:17:19 Apparently, this doesn't work since the GetUserDat
+}
PrerenderingOffliner::PrerenderingOffliner(
content::BrowserContext* browser_context,
@@ -31,6 +35,20 @@ PrerenderingOffliner::PrerenderingOffliner(
PrerenderingOffliner::~PrerenderingOffliner() {}
+void PrerenderingOffliner::OnNetworkProgress(const SavePageRequest& request,
+ int64_t bytes) {
+ if (!pending_request_)
+ return;
+
+ DownloadUIAdapter* ui_adapter = static_cast<DownloadUIAdapter*>(
+ offline_page_model_->GetUserData(kDownloadUIAdapterKey));
+
+ if (!ui_adapter)
+ return;
+
+ ui_adapter->UpdateProgress(request.request_id(), bytes);
+}
+
void PrerenderingOffliner::OnLoadPageDone(
const SavePageRequest& request,
Offliner::RequestStatus load_status,
@@ -178,7 +196,9 @@ bool PrerenderingOffliner::LoadAndSave(const SavePageRequest& request,
// Kick off load page attempt.
bool accepted = GetOrCreateLoader()->LoadPage(
request.url(), base::Bind(&PrerenderingOffliner::OnLoadPageDone,
- weak_ptr_factory_.GetWeakPtr(), request));
+ weak_ptr_factory_.GetWeakPtr(), request),
+ base::Bind(&PrerenderingOffliner::OnNetworkProgress,
+ weak_ptr_factory_.GetWeakPtr(), request));
if (!accepted) {
pending_request_.reset(nullptr);
} else {

Powered by Google App Engine
This is Rietveld 408576698