rem: return bothTrue; 
add: return {capture: true, prefill: true}; 
context:     function stateFound(content, threshhold) {      var captureStateFound = false;      var prefillStateFound = false;      bestState = bothHide;      if (!content || !content.document) {        return bothFalse;      }      var document = content.document;      if (!("forms" in document)) {        // this will occur if document is xul document instead of html document for example        return bothFalse;      }      // test for wallet service being available      if (gWalletService == -1)        gWalletService = Components.classes["@mozilla.org/wallet/wallet-service;1"]                                   .getService(Components.interfaces.nsIWalletService);      if (!gWalletService) {        return bothTrue;      }      elementCount = 0;      // process frames if any      var formsArray;      var framesArray = content.frames;      var rv;      if (framesArray.length != 0) {        var frame;        for (frame=0; frame<framesArray.length; ++frame) {          // recursively process each frame for additional documents          rv = stateFound(framesArray[frame], threshhold);          captureStateFound |= rv.capture; prefillStateFound |= rv.prefill;          if (captureStateFound && prefillStateFound) {            return bothTrue;          }          // process the document of this frame          var frameDocument = framesArray[frame].document;          if (frameDocument) {            rv = stateFoundInFormsArray(frameDocument.forms, threshhold);            captureStateFound |= rv.capture; prefillStateFound |= rv.prefill;            if (captureStateFound && prefillStateFound) {              gIsEncrypted = -1;              return bothTrue;            }          }        }      }      // process top-level document      gIsEncrypted = -1;      rv = stateFoundInFormsArray(document.forms, threshhold);      captureStateFound |= rv.capture; prefillStateFound |= rv.prefill;      if (captureStateFound && prefillStateFound) {        return bothTrue;      }      // if we got here, then there was no text (or select) element with a value      // or there were too few text (or select) elements      if (elementCount > threshhold) {        // no text (or select) element with a value        return bothFalse;      }      // too few text (or select) elements      bestState = hide;      return bothFalse;    }
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/db89ac4cdf60ec2f162092c76492fff7a48308cb/walletOverlay.js/clean/extensions/wallet/resources/content/walletOverlay.js