diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-14 22:29:36 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-14 22:29:36 +0000 |
commit | 4212ccdaedaef19695b97411f1c9e18236f0906e (patch) | |
tree | b5d974420eb0ff429ea251fcf1ef3e785d2bb447 /chrome/browser/resources/flags.html | |
parent | a3decc81bc111808600ef9c54e85c3481d635d1a (diff) | |
download | chromium_src-4212ccdaedaef19695b97411f1c9e18236f0906e.zip chromium_src-4212ccdaedaef19695b97411f1c9e18236f0906e.tar.gz chromium_src-4212ccdaedaef19695b97411f1c9e18236f0906e.tar.bz2 |
about:flags, part 2/3
Rename labs.html to flags.html, use the new images.
BUG=59139
TEST=Go to about:flags. Notice new icons.
Review URL: http://codereview.chromium.org/3801005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62663 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/flags.html')
-rw-r--r-- | chrome/browser/resources/flags.html | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/chrome/browser/resources/flags.html b/chrome/browser/resources/flags.html new file mode 100644 index 0000000..92d43a7 --- /dev/null +++ b/chrome/browser/resources/flags.html @@ -0,0 +1,321 @@ +<!DOCTYPE HTML> +<html i18n-values="dir:textdirection;"> +<head> +<meta charset="utf-8"> +<style> +body { + margin: 10px; + min-width: 47em; +} + +a { + color: blue; + font-size: 103%; +} + +div#header { + margin-bottom: 1.05em; + /* 67px is the height of the header's background image. */ + min-height: 67px; + overflow: hidden; + padding-bottom: 20px; + padding-left: 0; + padding-top: 20px; + position: relative; + -webkit-box-sizing: border-box; +} + +html[dir=rtl] #header { + padding-right: 0; +} + +#header h1 { + background: url('../../app/theme/flags_section.png') 0px 20px no-repeat; + display: inline; + margin: 0; + padding-bottom: 43px; + padding-left: 75px; + padding-top: 40px; +} + +html[dir=rtl] #header h1 { + background: url('../../app/theme/flags_section.png') right no-repeat; + padding-right: 95px; + padding-left: 0; +} + +h1 { + font-size: 156%; + font-weight: bold; + padding: 0; + margin: 0; +} + +#blurb-container { + padding-bottom: 1.5em; + font-size: 120%; +} + +#blurb-warning { + color: red; + font-weight: bold; +} + +div.content { + font-size: 88%; + margin-top: 5px; +} + +.section-header { + background: #ebeff9; + border-top: 1px solid #b5c7de; + font-size: 99%; + padding-bottom: 2px; + padding-left: 5px; + padding-top: 3px; + width: 100%; +} + +html[dir=rtl] .section-header { + padding-right: 5px; + padding-left: 0; +} + +.section-header > table tr td:first-child { + width: 100%; +} + +.section-header > table { + width: 100%; +} + +.section-header-title { + font-weight: bold; +} + +.vbox-container { + display: -webkit-box; + -webkit-box-orient: vertical; +} + +.wbox { + display: -webkit-box; + -webkit-box-align: stretch; + -webkit-box-flex: 1; +} + +#top { + padding-right: 5px; +} + +html[dir=rtl] #top { + padding-left: 5px; + padding-right: 0; +} + +.experiment-enabled > td { + padding-bottom: 4px; + padding-top: 5px; +} + +.experiment { + border-bottom: 1px solid #cdcdcd; +} + +/* Indent the text related to each experiment. */ +.experiment-text { + padding-left: 5px; +} + +html[dir=rtl] .experiment-text { + padding-right: 5px; + padding-left: 0; +} + +.experiment-name { + font-weight: bold; +} + +.no-experiments { + margin: 6em 0 0; + text-align: center; + font-size: 1.2em; +} + +/* Match the indentation of .experiment-text. */ +.experiment-actions { + padding-left: 5px; + margin-top: 0.2em; + margin-bottom: 0.2em; +} + +html[dir=rtl] .experiment-actions { + padding-right: 5px; + padding-left: 0; +} + +div.needs-restart { + padding-top: 10px; + padding-left: 5px; +} + +button { + font-size: 104%; +} + +</style> +<script> + +/** + * This variable structure is here to document the structure that the template + * expects to correctly populate the page. + */ +var flagsExperimentsDataFormat = { + 'flagsExperiments': [ + { + 'internal_name': 'Experiment ID string', + 'name': 'Experiment Name', + 'description': 'description', + 'enabled': true + } + ], + 'needsRestart': false +}; + +/** + * Takes the |flagsExperimentsData| input argument which represents data about + * the currently available experiments and populates the html jstemplate + * with that data. It expects an object structure like the above. + * @param {Object} flagsExperimentsData Information about available experiments + */ +function renderTemplate(flagsExperimentsData) { + // This is the javascript code that processes the template: + var input = new JsEvalContext(flagsExperimentsData); + var output = document.getElementById('flagsExperimentTemplate'); + jstProcess(input, output); +} + +/** + * Asks the C++ LabsDOMHandler to get details about the available experiments + * and return detailed data about the configuration. The LabsDOMHandler + * should reply to returnFlagsExperiments() (below). + */ +function requestFlagsExperimentsData() { + chrome.send('requestFlagsExperiments', []); +} + +/** + * Asks the C++ LabsDOMHandler to restart the browser (restoring tabs). + */ +function restartBrowser() { + chrome.send('restartBrowser', []); +} + +/** + * Called by the dom_ui to re-populate the page with data representing the + * current state of installed experiments. + */ +function returnFlagsExperiments(flagsExperimentsData){ + var bodyContainer = document.getElementById('body-container'); + renderTemplate(flagsExperimentsData); + bodyContainer.style.visibility = 'visible'; +} + +/** + * Handles a 'enable' or 'disable' button getting clicked. + */ +function handleEnableExperiment(node, enable) { + // Tell the C++ LabsDOMHandler to enable/disable the experiment. + chrome.send('enableFlagsExperiment', [String(node.internal_name), + String(enable)]); + requestFlagsExperimentsData(); +} + +// Get data and have it displayed upon loading. +document.addEventListener('DOMContentLoaded', requestFlagsExperimentsData); + +</script> +</head> +<body i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize"> +<div id="body-container" style="visibility:hidden"> + + <div id="header"><h1 i18n-content="flagsLongTitle">TITLE</h1></div> + + <div id="blurb-container"> + <span id="blurb-warning" i18n-content="flagsWarningHeader">WARNING</span> + <span i18n-content="flagsBlurb">WARNING TEXT</span> + </div> + + <div id="flagsExperimentTemplate"> + + <div id="container" class="vbox-container"> + <div id="top" class="wbox"> + + <div class="section-header"> + <table cellpadding="0" cellspacing="0"><tr valign="center"> + <td> + <span class="section-header-title" i18n-content="flagsTableTitle" + >TITLE</span> + </td> + </tr></table> + </div> + + </div> + </div> + + <div class="content"> + <div class="experiment-name no-experiments" + jsdisplay="flagsExperiments.length === 0"> + <div i18n-content="flagsNoExperimentsAvailable" + >NO_EXPERIMENTS_ARE_AVAILABLE</div> + </div> + + <div jsdisplay="flagsExperiments.length > 0"> + <div class="experiment" jsselect="flagsExperiments"> + <table width="100%" cellpadding="2" cellspacing="0"> + <tr class="experiment-enabled"> + <td valign="top"> + <div class="experiment-text"> + <div> + <span class="experiment-name" dir="ltr" + jscontent="name">NAME</span> + <div> + <span dir="ltr" jsvalues=".innerHTML:description"> + </div> + </div> + </div> + <div class="experiment-actions"> + <span> + <a + jsvalues=".internal_name:internal_name" + jsdisplay="enabled" + onclick="handleEnableExperiment(this, false)" + href="javascript:void(0);" + i18n-content="disable" + >DISABLE</a> + <a + jsvalues=".internal_name:internal_name" + jsdisplay="!enabled" + onclick="handleEnableExperiment(this, true)" + href="javascript:void(0);" + i18n-content="enable" + >ENABLE</a> + </span> + </div> + </td> + </tr> + </table> + </div> + </div> + + <div class="needs-restart" jsdisplay="needsRestart"> + <div i18n-content="flagsRestartNotice">NEEDS_RESTART</div> + <button type="button" + onclick="restartBrowser();" + i18n-content="flagsRestartButton">RESTART</button> + </div> + </div> + </div> +</div> +</body> +</html> |