Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / resources / help / help.js
blobb213a750508a9783153d575374623bea1e9b83c1
1 // Copyright (c) 2012 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.
5 <include src="../uber/uber_page_manager_observer.js">
6 <include src="../uber/uber_utils.js">
8 (function() {
9   var HelpPage = help.HelpPage;
10   var PageManager = cr.ui.pageManager.PageManager;
12   /**
13    * DOMContentLoaded handler, sets up the page.
14    */
15   function load() {
16     PageManager.register(HelpPage.getInstance());
18     if (help.ChannelChangePage) {
19       PageManager.registerOverlay(help.ChannelChangePage.getInstance(),
20                                   HelpPage.getInstance());
21     }
22     PageManager.addObserver(new uber.PageManagerObserver());
23     PageManager.initialize(HelpPage.getInstance());
24     uber.onContentFrameLoaded();
26     var pageName = PageManager.getPageNameFromPath();
27     // Still update history so that chrome://help/nonexistant redirects
28     // appropriately to chrome://help/. If the URL matches, updateHistory
29     // will avoid adding the extra state.
30     var updateHistory = true;
31     PageManager.showPageByName(pageName, updateHistory, {replaceState: true});
32   }
34   document.addEventListener('DOMContentLoaded', load);
36   /**
37    * Listener for the |beforeunload| event.
38    */
39   window.onbeforeunload = function() {
40     PageManager.willClose();
41   };
43   /**
44    * Listener for the |popstate| event.
45    * @param {Event} e The |popstate| event.
46    */
47   window.onpopstate = function(e) {
48     var pageName = PageManager.getPageNameFromPath();
49     PageManager.setState(pageName, location.hash, e.state);
50   };
51 })();