Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / resources / identity_scope_approval_dialog / scope_approval_dialog.js
blob7c23d38a234e328d78dea5f3679154e412f09a93
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.
5 var webview;
7 /**
8  * Points the webview to the starting URL of a scope authorization
9  * flow, and unhides the dialog once the page has loaded.
10  * @param {string} url The url of the authorization entry point.
11  * @param {Object} win The dialog window that contains this page. Can
12  *     be left undefined if the caller does not want to display the
13  *     window.
14  */
15 function loadAuthUrlAndShowWindow(url, win) {
16   // Send popups from the webview to a normal browser window.
17   webview.addEventListener('newwindow', function(e) {
18     e.window.discard();
19     window.open(e.targetUrl);
20   });
22   // Request a customized view from GAIA.
23   webview.request.onBeforeSendHeaders.addListener(function(details) {
24     headers = details.requestHeaders || [];
25     headers.push({'name': 'X-Browser-View',
26                   'value': 'embedded'});
27     return { requestHeaders: headers };
28   }, {
29     urls: ['https://accounts.google.com/*'],
30   }, ['blocking', 'requestHeaders']);
32   if (url.toLowerCase().indexOf('https://accounts.google.com/') != 0)
33     document.querySelector('.titlebar').classList.add('titlebar-border');
35   webview.src = url;
36   if (win) {
37     webview.addEventListener('loadstop', function() {
38       win.show();
39     });
40   }
43 document.addEventListener('DOMContentLoaded', function() {
44   webview = document.querySelector('webview');
46   document.querySelector('.titlebar-close-button').onclick = function() {
47     window.close();
48   };
50   chrome.identityPrivate.getResources(function(resources) {
51     var style = document.styleSheets[0];
53     function insertRule(selector, url) {
54       style.insertRule(selector + ' { background-image: url(' + url + '); }',
55                        style.cssRules.length);
56     }
58     insertRule('.titlebar-close-button', resources.IDR_CLOSE_DIALOG);
59     insertRule('.titlebar-close-button:hover', resources.IDR_CLOSE_DIALOG_H);
60     insertRule('.titlebar-close-button:active', resources.IDR_CLOSE_DIALOG_P);
62     document.title = resources.IDS_EXTENSION_PERMISSIONS_PROMPT_TITLE;
63   });
64 });