code: function () {
  		var chart = this;
  
  		// Note: in spite of JSLint's complaints, win == win.top is required
  		/*jslint eqeq: true*/
  		if ((!hasSVG && (win == win.top && doc.readyState !== 'complete')) || (useCanVG && !win.canvg)) {
  		/*jslint eqeq: false*/
  			if (useCanVG) {
  				// Delay rendering until canvg library is downloaded and ready
  				CanVGController.push(function () { chart.firstRender(); }, chart.options.global.canvasToolsURL);
  			} else {
  				doc.attachEvent('onreadystatechange', function () {
  					doc.detachEvent('onreadystatechange', chart.firstRender);
  					if (doc.readyState === 'complete') {
  						chart.firstRender();
  					}
  				});
  			}
  			return false;
  		}
  		return true;
  	}
docs: VML namespaces can't be added until after complete. Listening
  for Perini's doScroll hack is not enough.