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

Side by Side Diff: chrome/renderer/net/net_error_helper.cc

Issue 961443002: Three way experiment for "Show saved copy" button. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: histograms fix Created 5 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
« no previous file with comments | « chrome/renderer/net/net_error_helper.h ('k') | chrome/renderer/net/net_error_page_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/renderer/net/net_error_helper.h" 5 #include "chrome/renderer/net/net_error_helper.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 } 89 }
90 90
91 NetErrorHelper::~NetErrorHelper() { 91 NetErrorHelper::~NetErrorHelper() {
92 RenderThread::Get()->RemoveObserver(this); 92 RenderThread::Get()->RemoveObserver(this);
93 } 93 }
94 94
95 void NetErrorHelper::ReloadButtonPressed() { 95 void NetErrorHelper::ReloadButtonPressed() {
96 core_->ExecuteButtonPress(NetErrorHelperCore::RELOAD_BUTTON); 96 core_->ExecuteButtonPress(NetErrorHelperCore::RELOAD_BUTTON);
97 } 97 }
98 98
99 void NetErrorHelper::LoadStaleButtonPressed() { 99 void NetErrorHelper::ShowSavedCopyButtonPressed() {
100 core_->ExecuteButtonPress(NetErrorHelperCore::LOAD_STALE_BUTTON); 100 core_->ExecuteButtonPress(NetErrorHelperCore::SHOW_SAVED_COPY_BUTTON);
101 } 101 }
102 102
103 void NetErrorHelper::MoreButtonPressed() { 103 void NetErrorHelper::MoreButtonPressed() {
104 core_->ExecuteButtonPress(NetErrorHelperCore::MORE_BUTTON); 104 core_->ExecuteButtonPress(NetErrorHelperCore::MORE_BUTTON);
105 } 105 }
106 106
107 void NetErrorHelper::DidStartProvisionalLoad() { 107 void NetErrorHelper::DidStartProvisionalLoad() {
108 blink::WebFrame* frame = render_frame()->GetWebFrame(); 108 blink::WebFrame* frame = render_frame()->GetWebFrame();
109 core_->OnStartLoad(GetFrameType(frame), GetLoadingPageType(frame)); 109 core_->OnStartLoad(GetFrameType(frame), GetLoadingPageType(frame));
110 } 110 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 164
165 void NetErrorHelper::TrackClick(int tracking_id) { 165 void NetErrorHelper::TrackClick(int tracking_id) {
166 core_->TrackClick(tracking_id); 166 core_->TrackClick(tracking_id);
167 } 167 }
168 168
169 void NetErrorHelper::GenerateLocalizedErrorPage( 169 void NetErrorHelper::GenerateLocalizedErrorPage(
170 const blink::WebURLError& error, 170 const blink::WebURLError& error,
171 bool is_failed_post, 171 bool is_failed_post,
172 scoped_ptr<ErrorPageParams> params, 172 scoped_ptr<ErrorPageParams> params,
173 bool* reload_button_shown, 173 bool* reload_button_shown,
174 bool* load_stale_button_shown, 174 bool* show_saved_copy_button_shown,
175 std::string* error_html) const { 175 std::string* error_html) const {
176 error_html->clear(); 176 error_html->clear();
177 177
178 int resource_id = IDR_NET_ERROR_HTML; 178 int resource_id = IDR_NET_ERROR_HTML;
179 const base::StringPiece template_html( 179 const base::StringPiece template_html(
180 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id)); 180 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id));
181 if (template_html.empty()) { 181 if (template_html.empty()) {
182 NOTREACHED() << "unable to load template."; 182 NOTREACHED() << "unable to load template.";
183 } else { 183 } else {
184 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
185 bool load_stale_cache_enabled =
186 command_line->HasSwitch(switches::kEnableOfflineLoadStaleCache);
187
188 base::DictionaryValue error_strings; 184 base::DictionaryValue error_strings;
189 LocalizedError::GetStrings(error.reason, error.domain.utf8(), 185 LocalizedError::GetStrings(error.reason, error.domain.utf8(),
190 error.unreachableURL, is_failed_post, 186 error.unreachableURL, is_failed_post,
191 (load_stale_cache_enabled && 187 error.staleCopyInCache,
192 error.staleCopyInCache && !is_failed_post),
193 RenderThread::Get()->GetLocale(), 188 RenderThread::Get()->GetLocale(),
194 render_frame()->GetRenderView()-> 189 render_frame()->GetRenderView()->
195 GetAcceptLanguages(), 190 GetAcceptLanguages(),
196 params.Pass(), &error_strings); 191 params.Pass(), &error_strings);
197 *reload_button_shown = error_strings.Get("reloadButton", NULL); 192 *reload_button_shown = error_strings.Get("reloadButton", NULL);
198 *load_stale_button_shown = error_strings.Get("staleLoadButton", NULL); 193 *show_saved_copy_button_shown =
194 error_strings.Get("showSavedCopyButton", NULL);
199 195
200 // "t" is the id of the template's root node. 196 // "t" is the id of the template's root node.
201 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t"); 197 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, "t");
202 } 198 }
203 } 199 }
204 200
205 void NetErrorHelper::LoadErrorPageInMainFrame(const std::string& html, 201 void NetErrorHelper::LoadErrorPageInMainFrame(const std::string& html,
206 const GURL& failed_url) { 202 const GURL& failed_url) {
207 blink::WebView* web_view = render_frame()->GetRenderView()->GetWebView(); 203 blink::WebView* web_view = render_frame()->GetRenderView()->GetWebView();
208 if (!web_view) 204 if (!web_view)
209 return; 205 return;
210 blink::WebFrame* frame = web_view->mainFrame(); 206 blink::WebFrame* frame = web_view->mainFrame();
211 frame->loadHTMLString(html, GURL(kUnreachableWebDataURL), failed_url, true); 207 frame->loadHTMLString(html, GURL(kUnreachableWebDataURL), failed_url, true);
212 } 208 }
213 209
214 void NetErrorHelper::EnablePageHelperFunctions() { 210 void NetErrorHelper::EnablePageHelperFunctions() {
215 NetErrorPageController::Install(render_frame()); 211 NetErrorPageController::Install(render_frame());
216 } 212 }
217 213
218 void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error, 214 void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error,
219 bool is_failed_post) { 215 bool is_failed_post) {
220 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
221 bool load_stale_cache_enabled =
222 command_line->HasSwitch(switches::kEnableOfflineLoadStaleCache);
223
224 base::DictionaryValue error_strings; 216 base::DictionaryValue error_strings;
225 LocalizedError::GetStrings(error.reason, 217 LocalizedError::GetStrings(error.reason,
226 error.domain.utf8(), 218 error.domain.utf8(),
227 error.unreachableURL, 219 error.unreachableURL,
228 is_failed_post, 220 is_failed_post,
229 (load_stale_cache_enabled && 221 error.staleCopyInCache,
230 error.staleCopyInCache && !is_failed_post),
231 RenderThread::Get()->GetLocale(), 222 RenderThread::Get()->GetLocale(),
232 render_frame()->GetRenderView()-> 223 render_frame()->GetRenderView()->
233 GetAcceptLanguages(), 224 GetAcceptLanguages(),
234 scoped_ptr<ErrorPageParams>(), 225 scoped_ptr<ErrorPageParams>(),
235 &error_strings); 226 &error_strings);
236 227
237 std::string json; 228 std::string json;
238 JSONWriter::Write(&error_strings, &json); 229 JSONWriter::Write(&error_strings, &json);
239 230
240 std::string js = "if (window.updateForDnsProbe) " 231 std::string js = "if (window.updateForDnsProbe) "
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 success ? data : "", 338 success ? data : "",
348 render_frame()->GetRenderView()->GetAcceptLanguages(), 339 render_frame()->GetRenderView()->GetAcceptLanguages(),
349 base::i18n::IsRTL()); 340 base::i18n::IsRTL());
350 } 341 }
351 342
352 void NetErrorHelper::OnTrackingRequestComplete( 343 void NetErrorHelper::OnTrackingRequestComplete(
353 const blink::WebURLResponse& response, 344 const blink::WebURLResponse& response,
354 const std::string& data) { 345 const std::string& data) {
355 tracking_fetcher_.reset(); 346 tracking_fetcher_.reset();
356 } 347 }
OLDNEW
« no previous file with comments | « chrome/renderer/net/net_error_helper.h ('k') | chrome/renderer/net/net_error_page_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698