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

Unified Diff: components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc

Issue 830503004: Data Reduction Proxy blocking page and resources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@interstitalStep1
Patch Set: Add webui_resources.pak Created 5 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: components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc
diff --git a/components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc b/components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc
index e7c862520374a63a4a930c9747f078b09084d658..3189466a56af924f3bfb5a37d3fa8599a4d5577c 100644
--- a/components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc
+++ b/components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc
@@ -4,9 +4,12 @@
#include "components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.h"
+#include <vector>
+
#include "base/bind.h"
#include "base/single_thread_task_runner.h"
#include "base/time/time.h"
+#include "components/data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
@@ -29,9 +32,12 @@ DataReductionProxyDebugUIManager::BypassResource::~BypassResource() {
DataReductionProxyDebugUIManager::DataReductionProxyDebugUIManager(
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner,
- const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
+ const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner,
+ const std::string& app_locale)
: ui_task_runner_(ui_task_runner),
- io_task_runner_(io_task_runner) {
+ io_task_runner_(io_task_runner),
+ app_locale_(app_locale) {
+ DCHECK(!app_locale.empty());
}
DataReductionProxyDebugUIManager::~DataReductionProxyDebugUIManager() {
@@ -68,26 +74,34 @@ void DataReductionProxyDebugUIManager::DisplayBlockingPage(
if (IsTabClosed(resource)) {
// The tab is gone and there was not a chance to show the interstitial.
// Just act as if "Don't Proceed" were chosen.
+ std::vector<BypassResource> resources;
+ resources.push_back(resource);
io_task_runner_->PostTask(
FROM_HERE,
base::Bind(&DataReductionProxyDebugUIManager::OnBlockingPageDone,
- this, resource, false));
+ this, resources, false));
return;
}
- // TODO(megjablon): Show blocking page. For now, continue on to the page.
- io_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&DataReductionProxyDebugUIManager::OnBlockingPageDone,
- this, resource, true));
+ ShowBlockingPage(resource);
+}
+
+void DataReductionProxyDebugUIManager::ShowBlockingPage(
+ const BypassResource& resource) {
+ DataReductionProxyDebugBlockingPage::ShowBlockingPage(
+ this, io_task_runner_, resource, app_locale_);
}
void DataReductionProxyDebugUIManager::OnBlockingPageDone(
- const BypassResource& resource,
+ const std::vector<BypassResource>& resources,
bool proceed) {
DCHECK(io_task_runner_->BelongsToCurrentThread());
- if (!resource.callback.is_null())
- resource.callback.Run(proceed);
+ for (std::vector<BypassResource>::const_iterator iter = resources.begin();
+ iter != resources.end(); ++iter) {
+ const BypassResource& resource = *iter;
+ if (!resource.callback.is_null())
+ resource.callback.Run(proceed);
+ }
if (proceed)
blocking_page_last_shown_ = base::Time::Now();
}

Powered by Google App Engine
This is Rietveld 408576698