Bug 621838 - The Addons pane is still pannable when the context menu of the search textbox is visible [r=mfinkle]
authorVivien Nicolas <21@vingtetun.org>
Wed, 29 Dec 2010 16:38:45 +0100
changeset 67180 0fb93aaa30d52c29fe93949b589aeae6a9372130
parent 67179 4606a816ce17ed3b41508b070873c8fbd8e2a305
child 67181 ae74a76b69131bc02f44376bc37ea3f4b7f2bf56
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmfinkle
bugs621838
Bug 621838 - The Addons pane is still pannable when the context menu of the search textbox is visible [r=mfinkle]
mobile/chrome/content/bindings.xml
mobile/chrome/content/input.js
--- a/mobile/chrome/content/bindings.xml
+++ b/mobile/chrome/content/bindings.xml
@@ -1682,14 +1682,18 @@
 
           let clipboard = Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard);
           let flavors = ["text/unicode"];
           let hasData = clipboard.hasDataMatchingFlavors(flavors, flavors.length, Ci.nsIClipboard.kGlobalClipboard);
 
           if (hasData && (!aTextbox.readOnly || aIgnoreReadOnly))
             json.types.push("paste");
 
-          ContextHelper.showPopup({ target: aTextbox, json: json });
+          if (ContextHelper.showPopup({ target: aTextbox, json: json })) {
+            let event = document.createEvent("Events");
+            event.initEvent("CancelTouchSequence", true, false);
+            document.dispatchEvent(event);
+          }
         ]]></body>
       </method>
     </implementation>
   </binding>
 </bindings>
--- a/mobile/chrome/content/input.js
+++ b/mobile/chrome/content/input.js
@@ -171,16 +171,17 @@ MouseModule.prototype = {
     this._doDragStop();
 
     // Kinetic panning may have already been active or drag stop above may have
     // made kinetic panning active.
     this._kinetic.end();
 
     this._targetScrollbox = null;
     this._targetScrollInterface = null;
+    this._inputField = null;
 
     this._cleanClickBuffer();
   },
 
   /** Begin possible pan and send tap down event. */
   _onMouseDown: function _onMouseDown(aEvent) {
     let dragData = this._dragData;
     if (dragData.dragging) {