function registerInternalElement(viewType) {
  var proto = $Object.create(HTMLElement.prototype);

  proto.createdCallback = function() {
    this.setAttribute('type', 'application/browser-plugin');
    this.setAttribute('id', 'browser-plugin-' + IdGenerator.GetNextId());
    this.style.width = '100%';
    this.style.height = '100%';
  };

  proto.attachedCallback = function() {
    // Load the plugin immediately.
    var unused = this.nonExistentAttribute;
  };

  proto.attributeChangedCallback = function(name, oldValue, newValue) {
    var internal = privates(this).internal;
    if (!internal) {
      return;
    }
    internal.handleInternalElementAttributeMutation(name, oldValue, newValue);
  };

  GuestViewContainer[viewType + 'BrowserPlugin'] =
      DocumentNatives.RegisterElement(viewType + 'browserplugin',
                                      {extends: 'object', prototype: proto});

  delete proto.createdCallback;
  delete proto.attachedCallback;
  delete proto.detachedCallback;
  delete proto.attributeChangedCallback;
}
// name of the specific guestview container (e.g. 'webview').
name of the specific guestview container .
name of the specific guestview container .
function registerInternalElement(viewType) {
  var proto = $Object.create(HTMLElement.prototype);
  proto.createdCallback = function() {
    this.setAttribute('type', 'application/browser-plugin');
    this.setAttribute('id', 'browser-plugin-' + IdGenerator.GetNextId());
    this.style.width = '100%';
    this.style.height = '100%';
  };
  proto.attachedCallback = function() {
    var unused = this.nonExistentAttribute;
  };
  proto.attributeChangedCallback = function(name, oldValue, newValue) {
    var internal = privates(this).internal;
    if (!internal) {
      return;
    }
    internal.handleInternalElementAttributeMutation(name, oldValue, newValue);
  };
  GuestViewContainer[viewType + 'BrowserPlugin'] =
      DocumentNatives.RegisterElement(viewType + 'browserplugin',
                                      {extends: 'object', prototype: proto});
  delete proto.createdCallback;
  delete proto.attachedCallback;
  delete proto.detachedCallback;
  delete proto.attributeChangedCallback;
}
function registerInternalElement ( viewType ) { var proto = $Object . create ( HTMLElement . prototype ) ; proto . createdCallback = function ( ) { this . setAttribute ( 'type' , 'application/browser-plugin' ) ; this . setAttribute ( 'id' , 'browser-plugin-' + IdGenerator . GetNextId ( ) ) ; this . style . width = '100%' ; this . style . height = '100%' ; } ; proto . attachedCallback = function ( ) { var unused = this . nonExistentAttribute ; } ; proto . attributeChangedCallback = function ( name , oldValue , newValue ) { var internal = privates ( this ) . internal ; if ( ! internal ) { return ; } internal . handleInternalElementAttributeMutation ( name , oldValue , newValue ) ; } ; GuestViewContainer [ viewType + 'BrowserPlugin' ] = DocumentNatives . RegisterElement ( viewType + 'browserplugin' , { extends : 'object' , prototype : proto } ) ; delete proto . createdCallback ; delete proto . attachedCallback ; delete proto . detachedCallback ; delete proto . attributeChangedCallback ; }
name of the specific guestview container (e.g.
name of the specific guestview container ( e . g .
// Load the plugin immediately.