Commit 992fabdc authored by Cathy Li's avatar Cathy Li Committed by Commit Bot

[Offline pages]: Show a different set of download button sets and styles based on experiment flag.

Change-Id: I1aacf702cc4b2247179c97ab393f141090cd8940
Reviewed-on: https://chromium-review.googlesource.com/1009484
Commit-Queue: Cathy Li <chili@chromium.org>
Reviewed-by: default avatarPeter Williamson <petewil@chromium.org>
Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551541}
parent af44f46e
...@@ -38,6 +38,10 @@ ...@@ -38,6 +38,10 @@
#include "base/win/windows_version.h" #include "base/win/windows_version.h"
#endif #endif
#if defined(OS_ANDROID)
#include "components/offline_pages/core/offline_page_feature.h"
#endif
namespace error_page { namespace error_page {
namespace { namespace {
...@@ -1060,15 +1064,21 @@ void LocalizedError::GetStrings( ...@@ -1060,15 +1064,21 @@ void LocalizedError::GetStrings(
!is_incognito && failed_url.is_valid() && !is_incognito && failed_url.is_valid() &&
failed_url.SchemeIsHTTPOrHTTPS() && failed_url.SchemeIsHTTPOrHTTPS() &&
IsSuggested(options.suggestions, SUGGEST_OFFLINE_CHECKS)) { IsSuggested(options.suggestions, SUGGEST_OFFLINE_CHECKS)) {
std::unique_ptr<base::DictionaryValue> download_button = error_strings->SetPath(
std::make_unique<base::DictionaryValue>(); {"downloadButton", "msg"},
download_button->SetString( base::Value(l10n_util::GetStringUTF16(IDS_ERRORPAGES_BUTTON_DOWNLOAD)));
"msg", error_strings->SetPath({"downloadButton", "disabledMsg"},
l10n_util::GetStringUTF16(IDS_ERRORPAGES_BUTTON_DOWNLOAD)); base::Value(l10n_util::GetStringUTF16(
download_button->SetString( IDS_ERRORPAGES_BUTTON_DOWNLOADING)));
"disabledMsg",
l10n_util::GetStringUTF16(IDS_ERRORPAGES_BUTTON_DOWNLOADING)); if (offline_pages::ShouldShowAlternateDinoPage()) {
error_strings->Set("downloadButton", std::move(download_button)); // Under the experiment, we will show a disabled reload button
// in addition to an enabled download button.
error_strings->SetPath(
{"reloadButton", "msg"},
base::Value(l10n_util::GetStringUTF16(IDS_ERRORPAGES_BUTTON_RELOAD)));
error_strings->SetKey("alternateDownloadButtonStyle", base::Value(true));
}
} }
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
} }
......
...@@ -341,11 +341,15 @@ html[subframe] body { ...@@ -341,11 +341,15 @@ html[subframe] body {
/* download-button shows both icon and text. */ /* download-button shows both icon and text. */
#download-button { #download-button {
height: 48px;
}
.download-button {
box-shadow: none; box-shadow: none;
position: relative; position: relative;
} }
#download-button:before { .download-button:before {
-webkit-margin-end: 4px; -webkit-margin-end: 4px;
background: -webkit-image-set( background: -webkit-image-set(
url(../../resources/default_100_percent/neterror/download.png) 1x, url(../../resources/default_100_percent/neterror/download.png) 1x,
...@@ -358,11 +362,58 @@ html[subframe] body { ...@@ -358,11 +362,58 @@ html[subframe] body {
vertical-align: middle; vertical-align: middle;
} }
#download-button:disabled { .download-button:disabled {
background: rgb(180, 206, 249); background: rgb(180, 206, 249);
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
} }
/* Alternate dino page button styles */
#control-buttons .reload-button-alternate:disabled {
background: #ccc;
color: #fff;
font-size: 14px;
height: 48px;
}
/* Overriding default control button styles */
#control-buttons .download-button-alternate,
#control-buttons .download-button-alternate-disabled {
background: none;
box-shadow: none;
}
#control-buttons .download-button-alternate:active {
background: rgba(66, 133, 244, 0.12);
}
.download-button-alternate {
color: rgb(66, 133, 244);
}
.download-button-alternate:before {
-webkit-margin-end: 4px;
background: -webkit-image-set(
url(../../resources/default_100_percent/neterror/download_blue.png) 1x,
url(../../resources/default_200_percent/neterror/download_blue.png) 2x)
no-repeat;
content: '';
display: inline-block;
width: 24px;
height: 24px;
vertical-align: middle;
}
.download-button-alternate-disabled {
color: rgba(0, 0, 0, 0.38);
}
.download-button-alternate-disabled:before {
background: -webkit-image-set(
url(../../resources/default_100_percent/neterror/download_grey.png) 1x,
url(../../resources/default_200_percent/neterror/download_grey.png) 2x)
no-repeat;
}
#buttons::after { #buttons::after {
clear: both; clear: both;
content: ''; content: '';
......
...@@ -118,6 +118,9 @@ function downloadButtonClick() { ...@@ -118,6 +118,9 @@ function downloadButtonClick() {
if (window.errorPageController) { if (window.errorPageController) {
errorPageController.downloadButtonClick(); errorPageController.downloadButtonClick();
var downloadButton = document.getElementById('download-button'); var downloadButton = document.getElementById('download-button');
if (downloadButton.classList.contains('download-button-alternate')) {
downloadButton.classList.add('download-button-alternate-disabled');
}
downloadButton.disabled = true; downloadButton.disabled = true;
downloadButton.textContent = downloadButton.disabledText; downloadButton.textContent = downloadButton.disabledText;
} }
...@@ -199,6 +202,16 @@ function onDocumentLoad() { ...@@ -199,6 +202,16 @@ function onDocumentLoad() {
detailsButton.classList.add('singular'); detailsButton.classList.add('singular');
} }
// Check for customization of downloadButton style if it's visible.
if (downloadButtonVisible &&
loadTimeData.valueExists('alternateDownloadButtonStyle')) {
downloadButton.classList.add('download-button-alternate');
reloadButton.disabled = true;
reloadButton.classList.add('reload-button-alternate');
} else if (downloadButtonVisible) {
downloadButton.classList.add('download-button');
}
// Show control buttons. // Show control buttons.
if (reloadButtonVisible || showSavedCopyButtonVisible || if (reloadButtonVisible || showSavedCopyButtonVisible ||
downloadButtonVisible) { downloadButtonVisible) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment