anchor.diff:  }
   
   class DeployToMobileAction extends SparkActionWithProgressDialog implements ContextAction {
  +  CheckboxInputElement _ipElement;
  +  CheckboxInputElement _adbElement;
     InputElement _pushUrlElement;
     ws.Container deployContainer;
     ProgressMonitor _monitor;
   
     DeployToMobileAction(Spark spark, Element dialog)
         : super(spark, "application-push", "Deploy to Mobile", dialog) {
  +    _ipElement = getElement("#ip");
  +    _adbElement = getElement("#adb");
       _pushUrlElement = _triggerOnReturn("#pushUrl");
       enabled = false;
       spark.focusManager.onResourceChange.listen((r) => _updateEnablement(r));
   
       // When the IP address field is selected, check the `IP` checkbox.
  -    getElement('#pushUrl').onFocus.listen((e) {
  -      (getElement('#ip') as InputElement).checked = true;
  -    });
  +    _ipElement.onChange.listen(_enableInputs);
  +    _adbElement.onChange.listen(_enableInputs);
  +    _enableInputs();
     }
   
     Element get _deployDeviceMessage => getElement('#deployCheckDeviceMessage');
  
positive.code:     enabled = _appliesTo(resource);
    }
  
    void _toggleProgressVisible(bool visible) {
      super._toggleProgressVisible(visible);
      _deployDeviceMessage.style.visibility = visible ? 'visible' : 'hidden';
  
negative.code:     _setProgressMessage("Deploying…");
      _toggleProgressVisible(true);
      _deployButton.disabled = true;
      // TODO(ussuri): BUG #2252.
      _deployButton.deliverChanges();
  
      _monitor = new ProgressMonitorImpl(this);
  