Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / extensions / renderer / resources / guest_view / web_view_deny.js
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.
4
5 var DocumentNatives = requireNative('document_natives');
6
7 // Output error message to console when using the <webview> tag with no
8 // permission.
9 var errorMessage = "You do not have permission to use the webview element." +
10   " Be sure to declare the 'webview' permission in your manifest file.";
11
12 // Registers <webview> custom element.
13 function registerWebViewElement() {
14   var proto = Object.create(HTMLElement.prototype);
15
16   proto.createdCallback = function() {
17     window.console.error(errorMessage);
18   };
19
20   window.WebView =
21       DocumentNatives.RegisterElement('webview', {prototype: proto});
22
23   // Delete the callbacks so developers cannot call them and produce unexpected
24   // behavior.
25   delete proto.createdCallback;
26   delete proto.attachedCallback;
27   delete proto.detachedCallback;
28   delete proto.attributeChangedCallback;
29 }
30
31 var useCapture = true;
32 window.addEventListener('readystatechange', function listener(event) {
33   if (document.readyState == 'loading')
34     return;
35
36   registerWebViewElement();
37   window.removeEventListener(event.type, listener, useCapture);
38 }, useCapture);