<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>138750</bug_id>
          
          <creation_ts>2014-11-14 11:41:20 -0800</creation_ts>
          <short_desc>[iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture</short_desc>
          <delta_ts>2014-12-08 17:20:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ossy</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048811</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-14 11:41:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/18905383&gt;

Despite the fix for bug 137770, endSwipeGesture still dereferences a null m_webPageProxyForBackForwardListForCurrentSwipe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048820</commentid>
    <comment_count>1</comment_count>
      <attachid>241609</attachid>
    <who name="">mitz</who>
    <bug_when>2014-11-14 11:48:03 -0800</bug_when>
    <thetext>Created attachment 241609
Add some tracing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048822</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-14 11:50:13 -0800</bug_when>
    <thetext>Attachment 241609 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:194:  Missing space around : in range-based for statement  [whitespace/colon] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048828</commentid>
    <comment_count>3</comment_count>
      <attachid>241609</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-14 12:03:10 -0800</bug_when>
    <thetext>Comment on attachment 241609
Add some tracing

View in context: https://bugs.webkit.org/attachment.cgi?id=241609&amp;action=review

&gt; Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:179
&gt; +    WTFGetBacktrace(stack, &amp;size);

I have long wanted a WTFStringifyBacktrace for reasons similar to this. Maybe we should put this there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048831</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-14 12:05:49 -0800</bug_when>
    <thetext>Committed attachment 241609 as &lt;http://trac.webkit.org/r176133&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050716</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-22 04:47:19 -0800</bug_when>
    <thetext>This is not fixed yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051571</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-01 13:50:43 -0800</bug_when>
    <thetext>The tracing code revealed that this is probably what’s happening:

1. A first swipe gesture ends, and endSwipeGesture() schedules a call to willCommitPostSwipeTransitionLayerTree() to happen after ensuring drawing, and schedules the watchdog timer
2. Some time passes and no drawing happens, and the watchdog timer fires
3. A second swipe gesture begins
4. The second swipe gesture ends
4.1. Some drawing happens, so willCommitPostSwipeTransitionLayerTree() is finally called
4.2. setRenderTreeSize() is called, and it calls removeSwipeSnapshot()
4.3. endSwipGesture() is called and the crash happens</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053526</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 14:46:25 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; The tracing code revealed that this is probably what’s happening:
&gt; 
&gt; 1. A first swipe gesture ends, and endSwipeGesture() schedules a call to
&gt; willCommitPostSwipeTransitionLayerTree() to happen after ensuring drawing,
&gt; and schedules the watchdog timer
&gt; 2. Some time passes and no drawing happens, and the watchdog timer fires
&gt; 3. A second swipe gesture begins
&gt; 4. The second swipe gesture ends
&gt; 4.1. Some drawing happens, so willCommitPostSwipeTransitionLayerTree() is
&gt; finally called
&gt; 4.2. setRenderTreeSize() is called, and it calls removeSwipeSnapshot()
&gt; 4.3. endSwipGesture() is called and the crash happens


It is actually necessary that 4.1 happen before the swipe gesture ends. I was able to reproduce this crash with a page whose loading timing I could control by making the page not load until the swipe in step 3 above started, then letting it load before the swipe ended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053577</commentid>
    <comment_count>8</comment_count>
      <attachid>242862</attachid>
    <who name="">mitz</who>
    <bug_when>2014-12-08 16:27:30 -0800</bug_when>
    <thetext>Created attachment 242862
Ignore callbacks from dispatchAfterEnsuringDrawing for earlier swipes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053595</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 17:20:31 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r176996&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241609</attachid>
            <date>2014-11-14 11:48:03 -0800</date>
            <delta_ts>2014-12-08 16:27:53 -0800</delta_ts>
            <desc>Add some tracing</desc>
            <filename>trace-gestures.diff</filename>
            <type>text/plain</type>
            <size>7077</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjEzMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE0LTExLTE0ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNvbWUgdHJhY2luZyB0byBo
ZWxwIGludmVzdGlnYXRpbmcgPHJkYXI6Ly9wcm9ibGVtLzE4OTA1MzgzPiBbaU9TXSBDcmFzaCBk
dWUgdG8gbnVsbCBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lw
ZSBpbiBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW1pdCB0cmFjZSBtZXNzYWdlcyBh
dCB2YXJpb3VzIHBvaW50cywgYW5kIGxvZyB0aGVtIHByaW9yIHRvIGNyYXNoaW5nIGlmIHRoZSBl
cnJvciBjb25kaXRpb24KKyAgICAgICAgb2NjdXJzLiBPdGhlcndpc2UsIGNsZWFyIHRoZSB0cmFj
ZSBtZXNzYWdlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9s
bGVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjphZGRMb2dFbnRyeSk6IEhlbHBlciBmdW5jdGlv
biB0aGF0IGFkZHMgYSBtZXNzYWdlLCBpbmNsdWRpbmcgYSB0aW1lIHN0YW1wIGFuZCBhCisgICAg
ICAgIGJhY2t0cmFjZSwgdG8gbV9sb2dFbnRyaWVzLgorICAgICAgICAoV2ViS2l0OjpkdW1wTG9n
RW50cmllcyk6IEhlbHBlciBmdW5jdGlvbiB0aGF0IGxvZ3MgZXZlcnl0aGluZyBpbiBtX2xvZ0Vu
dHJpZXMuCisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lw
ZUdlc3R1cmUpOiBBZGQgYSBsb2cgZW50cnkuCisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKTogSWYKKyAgICAgICAgbV93ZWJQYWdlUHJveHlG
b3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUgaXMgbnVsbCwgZHVtcCB0aGUgbG9nIGVu
dHJpZXMganVzdCBiZWZvcmUKKyAgICAgICAgY3Jhc2hpbmcuIE90aGVyd2lzZSwgY2xlYXIgbV9s
b2dFbnRyaWVzLgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OndpbGxD
b21taXRQb3N0U3dpcGVUcmFuc2l0aW9uTGF5ZXJUcmVlKTogQWRkIGEgbG9nIGVudHJ5LgorICAg
ICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3aXBlU25hcHNob3Qp
OiBBZGQgYSBsb2cgZW50cnkuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuaDogRGVmaW5lZCBFTkFCTEVfVklFV19HRVNUVVJFX0NPTlRST0xMRVJfVFJBQ0lO
RywKKyAgICAgICAgYW5kIGFkZGVkIG1fbG9nRW50cmllcyBtZW1iZXIgdmFyaWFibGUuCisKIDIw
MTQtMTEtMTQgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVSTHMg
Zm9yIHNvbWUgdmlkZW9zIGFyZSBub3QgdmFsaWQgVVJMcywgc2hvdWxkIG5vdCBiZSBleHBvc2Vk
IHRvIGFjdGlvbiBtZW51CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMTc2MTI0KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1Mu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbXBvcnQgPFVJS2l0L19VSU5h
dmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNl
Lmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTE3MCw2ICsx
NzEsMzIgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6Omluc3RhbGxTd2lwZQogICAgIG1f
bGl2ZVN3aXBlVmlldyA9IHN3aXBpbmdWaWV3OwogfQogCisjaWYgRU5BQkxFKFZJRVdfR0VTVFVS
RV9DT05UUk9MTEVSX1RSQUNJTkcpCitzdGF0aWMgdm9pZCBhZGRMb2dFbnRyeShWZWN0b3I8U3Ry
aW5nPiYgZW50cmllcywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHZvaWQqIHN0YWNr
WzMyXTsKKyAgICBpbnQgc2l6ZSA9IFdURl9BUlJBWV9MRU5HVEgoc3RhY2spOworICAgIFdURkdl
dEJhY2t0cmFjZShzdGFjaywgJnNpemUpOworICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRl
cjsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChTdHJpbmc6OmZvcm1hdCgiJWYgWyBdIiwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkpKTsKKyAgICBmb3IgKGludCBpID0gMjsgaSA8IHNpemU7
ICsraSkgeworICAgICAgICBpZiAoaSA+IDIpCisgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFw
cGVuZExpdGVyYWwoIiwgIik7CisgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFN0cmluZzo6
Zm9ybWF0KCIlcCIsIHN0YWNrW2ldKSk7CisgICAgfQorICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
TGl0ZXJhbCgiIF0gIik7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQobWVzc2FnZSk7CisgICAg
ZW50cmllcy5hcHBlbmQoc3RyaW5nQnVpbGRlci50b1N0cmluZygpKTsKK30KKworc3RhdGljIHZv
aWQgZHVtcExvZ0VudHJpZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGVudHJpZXMsIFdlYlBhZ2VQ
cm94eSogd2ViUGFnZVByb3h5KQoreworICAgIGZvciAoY29uc3QgYXV0byYgZW50cnk6IGVudHJp
ZXMpCisgICAgICAgIFdURkxvZ0Fsd2F5cyhlbnRyeS51dGY4KCkuZGF0YSgpKTsKKyAgICBXVEZM
b2dBbHdheXMoIm1fd2ViUGFnZVByb3h5OiAlcCIsIHdlYlBhZ2VQcm94eSk7Cit9CisjZW5kaWYK
Kwogdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJlKF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICp0cmFuc2l0aW9uLCBTd2lwZURpcmVjdGlv
biBkaXJlY3Rpb24pCiB7CiAgICAgaWYgKG1fYWN0aXZlR2VzdHVyZVR5cGUgIT0gVmlld0dlc3R1
cmVUeXBlOjpOb25lKQpAQCAtMTc4LDYgKzIwNSw5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjpiZWdpblN3aXBlR2UKICAgICBtX3dlYlBhZ2VQcm94eS5yZWNvcmROYXZpZ2F0aW9uU25h
cHNob3QoKTsKIAogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVu
dFN3aXBlID0gbV9hbHRlcm5hdGVCYWNrRm9yd2FyZExpc3RTb3VyY2VWaWV3LmdldCgpID8gbV9h
bHRlcm5hdGVCYWNrRm9yd2FyZExpc3RTb3VyY2VWaWV3LmdldCgpLT5fcGFnZSA6ICZtX3dlYlBh
Z2VQcm94eTsKKyNpZiBFTkFCTEUoVklFV19HRVNUVVJFX0NPTlRST0xMRVJfVFJBQ0lORykKKyAg
ICBhZGRMb2dFbnRyeShtX2xvZ0VudHJpZXMsIFN0cmluZzo6Zm9ybWF0KCJtX3dlYlBhZ2VQcm94
eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZTogJXAiLCBtX3dlYlBhZ2VQcm94eUZv
ckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV93
ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUtPm5hdmlnYXRpb25H
ZXN0dXJlRGlkQmVnaW4oKTsKIAogICAgIGF1dG8mIGJhY2tGb3J3YXJkTGlzdCA9IG1fd2ViUGFn
ZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5iYWNrRm9yd2FyZExpc3Qo
KTsKQEAgLTI3OSw3ICszMDksMTQgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3
aXBlR2VzdAogICAgICAgICAvLyByZW1vdmVTd2lwZVNuYXBzaG90IHdpbGwgY2xlYXIgbV93ZWJQ
YWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUsIHNvIGhvbGQgb24gdG8g
aXQgaGVyZS4KICAgICAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gd2ViUGFnZVByb3h5Rm9yQmFj
a0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlID0gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2Fy
ZExpc3RGb3JDdXJyZW50U3dpcGU7CiAgICAgICAgIHJlbW92ZVN3aXBlU25hcHNob3QoKTsKKyNp
ZiBFTkFCTEUoVklFV19HRVNUVVJFX0NPTlRST0xMRVJfVFJBQ0lORykKKyAgICAgICAgaWYgKCF3
ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUpCisgICAgICAgICAg
ICBkdW1wTG9nRW50cmllcyhtX2xvZ0VudHJpZXMsICZtX3dlYlBhZ2VQcm94eSk7CisgICAgICAg
IG1fbG9nRW50cmllcy5jbGVhcigpOworI2VuZGlmCisKICAgICAgICAgd2ViUGFnZVByb3h5Rm9y
QmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChm
YWxzZSwgKnRhcmdldEl0ZW0pOworCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTI4Nyw2
ICszMjQsMTIgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdAogICAg
IGlmIChWaWV3U25hcHNob3QqIHNuYXBzaG90ID0gdGFyZ2V0SXRlbS0+c25hcHNob3QoKSkKICAg
ICAgICAgbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRSZW5kZXJUcmVlU2l6ZSA9IHNuYXBzaG90LT5y
ZW5kZXJUcmVlU2l6ZSgpICogc3dpcGVTbmFwc2hvdFJlbW92YWxSZW5kZXJUcmVlU2l6ZVRhcmdl
dEZyYWN0aW9uOwogCisjaWYgRU5BQkxFKFZJRVdfR0VTVFVSRV9DT05UUk9MTEVSX1RSQUNJTkcp
CisgICAgaWYgKCFtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lw
ZSkKKyAgICAgICAgZHVtcExvZ0VudHJpZXMobV9sb2dFbnRyaWVzLCAmbV93ZWJQYWdlUHJveHkp
OworICAgIG1fbG9nRW50cmllcy5jbGVhcigpOworI2VuZGlmCisKICAgICBtX3dlYlBhZ2VQcm94
eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVEaWRF
bmQodHJ1ZSwgKnRhcmdldEl0ZW0pOwogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRM
aXN0Rm9yQ3VycmVudFN3aXBlLT5nb1RvQmFja0ZvcndhcmRJdGVtKHRhcmdldEl0ZW0pOwogCkBA
IC0zMDcsNiArMzUwLDkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2Vz
dAogCiB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6d2lsbENvbW1pdFBvc3RTd2lwZVRyYW5z
aXRpb25MYXllclRyZWUoYm9vbCBzdWNjZXNzZnVsKQogeworI2lmIEVOQUJMRShWSUVXX0dFU1RV
UkVfQ09OVFJPTExFUl9UUkFDSU5HKQorICAgIGFkZExvZ0VudHJ5KG1fbG9nRW50cmllcywgU3Ry
aW5nOjpmb3JtYXQoInN1Y2Nlc3NmdWw6ICVkOyBtX2FjdGl2ZUdlc3R1cmVUeXBlOiAlZDsgbV93
ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGU6ICVwIiwgc3VjY2Vz
c2Z1bCwgbV9hY3RpdmVHZXN0dXJlVHlwZSwgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExp
c3RGb3JDdXJyZW50U3dpcGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIGlmIChtX2FjdGl2ZUdlc3R1
cmVUeXBlICE9IFZpZXdHZXN0dXJlVHlwZTo6U3dpcGUpCiAgICAgICAgIHJldHVybjsKIApAQCAt
MzQxLDYgKzM4Nyw5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpyZW1vdmVTd2lwZVMK
IAogICAgIG1fc3dpcGVXYXRjaGRvZ1RpbWVyLnN0b3AoKTsKIAorI2lmIEVOQUJMRShWSUVXX0dF
U1RVUkVfQ09OVFJPTExFUl9UUkFDSU5HKQorICAgIGFkZExvZ0VudHJ5KG1fbG9nRW50cmllcywg
U3RyaW5nOjpmb3JtYXQoIm1fYWN0aXZlR2VzdHVyZVR5cGU6ICVkOyBtX3dlYlBhZ2VQcm94eUZv
ckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZTogJXAiLCBtX2FjdGl2ZUdlc3R1cmVUeXBl
LCBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS5nZXQoKSkp
OworI2VuZGlmCiAgICAgaWYgKG1fYWN0aXZlR2VzdHVyZVR5cGUgIT0gVmlld0dlc3R1cmVUeXBl
OjpTd2lwZSkKICAgICAgICAgcmV0dXJuOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCShyZXZpc2lvbiAx
NzYxMjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw4IEBACiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKKyNkZWZpbmUgRU5BQkxFX1ZJ
RVdfR0VTVFVSRV9DT05UUk9MTEVSX1RSQUNJTkcgMQorCiBPQkpDX0NMQVNTIENBTGF5ZXI7CiAK
ICNpZiBQTEFURk9STShJT1MpCkBAIC0yMTMsNiArMjE1LDkgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fc2hvdWxkUmVtb3ZlU25hcHNob3RXaGVuVGFyZ2V0UmVuZGVyVHJlZVNpemVIaXQ7CiAgICAg
V2Vha09iakNQdHI8V0tXZWJWaWV3PiBtX2FsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVZp
ZXc7CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2Fy
ZExpc3RGb3JDdXJyZW50U3dpcGU7CisjaWYgRU5BQkxFKFZJRVdfR0VTVFVSRV9DT05UUk9MTEVS
X1RSQUNJTkcpCisgICAgVmVjdG9yPFN0cmluZz4gbV9sb2dFbnRyaWVzOworI2VuZGlmCiAjZW5k
aWYKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242862</attachid>
            <date>2014-12-08 16:27:30 -0800</date>
            <delta_ts>2014-12-08 17:18:49 -0800</delta_ts>
            <desc>Ignore callbacks from dispatchAfterEnsuringDrawing for earlier swipes</desc>
            <filename>bug-138750-20141208162809.patch</filename>
            <type>text/plain</type>
            <size>4959</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3Njk4OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE0LTEyLTA4ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTA1
MzgzPiBbaU9TXSBDcmFzaCBkdWUgdG8gbnVsbCBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJk
TGlzdEZvckN1cnJlbnRTd2lwZSBpbiBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2Vz
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4
NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHNuYXBzaG90IGZvciB0aGUgY3VycmVudCBnZXN0dXJlIHdhcyBiZWluZyByZW1vdmVkIG1pZC1n
ZXN0dXJlIGJ5IHRoZSBjYWxsYmFjayBmcm9tCisgICAgICAgIGRpc3BhdGNoQWZ0ZXJFbnN1cmlu
Z0RyYXdpbmcgc2NoZWR1bGVkIGJ5IHRoZSBwcmV2aW91cyBnZXN0dXJlLiBUaGUgZml4IGlzIHRv
IGlnbm9yZSB0aGUKKyAgICAgICAgY2FsbGJhY2sgZm9yIGEgZ2VzdHVyZSBpZiBpdCBpcyBtYWRl
IGFmdGVyIHRoZSBzbmFwc2hvdCBmb3IgdGhhdCBnZXN0dXJlIGhhcyBhbHJlYWR5IGJlZW4KKyAg
ICAgICAgcmVtb3ZlZCAod2hpY2ggY2FuIGhhcHBlbiBhcyBhIHJlc3VsdCBvZiB0aGUgd2F0Y2hk
b2cgdGltZXIgZmlyaW5nKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVD
b250cm9sbGVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcik6IEluaXRpYWxpemUgbmV3IG1lbWJlciB2YXJpYWJsZS4K
KyAgICAgICAgKFdlYktpdDo6YWRkTG9nRW50cnkpOiBGaXhlZCB0aGUgbG9nIG1lc3NhZ2UgZm9y
bWF0LgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2Vz
dHVyZSk6IFdoZW4gZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZygpIGNhbGxzCisgICAgICAg
IHVzIGJhY2ssIGJhaWwgb3V0IGlmIHRoZSBnZXN0dXJlIHNuYXBzaG90IGhhcyBhbHJlYWR5IGJl
ZW4gcmVtb3ZlZC4KKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpyZW1v
dmVTd2lwZVNuYXBzaG90KTogSW5jcmVtZW50CisgICAgICAgIG1fZ2VzdHVyZVBlbmRpbmdTbmFw
c2hvdFJlbW92YWwuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaDogQWRkZWQgbV9nZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbCBtZW1iZXIKKyAgICAg
ICAgdmFyaWFibGUuCisKIDIwMTQtMTItMDggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICBUaGUgd2Vic2l0ZSBkYXRhIHN0b3JlIHNob3VsZCBrbm93IGFs
bCBpdHMgYXNzb2NpYXRlZCBwYWdlcwpAQCAtMzczMyw3ICszNzU1LDcgQEAKICAgICAgICAgVHdv
IFdLV2ViVmlldyBpbnRlcm5hbCBtZXRob2RzIGFyZSBpbXBsZW1lbnRlZCBpbiBhIGNhdGVnb3J5
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3MjgK
IAotICAgICAgICBSZXZpZXdlZCBieSBUaW0gSE9ydG9uLgorICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgogCiAgICAgICAgIE1vdmVkIHRoZSBpbXBsZW1lbnRhdGlvbnMgZnJvbSB0aGUg
Y2F0ZWdvcnkgdG8gdGhlIGNsYXNzLgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQkocmV2aXNpb24g
MTc2OTgyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0Niw2ICsxNDYsNyBAQCBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OlZpZXdHZXN0dXJlQ29udHJvCiAgICAgLCBtX3N3aXBlV2F0Y2hkb2dUaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnN3aXBlU25h
cHNob3RXYXRjaGRvZ1RpbWVyRmlyZWQpCiAgICAgLCBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJl
bmRlclRyZWVTaXplKDApCiAgICAgLCBtX3Nob3VsZFJlbW92ZVNuYXBzaG90V2hlblRhcmdldFJl
bmRlclRyZWVTaXplSGl0KGZhbHNlKQorICAgICwgbV9nZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVt
b3ZhbCgwKQogewogICAgIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpLmFkZCh3
ZWJQYWdlUHJveHkucGFnZUlEKCksIHRoaXMpOwogfQpAQCAtMTc4LDcgKzE3OSw3IEBAIHN0YXRp
YyB2b2lkIGFkZExvZ0VudHJ5KFZlY3RvcjxTdHJpbmc+JiAKICAgICBpbnQgc2l6ZSA9IFdURl9B
UlJBWV9MRU5HVEgoc3RhY2spOwogICAgIFdURkdldEJhY2t0cmFjZShzdGFjaywgJnNpemUpOwog
ICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRlcjsKLSAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChTdHJpbmc6OmZvcm1hdCgiJWYgWyBdIiwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkpKTsK
KyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChTdHJpbmc6OmZvcm1hdCgiJWYgWyAiLCBDRkFic29s
dXRlVGltZUdldEN1cnJlbnQoKSkpOwogICAgIGZvciAoaW50IGkgPSAyOyBpIDwgc2l6ZTsgKytp
KSB7CiAgICAgICAgIGlmIChpID4gMikKICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5k
TGl0ZXJhbCgiLCAiKTsKQEAgLTMzNSw5ICszMzYsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRy
b2xsZXI6OmVuZFN3aXBlR2VzdAogCiAgICAgaWYgKGF1dG8gZHJhd2luZ0FyZWEgPSBtX3dlYlBh
Z2VQcm94eS5kcmF3aW5nQXJlYSgpKSB7CiAgICAgICAgIHVpbnQ2NF90IHBhZ2VJRCA9IG1fd2Vi
UGFnZVByb3h5LnBhZ2VJRCgpOwotICAgICAgICBkcmF3aW5nQXJlYS0+ZGlzcGF0Y2hBZnRlckVu
c3VyaW5nRHJhd2luZyhbcGFnZUlEXSAoQ2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAg
ICAgICB1aW50NjRfdCBnZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbCA9IG1fZ2VzdHVyZVBl
bmRpbmdTbmFwc2hvdFJlbW92YWw7CisgICAgICAgIGRyYXdpbmdBcmVhLT5kaXNwYXRjaEFmdGVy
RW5zdXJpbmdEcmF3aW5nKFtwYWdlSUQsIGdlc3R1cmVQZW5kaW5nU25hcHNob3RSZW1vdmFsXSAo
Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewogICAgICAgICAgICAgYXV0byBnZXN0dXJlQ29u
dHJvbGxlckl0ZXIgPSB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKS5maW5kKHBh
Z2VJRCk7Ci0gICAgICAgICAgICBpZiAoZ2VzdHVyZUNvbnRyb2xsZXJJdGVyICE9IHZpZXdHZXN0
dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpLmVuZCgpKQorICAgICAgICAgICAgaWYgKGdlc3R1
cmVDb250cm9sbGVySXRlciAhPSB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKS5l
bmQoKSAmJiBnZXN0dXJlQ29udHJvbGxlckl0ZXItPnZhbHVlLT5tX2dlc3R1cmVQZW5kaW5nU25h
cHNob3RSZW1vdmFsID09IGdlc3R1cmVQZW5kaW5nU25hcHNob3RSZW1vdmFsKQogICAgICAgICAg
ICAgICAgIGdlc3R1cmVDb250cm9sbGVySXRlci0+dmFsdWUtPndpbGxDb21taXRQb3N0U3dpcGVU
cmFuc2l0aW9uTGF5ZXJUcmVlKGVycm9yID09IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwog
ICAgICAgICB9KTsKICAgICB9IGVsc2UgewpAQCAtMzkzLDYgKzM5NSw4IEBAIHZvaWQgVmlld0dl
c3R1cmVDb250cm9sbGVyOjpyZW1vdmVTd2lwZVMKICAgICBpZiAobV9hY3RpdmVHZXN0dXJlVHlw
ZSAhPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlKQogICAgICAgICByZXR1cm47CiAgICAgCisgICAg
KyttX2dlc3R1cmVQZW5kaW5nU25hcHNob3RSZW1vdmFsOworCiAjaWYgVVNFKElPU1VSRkFDRSkK
ICAgICBpZiAobV9jdXJyZW50U3dpcGVTbmFwc2hvdFN1cmZhY2UpCiAgICAgICAgIG1fY3VycmVu
dFN3aXBlU25hcHNob3RTdXJmYWNlLT5zZXRJc1ZvbGF0aWxlKHRydWUpOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
CShyZXZpc2lvbiAxNzY5ODIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiArMjE1LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fc2hvdWxkUmVtb3ZlU25hcHNob3RXaGVuVGFyZ2V0UmVuZGVyVHJl
ZVNpemVIaXQ7CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBtX2FsdGVybmF0ZUJhY2tGb3J3
YXJkTGlzdFNvdXJjZVZpZXc7CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV93ZWJQYWdlUHJv
eHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGU7CisgICAgdWludDY0X3QgbV9nZXN0
dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbDsKICNpZiBFTkFCTEUoVklFV19HRVNUVVJFX0NPTlRS
T0xMRVJfVFJBQ0lORykKICAgICBWZWN0b3I8U3RyaW5nPiBtX2xvZ0VudHJpZXM7CiAjZW5kaWYK
</data>
<flag name="review"
          id="267717"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>