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 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 webview element." +
10 " Be sure to declare the 'webview' permission in your manifest file.";
12 // Registers <webview> custom element.
13 function registerWebViewElement() {
14 var proto
= Object
.create(HTMLElement
.prototype);
16 proto
.createdCallback = function() {
17 console
.error(errorMessage
);
21 DocumentNatives
.RegisterElement('webview', {prototype: proto
});
23 // Delete the callbacks so developers cannot call them and produce unexpected
25 delete proto
.createdCallback
;
26 delete proto
.enteredDocumentCallback
;
27 delete proto
.leftDocumentCallback
;
28 delete proto
.attributeChangedCallback
;
31 var useCapture
= true;
32 window
.addEventListener('readystatechange', function listener(event
) {
33 if (document
.readyState
== 'loading')
36 registerWebViewElement();
37 window
.removeEventListener(event
.type
, listener
, useCapture
);