anchor.diff:        ScriptElement script = new Element.tag("script");
         script.src = "https://accounts.google.com/o/oauth2/revoke?token=${authenticationContext.token}&callback=myJsonpCallback";
         document.body.children.add(script);
  +      enableSignInUI(true);
       });
     }
   
  
positive.code:       }
      } else if (authResult["error"] != null) {
        print("There was an error: ${authResult["error"]}");
        query("#google-connect").style.display = "block";
        query("#auth-disconnect").style.display = "none";
      }
    }
  
    /**
     * Calls the OAuth2 endpoint to disconnect the app for the user.
     */
  
negative.code: typedef OnSignInCallback(SimpleOAuth2 authenticationContext);
  typedef OnSignOutCallback();
  
  void enableSignInUI(bool isAnonymous) {
    Element el;
    
    el = query(".welcome");
    if (el != null) {
      el.hidden = isAnonymous;
    }
    
    el = query("#disconnect");
    if (el != null) {
      el.hidden = isAnonymous;
    }
    
    el = query("#google-connect");
    if (el != null) {
      el.hidden = !isAnonymous;
    }
  }
  
  class LoginPanel extends WebComponent {
    OnSignInCallback signInCallback;
    OnSignOutCallback signOutCallback;
  