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

Side by Side Diff: appengine/chromium_build/templates/base.html

Issue 1951953002: Handle get parameters to merge in template/base (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 4 years, 7 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head> 4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 {% if reloadarg %} 6 {% if reloadarg %}
7 <meta http-equiv="refresh" content="{{ reloadarg }}" /> 7 <meta http-equiv="refresh" content="{{ reloadarg }}" />
8 {% endif %} 8 {% endif %}
9 <title>{{ title }}</title> 9 <title>{{ title }}</title>
10 <link rel="stylesheet" href="default.css" type="text/css" /> 10 <link rel="stylesheet" href="default.css" type="text/css" />
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 // like in an empty table cell. 71 // like in an empty table cell.
72 function checkMouseLeave(element, event) { 72 function checkMouseLeave(element, event) {
73 if (element.contains && event.toElement) { 73 if (element.contains && event.toElement) {
74 return !element.contains(event.toElement); 74 return !element.contains(event.toElement);
75 } 75 }
76 else if (event.relatedTarget) { 76 else if (event.relatedTarget) {
77 return !containsDOM(element, event.relatedTarget); 77 return !containsDOM(element, event.relatedTarget);
78 } 78 }
79 } 79 }
80 80
81 // Returns the value of a GET parameter, or null if it does not exist.
82 function readGetParameter(name) {
83 var begin = name + '=';
84 var data = location.search;
85 if (data === '') {
86 return null;
87 }
88 // Location starts with "?".
89 data = data.substr(1);
90 var parameters = data.split('&');
91 var foundElement = parameters.find( (parameter) => {
92 return parameter.indexOf(begin) == 0;
93 });
94 if (foundElement) {
95 return decodeURIComponent(foundElement.substr(begin.length));
96 }
97 return null;
98 }
99
81 // Creates a new cookie. 100 // Creates a new cookie.
82 function createCookie(name, value, day) { 101 function createCookie(name, value, day) {
83 var date = new Date(); 102 var date = new Date();
84 date.setTime(date.getTime() + (day * 24 * 60 * 60 * 1000)); 103 date.setTime(date.getTime() + (day * 24 * 60 * 60 * 1000));
85 var expires = "; expires=" + date.toGMTString(); 104 var expires = "; expires=" + date.toGMTString();
86 document.cookie = name + "=" + value+expires + "; path=/"; 105 document.cookie = name + "=" + value+expires + "; path=/";
87 } 106 }
88 107
89 // Returns the vaue of a cookie, or null if it does not exist. 108 // Returns the value of a cookie, or null if it does not exist.
90 function readCookie(name) { 109 function readCookie(name) {
91 var begin = name + "="; 110 var begin = name + "=";
92 var data = document.cookie.split(';'); 111 var data = document.cookie.split(';');
93 for(var i = 0; i < data.length; i++) { 112 for(var i = 0; i < data.length; i++) {
94 var cookie = data[i]; 113 var cookie = data[i];
95 while (cookie.charAt(0) == ' ') 114 while (cookie.charAt(0) == ' ')
96 cookie = cookie.substring(1, cookie.length); 115 cookie = cookie.substring(1, cookie.length);
97 if (cookie.indexOf(begin) == 0) 116 if (cookie.indexOf(begin) == 0)
98 return cookie.substring(begin.length, cookie.length); 117 return cookie.substring(begin.length, cookie.length);
99 } 118 }
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 eraseCookie('merged') 290 eraseCookie('merged')
272 291
273 // Display the "merge" button. 292 // Display the "merge" button.
274 document.querySelectorAll('.merge')[0].style.display = 'inline' 293 document.querySelectorAll('.merge')[0].style.display = 'inline'
275 294
276 // Hide the "unmerge" button. 295 // Hide the "unmerge" button.
277 document.querySelectorAll('.unmerge')[0].style.display = 'none' 296 document.querySelectorAll('.unmerge')[0].style.display = 'none'
278 } 297 }
279 298
280 function SetupView() { 299 function SetupView() {
300 // Allow override cookies with Get parameters.
301 var getMerged = readGetParameter('merged');
302 if (getMerged === 'true') {
303 createCookie('merged', 'true', 30);
304 }
305 if (getMerged === 'false') {
306 eraseCookie('merged');
307 }
308 var getCollapsed = readGetParameter('collapsed');
309 if (getCollapsed === 'true') {
310 createCookie('collapsed', 'true', 30);
311 }
312 if (getCollapsed === 'false') {
313 eraseCookie('collapsed');
314 }
315
281 if (readCookie('merged')) { 316 if (readCookie('merged')) {
282 merge(); 317 merge();
283 } else if (readCookie('collapsed')) { 318 } else if (readCookie('collapsed')) {
284 collapse(); 319 collapse();
285 } 320 }
286 } 321 }
287 322
288 document.addEventListener("DOMContentLoaded", SetupView, false); 323 document.addEventListener("DOMContentLoaded", SetupView, false);
289 324
290 // ]]> 325 // ]]>
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 - <a href="{{ offsite_base }}/json/help">JSON API</a> 363 - <a href="{{ offsite_base }}/json/help">JSON API</a>
329 - <a href="{{ offsite_base }}/about">About</a> 364 - <a href="{{ offsite_base }}/about">About</a>
330 </div> 365 </div>
331 366
332 <hr /> 367 <hr />
333 {% autoescape off %} 368 {% autoescape off %}
334 {{ content }} 369 {{ content }}
335 {% endautoescape %} 370 {% endautoescape %}
336 </body> 371 </body>
337 </html> 372 </html>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698