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 5var DocumentNatives = requireNative('document_natives'); 6 7// Output error message to console when using the <webview> tag with no 8// permission. 9var 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. 14function 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 32var useCapture = true; 33window.addEventListener('readystatechange', function listener(event) { 34 if (document.readyState == 'loading') 35 return; 36 37 registerAppViewElement(); 38 window.removeEventListener(event.type, listener, useCapture); 39}, useCapture); 40