Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / extensions / renderer / resources / guest_view / app_view_deny.js
1 // Copyright 2014 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 appview element." +
10   " Be sure to declare the 'appview' permission in your manifest file and use" +
11   " the --enable-app-view command line flag.";
12
13 // Registers <webview> custom element.
14 function registerAppViewElement() {
15   var proto = Object.create(HTMLElement.prototype);
16
17   proto.createdCallback = function() {
18     window.console.error(errorMessage);
19   };
20
21   window.AppView =
22       DocumentNatives.RegisterElement('appview', {prototype: proto});
23
24   // Delete the callbacks so developers cannot call them and produce unexpected
25   // behavior.
26   delete proto.createdCallback;
27   delete proto.attachedCallback;
28   delete proto.detachedCallback;
29   delete proto.attributeChangedCallback;
30 }
31
32 var useCapture = true;
33 window.addEventListener('readystatechange', function listener(event) {
34   if (document.readyState == 'loading')
35     return;
36
37   registerAppViewElement();
38   window.removeEventListener(event.type, listener, useCapture);
39 }, useCapture);