-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[focus] Import fennec error page (mozilla-mobile/focus-android#33)
All the JS code has been removed, we'll be doing string substitutions on the java side. (The alternative would be to write a java based resources wrapper that we can then stuff into JS - that seems unnecessarily complicated.)
- Loading branch information
Showing
2 changed files
with
265 additions
and
0 deletions.
There are no files selected for viewing
38 changes: 38 additions & 0 deletions
38
mobile/android/focus-android/app/src/main/res/raw/errorpage.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE html> | ||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | ||
- License, v. 2.0. If a copy of the MPL was not distributed with this | ||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | ||
|
||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<meta name="viewport" content="width=device-width; user-scalable=false;" /> | ||
<title>%pageTitle%</title> | ||
<style>%css%</style> | ||
</head> | ||
|
||
<body id="errorPage" dir="ltr"> | ||
<!-- PAGE CONTAINER (for styling purposes only) --> | ||
<div id="errorPageContainer"> | ||
|
||
<!-- Error Title --> | ||
<div id="errorTitle"> | ||
<h1 id="et_dnsNotFound" class="errorTitleText">%messageShort%</h1> | ||
</div> | ||
|
||
<!-- LONG CONTENT (the section most likely to require scrolling) --> | ||
<div id="errorLongContent"> | ||
|
||
<!-- Short Description --> | ||
<div id="errorShortDesc"> | ||
<p id="errorShortDescText">%messageLong%</p> | ||
</div> | ||
|
||
</div> | ||
|
||
<!-- Retry Button --> | ||
<button id="errorTryAgain" onclick="window.location.reload()">%button%</button> | ||
|
||
</div> | ||
</body> | ||
</html> |
227 changes: 227 additions & 0 deletions
227
mobile/android/focus-android/app/src/main/res/raw/errorpage_style.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,227 @@ | ||
/* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | ||
|
||
html, | ||
body { | ||
margin: 0; | ||
padding: 0; | ||
height: 100%; | ||
--moz-vertical-spacing: 10px; | ||
--moz-background-height: 32px; | ||
} | ||
|
||
body { | ||
/* Add a set of stripes at the top of pages */ | ||
background-image: linear-gradient(-45deg, #dfe8ee, #dfe8ee 33%, | ||
#ecf0f3 33%, #ecf0f3 66%, | ||
#dfe8ee 66%, #dfe8ee); | ||
background-size: 64px var(--moz-background-height); | ||
/* background-size: 64px 32px; */ | ||
background-repeat: repeat-x; | ||
|
||
background-color: #f1f1f1; | ||
padding: 0 20px; | ||
|
||
font-weight: 300; | ||
font-size: 13px; | ||
-moz-text-size-adjust: none; | ||
font-family: sans-serif; | ||
} | ||
|
||
|
||
ul { | ||
/* Shove the list indicator so that its left aligned, but use outside so that text | ||
* doesn't don't wrap the text around it */ | ||
padding: 0 1em; | ||
margin: 0; | ||
list-style: round outside none; | ||
} | ||
|
||
#errorShortDesc, | ||
li:not(:last-of-type) { | ||
/* Margins between the li and buttons below it won't be collapsed. Remove the bottom margin here. */ | ||
margin: var(--moz-vertical-spacing) 0; | ||
} | ||
|
||
li > button { | ||
/* Removing the normal padding on the li so this stretched edge to edge. */ | ||
margin-left: -1em; | ||
margin-right: -1em; | ||
width: calc(100% + 2em); | ||
} | ||
|
||
/* Push the #ignoreWarningButton to the bottom on the blocked site page */ | ||
.blockedsite > #errorPageContainer > #errorLongContent { | ||
flex: 1; | ||
} | ||
|
||
h1 { | ||
margin: 0; | ||
/* Since this has an underline, use padding for vertical spacing rather than margin */ | ||
padding: var(--moz-vertical-spacing) 0; | ||
font-weight: 300; | ||
border-bottom: 1px solid #e0e2e5; | ||
} | ||
|
||
h2 { | ||
font-size: small; | ||
padding: 0; | ||
margin: var(--moz-vertical-spacing) 0; | ||
} | ||
|
||
p { | ||
margin: var(--moz-vertical-spacing) 0; | ||
} | ||
|
||
button { | ||
/* Force buttons to display: block here to try and enfoce collapsing margins */ | ||
display: block; | ||
width: 100%; | ||
border: none; | ||
padding: 1rem; | ||
font-family: sans-serif; | ||
background-color: #e0e2e5; | ||
font-weight: 300; | ||
border-radius: 2px; | ||
background-image: none; | ||
margin: var(--moz-vertical-spacing) 0 0; | ||
} | ||
|
||
button.inProgress { | ||
background-image: linear-gradient(-45deg, #dfe8ee, #dfe8ee 33%, | ||
#ecf0f3 33%, #ecf0f3 66%, | ||
#dfe8ee 66%, #dfe8ee); | ||
background-size: 37px 5px; | ||
background-repeat: repeat-x; | ||
animation: progress 6s linear infinite; | ||
} | ||
|
||
@keyframes progress { | ||
from { background-position: 0 100%; } | ||
to { background-position: 100% 100%; } | ||
} | ||
|
||
.certerror { | ||
background-image: linear-gradient(-45deg, #f0d000, #f0d000 33%, | ||
#fedc00 33%, #fedc00 66%, | ||
#f0d000 66%, #f0d000); | ||
} | ||
|
||
.blockedsite { | ||
background-image: linear-gradient(-45deg, #9b2e2e, #9b2e2e 33%, | ||
#a83232 33%, #a83232 66%, | ||
#9b2e2e 66%, #9b2e2e); | ||
background-color: #b14646; | ||
color: white; | ||
} | ||
|
||
#errorPageContainer { | ||
/* If the page is greater than 550px center the content. | ||
* This number should be kept in sync with the media query for tablets below */ | ||
max-width: 550px; | ||
margin: 0 auto; | ||
transform: translateY(var(--moz-background-height)); | ||
padding-bottom: var(--moz-vertical-spacing); | ||
|
||
min-height: calc(100% - var(--moz-background-height) - var(--moz-vertical-spacing)); | ||
display: flex; | ||
flex-direction: column; | ||
} | ||
|
||
/* Expanders have a structure of | ||
* <div collapsed="true/false"> | ||
* <h2 class="expander">Title</h2> | ||
* <p>Content</p> | ||
* </div> | ||
* | ||
* This shows an arrow to the right of the h2 element, and hides the content when collapsed="true". */ | ||
.expander { | ||
margin: var(--moz-vertical-spacing) 0; | ||
background-image: url("chrome://browser/skin/images/dropmarker.svg"); | ||
background-repeat: no-repeat; | ||
/* dropmarker.svg is 10x7. Ensure that its centered in the middle of an 18x18 box */ | ||
background-position: 3px 5.5px; | ||
background-size: 10px 7px; | ||
padding-left: 18px; | ||
} | ||
|
||
div[collapsed="true"] > .expander { | ||
background-image: url("chrome://browser/skin/images/dropmarker-right.svg"); | ||
/* dropmarker.svg is 7x10. Ensure that its centered in the middle of an 18x18 box */ | ||
background-size: 7px 10px; | ||
background-position: 5.5px 4px; | ||
} | ||
|
||
div[hidden] > .expander, | ||
div[hidden] > .expander + *, | ||
div[collapsed="true"] > .expander + * { | ||
display: none; | ||
} | ||
|
||
.blockedsite h1 { | ||
border-bottom-color: #9b2e2e; | ||
} | ||
|
||
.blockedsite button { | ||
background-color: #9b2e2e; | ||
color: white; | ||
} | ||
|
||
/* Style warning button to look like a small text link in the | ||
bottom. This is preferable to just using a text link | ||
since there is already a mechanism in browser.js for trapping | ||
oncommand events from unprivileged chrome pages (ErrorPageEventHandler).*/ | ||
#ignoreWarningButton { | ||
width: calc(100% + 40px); | ||
-moz-appearance: none; | ||
background: #b14646; | ||
border: none; | ||
text-decoration: underline; | ||
margin: 0; | ||
margin-inline-start: -20px; | ||
font-size: smaller; | ||
border-radius: 0; | ||
} | ||
|
||
/* On large screen devices (hopefully a 7+ inch tablet, we already center content (see #errorPageContainer above). | ||
Apply tablet specific styles here */ | ||
@media (min-width: 550px) { | ||
button { | ||
min-width: 160px; | ||
width: auto; | ||
} | ||
|
||
/* If the tablet is tall as well, add some padding to make content feel a bit more centered */ | ||
@media (min-height: 550px) { | ||
#errorPageContainer { | ||
padding-top: 64px; | ||
min-height: calc(100% - 64px); | ||
} | ||
} | ||
} | ||
|
||
#searchbox { | ||
padding: 0; | ||
display: flex; | ||
margin: var(--moz-vertical-spacing) -1em; | ||
} | ||
|
||
#searchbox > input { | ||
flex: 3; | ||
padding: 0em 3em 0em 1em; | ||
width: 100%; | ||
border: none; | ||
font-family: sans-serif; | ||
background-image: none; | ||
background-color: white; | ||
border-radius-top-right: none; | ||
border-radius-bottom-right: none; | ||
} | ||
|
||
#searchbox > button { | ||
flex: 1; | ||
margin: 0; | ||
width: auto; | ||
} | ||
|