Bug 532686 - formfill: unable to use the file picker from imageshack.us [r=mark.finkle]
--- a/mobile/chrome/content/browser-ui.js
+++ b/mobile/chrome/content/browser-ui.js
@@ -1122,20 +1122,20 @@ var FormHelper = {
if (aElement.getAttribute("role") == "button" && aElement.hasAttribute("tabindex"))
return this._isElementVisible(aElement);
if (this._isValidSelectElement(aElement) || aElement instanceof HTMLTextAreaElement)
return this._isElementVisible(aElement);
if (aElement instanceof HTMLInputElement) {
- let ignoreInputElements = ["checkbox", "radio", "hidden", "reset", "button", "image"];
+ let ignoreInputElements = ["checkbox", "radio", "hidden", "reset", "button"];
let isValidElement = (ignoreInputElements.indexOf(aElement.type) == -1);
if (!isValidElement)
- return false;
+ return false;
return this._isElementVisible(aElement);
}
return false;
},
_isValidSelectElement: function(aElement) {
@@ -1313,18 +1313,24 @@ var FormHelper = {
let elRect = this._getRectForElement(aElement);
let zoomRect = Browser._getZoomRectForPoint(elRect.center().x, elRect.y, zoomLevel);
Browser.setVisibleRect(zoomRect);
},
canShowUIFor: function(aElement) {
- return (this._isValidElement(aElement) &&
- !(aElement instanceof HTMLInputElement && aElement.type == "submit"));
+ // Some forms elements are valid in the sense that we want the Form
+ // Assistant to stop on it, but we don't want it to display when
+ // the user clicks on it
+ let formExceptions = ["submit", "image", "file"];
+ if (aElement instanceof HTMLInputElement && formExceptions.indexOf(aElement.type) != -1)
+ return false;
+
+ return this._isValidElement(aElement);
}
};
function SelectWrapper(aControl) {
this._control = aControl.wrappedJSObject || aControl;
}
SelectWrapper.prototype = {