// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. var DocumentNatives = requireNative('document_natives'); // Output error message to console when using the <webview> tag with no // permission. var errorMessage = "You do not have permission to use the webview element." + " Be sure to declare the 'webview' permission in your manifest file."; // Registers <webview> custom element. function registerWebViewElement() { var proto = Object.create(HTMLElement.prototype); proto.createdCallback = function() { window.console.error(errorMessage); }; window.WebView = DocumentNatives.RegisterElement('webview', {prototype: proto}); // Delete the callbacks so developers cannot call them and produce unexpected // behavior. delete proto.createdCallback; delete proto.attachedCallback; delete proto.detachedCallback; delete proto.attributeChangedCallback; } var useCapture = true; window.addEventListener('readystatechange', function listener(event) { if (document.readyState == 'loading') return; registerWebViewElement(); window.removeEventListener(event.type, listener, useCapture); }, useCapture);