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.
5 var DocumentNatives
= requireNative('document_natives');
7 // Output error message to console when using the <webview> tag with no
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.";
13 // Registers <webview> custom element.
14 function registerAppViewElement() {
15 var proto
= Object
.create(HTMLElement
.prototype);
17 proto
.createdCallback = function() {
18 window
.console
.error(errorMessage
);
22 DocumentNatives
.RegisterElement('appview', {prototype: proto
});
24 // Delete the callbacks so developers cannot call them and produce unexpected
26 delete proto
.createdCallback
;
27 delete proto
.attachedCallback
;
28 delete proto
.detachedCallback
;
29 delete proto
.attributeChangedCallback
;
32 var useCapture
= true;
33 window
.addEventListener('readystatechange', function listener(event
) {
34 if (document
.readyState
== 'loading')
37 registerAppViewElement();
38 window
.removeEventListener(event
.type
, listener
, useCapture
);