anchor.diff:    }
   
     Future _injectScriptIntoWebviewMainWorld(String script) {
  -    script = script.replaceAll('"', r'\"').replaceAll('\n', r'\n');
  +    script = script.replaceAll('"', r'\"')
  +                   .replaceAll("'", r"\'")
  +                   .replaceAll('\n', r'\n');
       return _executeScriptInWebview(r'''
           (function() {
  -          var script = document.createElement('script');
  -          script.innerHTML = '(function() { ''' + script + r'''; })()';
  -          document.body.appendChild(script);
  +          var scriptTag = document.createElement('script');
  +          scriptTag.innerHTML = '(function() { ''' + script + r'''; })()';
  +          document.body.appendChild(scriptTag);
           })();
       ''');
     }
  
positive.code:     // TODO(ussuri): Check the sender?
      return _injectScriptIntoWebviewMainWorld(r'''
          window.addEventListener("message", function(event) {
            var designer = document.querySelector("#designer");
            var action = event.data['action'];
            if (action === 'export_code') {
              chrome.runtime.sendMessage(
  
negative.code: 
    Future load() {
      _webviewReady = new Completer();
  
      // TODO(ussuri): BUG #3466.
      new Timer(new Duration(milliseconds: 500), () {
        _webviewElt = new Element.tag('webview');
  
  