1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5function toggleHelpBox() { 6 var helpBoxOuter = document.getElementById('help-box-outer'); 7 helpBoxOuter.classList.toggle('hidden'); 8 var moreLessButton = document.getElementById('more-less-button'); 9 if (helpBoxOuter.classList.contains('hidden')) { 10 moreLessButton.innerText = moreLessButton.moreText; 11 } else { 12 moreLessButton.innerText = moreLessButton.lessText; 13 } 14} 15 16function diagnoseErrors() { 17 var extension_id = "idddmepepmjcgiedknnmlbadcokidhoa"; 18 var diagnose_frame = document.getElementById('diagnose-frame'); 19 diagnose_frame.innerHTML = 20 '<iframe src="chrome-extension://' + extension_id + 21 '/index.html"></iframe>'; 22} 23 24// Subframes use a different layout but the same html file. This is to make it 25// easier to support platforms that load the error page via different 26// mechanisms (Currently just iOS). 27if (window.top.location != window.location) 28 document.documentElement.setAttribute('subframe', ''); 29 30// Re-renders the error page using |strings| as the dictionary of values. 31// Used by NetErrorTabHelper to update DNS error pages with probe results. 32function updateForDnsProbe(strings) { 33 i18nTemplate.process(document, strings); 34 var context = new JsEvalContext(strings); 35 jstProcess(context, document.getElementById('t')); 36} 37 38// Given the classList property of an element, adds an icon class to the list 39// and removes the previously- 40function updateIconClass(classList, newClass) { 41 var oldClass; 42 43 if (classList.hasOwnProperty('last_icon_class')) { 44 oldClass = classList['last_icon_class'] 45 if (oldClass == newClass) 46 return; 47 } 48 49 classList.add(newClass); 50 if (oldClass !== undefined) 51 classList.remove(oldClass); 52 53 classList['last_icon_class'] = newClass; 54} 55 56// Does a search using |baseSearchUrl| and the text in the search box. 57function search(baseSearchUrl) { 58 var searchTextNode = document.getElementById('search-box'); 59 document.location = baseSearchUrl + searchTextNode.value; 60 return false; 61} 62 63// Use to track clicks on elements generated by the navigation correction 64// service. If |trackingId| is negative, the element does not come from the 65// correction service. 66function trackClick(trackingId) { 67 // This can't be done with XHRs because XHRs are cancelled on navigation 68 // start, and because these are cross-site requests. 69 if (trackingId >= 0 && errorPageController) 70 errorPageController.trackClick(trackingId); 71} 72 73// Called when an <a> tag generated by the navigation correction service is 74// clicked. Separate function from trackClick so the resources don't have to 75// be updated if new data is added to jstdata. 76function linkClicked(jstdata) { 77 trackClick(jstdata.trackingId); 78} 79 80// Implements button clicks. This function is needed during the transition 81// between implementing these in trunk chromium and implementing them in 82// iOS. 83function reloadButtonClick(url) { 84 if (window.errorPageController) { 85 errorPageController.reloadButtonClick(); 86 } else { 87 location = url; 88 } 89} 90 91function loadStaleButtonClick() { 92 if (window.errorPageController) { 93 errorPageController.loadStaleButtonClick(); 94 } 95} 96 97function moreButtonClick() { 98 if (window.errorPageController) { 99 errorPageController.moreButtonClick(); 100 } 101} 102 103<if expr="is_macosx or is_ios or is_linux or is_android"> 104// Re-orders buttons. Used on Mac, Linux, and Android, where reload should go 105// on the right. 106function swapButtonOrder() { 107 var reloadButton = document.getElementById('reload-button'); 108 var moreLessButton = document.getElementById('more-less-button'); 109 var staleLoadButton = document.getElementById('stale-load-button'); 110 reloadButton.parentNode.insertBefore(moreLessButton, reloadButton); 111 reloadButton.parentNode.insertBefore(staleLoadButton, reloadButton) 112} 113document.addEventListener("DOMContentLoaded", swapButtonOrder); 114</if> 115