<?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>137770</bug_id>
          
          <creation_ts>2014-10-15 22:42:34 -0700</creation_ts>
          <short_desc>Various crashes in ViewGestureControllerIOS when closing a tab while a swipe gesture is in progress</short_desc>
          <delta_ts>2014-10-16 12:54:02 -0700</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 name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042070</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-10-15 22:42:34 -0700</bug_when>
    <thetext>A multitude of crashes are possible here:

1. We can attempt to access a deleted ViewGestureController from inside a CA callback.
2. We can attempt to access a deleted WebBackForwardListItem from inside a CA callback.
3. We can attempt to dereference a null DrawingArea from a page that&apos;s on its way down.
4. UIKit can become fairly unhappy with dangling &apos;_UINavigationInteractiveTransitionBase&apos;s.

Let&apos;s fix these things.

&lt;rdar://problem/17916459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042087</commentid>
    <comment_count>1</comment_count>
      <attachid>239935</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-10-16 00:07:17 -0700</bug_when>
    <thetext>Created attachment 239935
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042088</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-16 00:08:32 -0700</bug_when>
    <thetext>Attachment 239935 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:241:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:246:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/mac/ViewGestureController.h:43:  _UIViewControllerOneToOneTransitionContext is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/UIProcess/mac/ViewGestureController.h:44:  _UIViewControllerTransitionContext is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 4 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>1042124</commentid>
    <comment_count>3</comment_count>
      <attachid>239935</attachid>
    <who name="">mitz</who>
    <bug_when>2014-10-16 08:40:48 -0700</bug_when>
    <thetext>Comment on attachment 239935
patch

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

&gt; Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:97
&gt; +    _backTransitionController = nullptr;
&gt; +    _forwardTransitionController = nullptr;

Isn’t nil more appropriate for these, since the underlying type is an id?

I’m not convinced that we should clear these. Doing so doesn’t really guarantee anything except that if -directionForTransition: were to be called it would return the wrong answer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042125</commentid>
    <comment_count>4</comment_count>
      <attachid>239935</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-10-16 08:43:03 -0700</bug_when>
    <thetext>Comment on attachment 239935
patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * UIProcess/ios/ViewGestureControllerIOS.mm:

I would like to read a summary of the issue and how you fixed it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042147</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-10-16 11:25:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 239935 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=239935&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:97
&gt; &gt; +    _backTransitionController = nullptr;
&gt; &gt; +    _forwardTransitionController = nullptr;
&gt; 
&gt; Isn’t nil more appropriate for these, since the underlying type is an id?
&gt; 
&gt; I’m not convinced that we should clear these. Doing so doesn’t really
&gt; guarantee anything except that if -directionForTransition: were to be called
&gt; it would return the wrong answer.

A valid point. This wasn&apos;t the key to the crash in the end, so I guess there&apos;s no point. We agree that the ViewGestureController pointer should be cleared, though?

(In reply to comment #4)
&gt; Comment on attachment 239935 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=239935&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        * UIProcess/ios/ViewGestureControllerIOS.mm:
&gt; 
&gt; I would like to read a summary of the issue and how you fixed it here.

There are four issues and four fixes, they&apos;re detailed individually below :D &quot;this avoids&quot;x3 + &quot;null-check&quot;. But I will add a summary of some sort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042158</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-10-16 12:54:02 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/174788</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239935</attachid>
            <date>2014-10-16 00:07:17 -0700</date>
            <delta_ts>2014-10-16 08:43:03 -0700</delta_ts>
            <desc>patch</desc>
            <filename>swipe.diff</filename>
            <type>text/plain</type>
            <size>10966</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwZDc0ODE5Li5hYWNmMGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTQtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgVmFyaW91cyBjcmFzaGVzIGluIFZpZXdHZXN0dXJlQ29udHJvbGxlcklPUyB3aGVu
IGNsb3NpbmcgYSB0YWIgd2hpbGUgYSBzd2lwZSBnZXN0dXJlIGlzIGluIHByb2dyZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc3NzAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzE3OTE2NDU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXJJT1MubW06CisgICAgICAgICgtW1dLU3dpcGVUcmFuc2l0aW9uQ29udHJvbGxlciBpbnZhbGlk
YXRlXSk6CisgICAgICAgIERyb3Agb3VyIHJlZmVyZW5jZSB0byB0aGUgX1VJTmF2aWdhdGlvbklu
dGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgaW5zdGFuY2VzLgorICAgICAgICBUaGlzIG1vcmUgY2xv
c2VseSBtYXRjaGVzIHByZXZpb3VzIGltcGxlbWVudGF0aW9ucyBvZiB0aGlzIGZlYXR1cmUuCisg
ICAgICAgIEFsc28gY2xlYXIgdGhlIHNvb24tdG8tYmUtaW52YWxpZCBWaWV3R2VzdHVyZUNvbnRy
b2xsZXIgcG9pbnRlci4KKworICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
On5WaWV3R2VzdHVyZUNvbnRyb2xsZXIpOgorICAgICAgICBDYWxsIFtXS1N3aXBlVHJhbnNpdGlv
bkNvbnRyb2xsZXIgaW52YWxpZGF0ZV0gdXBvbiBkZXN0cnVjdGlvbi4KKyAgICAgICAgQ2xlYXIg
b3VyIHRyYW5zaXRpb24gY29udGV4dCdzIGludGVyYWN0b3IgYW5kIGFuaW1hdG9yLCBhbmQgaW5m
b3JtIGl0IHRoYXQKKyAgICAgICAgdGhlIHRyYW5zaXRpb24gaXMgbm90IGluIGZsaWdodC4gVGhp
cyBhdm9pZHMgYSBjcmFzaCB3aGVuIGNhbGxpbmcgYmFjaworICAgICAgICB0byB0aGUgYWxyZWFk
eS1kZXN0cm95ZWQgYW5pbWF0b3IgbGF0ZXIuCisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1
cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIEtlZXAgYSByZWZlcmVu
Y2UgdG8gdGhlIHRhcmdldCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOyB0aGlzIGF2b2lkcworICAg
ICAgICBpdCBiZWluZyBkZWxldGVkIGJldHdlZW4gaGVyZSBhbmQgdGhlIHRyYW5zaXRpb24gY29t
cGxldGlvbiBibG9jayBmaXJpbmcuCisKKyAgICAgICAgTG9vayB1cCB0aGUgVmlld0dlc3R1cmVD
b250cm9sbGVyIGJ5IHBhZ2VJRCwganVzdCBsaWtlIHdlIGRvIGluIGVuZFN3aXBlR2VzdHVyZSwK
KyAgICAgICAgdG8gYXZvaWQgc2l0dWF0aW9ucyB3aGVyZSB0aGUgY2FsbGJhY2sgZmlyZXMgYWZ0
ZXIgdGhlIFdLV2ViVmlldy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIKKyAgICAgICAgaGF2ZSBnb25l
IGF3YXkuCisKKyAgICAgICAgSG9sZCBvbiB0byBvdXIgX1VJVmlld0NvbnRyb2xsZXJPbmVUb09u
ZVRyYW5zaXRpb25Db250ZXh0LCBzbyB0aGF0IHdlIGNhbiBkbyB0aGUKKyAgICAgICAgYWZvcmVt
ZW50aW9uZWQgY2xlYXJpbmcgdXBvbiBkZWFsbG9jYXRpb24uCisKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUpOgorICAgICAgICBOdWxsIGNo
ZWNrIHRoZSBEcmF3aW5nQXJlYS4gSWYgaXQgaXMgbnVsbCwgaW5zdGVhZCBvZiBkb2luZyBvdXIg
bm9ybWFsIGRlbGF5ZWQgbG9naWMKKyAgICAgICAgZm9yIHN3aXBlIHNuYXBzaG90IHRlYXJkb3du
LCBqdXN0IHB1dCB0aGluZ3MgYmFjayB0b2dldGhlciBpbW1lZGlhdGVseS4KKworICAgICAgICAo
V2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3aXBlU25hcHNob3QpOgorICAg
ICAgICBDbGVhciBtX3N3aXBlVHJhbnNpdGlvbkNvbnRleHQuCisKIDIwMTQtMTAtMTUgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gQWxsb3cgc29t
ZSBLZXJiZXJvcyByZWxhdGVkIHBhdGhzIGluIHNhbmRib3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXgg
OGZlOWE2ZS4uZDQ2MmZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KQEAgLTUxLDYgKzUxLDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBpbnRlcmZhY2UgV0tTd2lwZVRyYW5zaXRpb25Db250
cm9sbGVyIDogTlNPYmplY3QgPF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNl
RGVsZWdhdGU+CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
KFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyKilnZXN0dXJlQ29udHJvbGxlciBnZXN0dXJl
UmVjb2duaXplclZpZXc6KFVJVmlldyAqKWdlc3R1cmVSZWNvZ25pemVyVmlldzsKKy0gKHZvaWQp
aW52YWxpZGF0ZTsKIEBlbmQKIAogQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRp
b25Db250ZXh0IChXS0RldGFpbHMpCkBAIC05MCw2ICs5MSwxMyBAQCBzdGF0aWMgSGFzaE1hcDx1
aW50NjRfdCwgV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXIqPiYgdmlld0dlc3R1cmVDb250
cm9sbGVycwogICAgIHJldHVybiBzZWxmOwogfQogCistICh2b2lkKWludmFsaWRhdGUKK3sKKyAg
ICBfYmFja1RyYW5zaXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKKyAgICBfZm9yd2FyZFRyYW5z
aXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKKyAgICBfZ2VzdHVyZUNvbnRyb2xsZXIgPSBudWxs
cHRyOworfQorCiAtIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U3dpcGVEaXJlY3Rp
b24pZGlyZWN0aW9uRm9yVHJhbnNpdGlvbjooX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNp
dGlvbkJhc2UgKil0cmFuc2l0aW9uCiB7CiAgICAgcmV0dXJuIHRyYW5zaXRpb24gPT0gX2JhY2tU
cmFuc2l0aW9uQ29udHJvbGxlciA/IFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lw
ZURpcmVjdGlvbjo6TGVmdCA6IFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURp
cmVjdGlvbjo6UmlnaHQ7CkBAIC0xNDUsNiArMTUzLDEwIEBAIFZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6Vmlld0dlc3R1cmVDb250cm9sbGVyKFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5KQogCiBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6On5WaWV3R2VzdHVyZUNvbnRyb2xsZXIoKQogeworICAgIFtt
X3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldFRyYW5zaXRpb25Jc0luRmxpZ2h0Ok5PXTsKKyAg
ICBbbV9zd2lwZVRyYW5zaXRpb25Db250ZXh0IF9zZXRJbnRlcmFjdG9yOm5pbF07CisgICAgW21f
c3dpcGVUcmFuc2l0aW9uQ29udGV4dCBfc2V0QW5pbWF0b3I6bmlsXTsKKyAgICBbbV9zd2lwZUlu
dGVyYWN0aXZlVHJhbnNpdGlvbkRlbGVnYXRlIGludmFsaWRhdGVdOwogICAgIHZpZXdHZXN0dXJl
Q29udHJvbGxlcnNGb3JBbGxQYWdlcygpLnJlbW92ZShtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7
CiB9CiAKQEAgLTE3Nyw3ICsxODksNyBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVn
aW5Td2lwZUdlc3R1cmUoX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbgogICAgIGlm
IChtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSAhPSAmbV93
ZWJQYWdlUHJveHkpCiAgICAgICAgIGJhY2tGb3J3YXJkTGlzdC5jdXJyZW50SXRlbSgpLT5zZXRT
bmFwc2hvdChtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2FyZExpc3QoKS5jdXJyZW50SXRlbSgpLT5z
bmFwc2hvdCgpKTsKIAotICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0gPSBk
aXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkxlZnQgPyBiYWNrRm9yd2FyZExpc3QuYmFja0l0
ZW0oKSA6IGJhY2tGb3J3YXJkTGlzdC5mb3J3YXJkSXRlbSgpOworICAgIFJlZlB0cjxXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtPiB0YXJnZXRJdGVtID0gZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9u
OjpMZWZ0ID8gYmFja0ZvcndhcmRMaXN0LmJhY2tJdGVtKCkgOiBiYWNrRm9yd2FyZExpc3QuZm9y
d2FyZEl0ZW0oKTsKIAogICAgIENHUmVjdCBsaXZlU3dpcGVWaWV3RnJhbWUgPSBbbV9saXZlU3dp
cGVWaWV3IGZyYW1lXTsKIApAQCAtMjE1LDI2ICsyMjcsMzEgQEAgdm9pZCBWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJlKF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5z
aXRpb24KICAgICBVSU5hdmlnYXRpb25Db250cm9sbGVyT3BlcmF0aW9uIHRyYW5zaXRpb25PcGVy
YXRpb24gPSBkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkxlZnQgPyBVSU5hdmlnYXRpb25D
b250cm9sbGVyT3BlcmF0aW9uUG9wIDogVUlOYXZpZ2F0aW9uQ29udHJvbGxlck9wZXJhdGlvblB1
c2g7CiAgICAgUmV0YWluUHRyPF9VSU5hdmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb24+IGFuaW1h
dGlvbkNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlv
biBhbGxvY10gaW5pdFdpdGhDdXJyZW50T3BlcmF0aW9uOnRyYW5zaXRpb25PcGVyYXRpb25dKTsK
IAotICAgIFJldGFpblB0cjxfVUlWaWV3Q29udHJvbGxlck9uZVRvT25lVHJhbnNpdGlvbkNvbnRl
eHQ+IHRyYW5zaXRpb25Db250ZXh0ID0gYWRvcHROUyhbW19VSVZpZXdDb250cm9sbGVyT25lVG9P
bmVUcmFuc2l0aW9uQ29udGV4dCBhbGxvY10gaW5pdF0pOwotICAgIFt0cmFuc2l0aW9uQ29udGV4
dCBfc2V0RnJvbVZpZXdDb250cm9sbGVyOnRhcmdldHRlZFZpZXdDb250cm9sbGVyLmdldCgpXTsK
LSAgICBbdHJhbnNpdGlvbkNvbnRleHQgX3NldFRvVmlld0NvbnRyb2xsZXI6c25hcHNob3RWaWV3
Q29udHJvbGxlci5nZXQoKV07Ci0gICAgW3RyYW5zaXRpb25Db250ZXh0IF9zZXRDb250YWluZXJW
aWV3Om1fdHJhbnNpdGlvbkNvbnRhaW5lclZpZXcuZ2V0KCldOwotICAgIFt0cmFuc2l0aW9uQ29u
dGV4dCBfc2V0RnJvbVN0YXJ0RnJhbWU6bGl2ZVN3aXBlVmlld0ZyYW1lXTsKLSAgICBbdHJhbnNp
dGlvbkNvbnRleHQgX3NldFRvRW5kRnJhbWU6bGl2ZVN3aXBlVmlld0ZyYW1lXTsKLSAgICBbdHJh
bnNpdGlvbkNvbnRleHQgX3NldFRvU3RhcnRGcmFtZTpDR1JlY3RaZXJvXTsKLSAgICBbdHJhbnNp
dGlvbkNvbnRleHQgX3NldEZyb21FbmRGcmFtZTpDR1JlY3RaZXJvXTsKLSAgICBbdHJhbnNpdGlv
bkNvbnRleHQgX3NldEFuaW1hdG9yOmFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0KCldOwotICAgIFt0
cmFuc2l0aW9uQ29udGV4dCBfc2V0SW50ZXJhY3Rvcjp0cmFuc2l0aW9uXTsKLSAgICBbdHJhbnNp
dGlvbkNvbnRleHQgX3NldFRyYW5zaXRpb25Jc0luRmxpZ2h0OllFU107Ci0gICAgW3RyYW5zaXRp
b25Db250ZXh0IF9zZXRJbnRlcmFjdGl2ZVVwZGF0ZUhhbmRsZXI6XihCT09MIGZpbmlzaCwgQ0dG
bG9hdCBwZXJjZW50LCBCT09MIHRyYW5zaXRpb25Db21wbGV0ZWQsIF9VSVZpZXdDb250cm9sbGVy
VHJhbnNpdGlvbkNvbnRleHQgKikgeworICAgIG1fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCA9IGFk
b3B0TlMoW1tfVUlWaWV3Q29udHJvbGxlck9uZVRvT25lVHJhbnNpdGlvbkNvbnRleHQgYWxsb2Nd
IGluaXRdKTsKKyAgICBbbV9zd2lwZVRyYW5zaXRpb25Db250ZXh0IF9zZXRGcm9tVmlld0NvbnRy
b2xsZXI6dGFyZ2V0dGVkVmlld0NvbnRyb2xsZXIuZ2V0KCldOworICAgIFttX3N3aXBlVHJhbnNp
dGlvbkNvbnRleHQgX3NldFRvVmlld0NvbnRyb2xsZXI6c25hcHNob3RWaWV3Q29udHJvbGxlci5n
ZXQoKV07CisgICAgW21fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCBfc2V0Q29udGFpbmVyVmlldzpt
X3RyYW5zaXRpb25Db250YWluZXJWaWV3LmdldCgpXTsKKyAgICBbbV9zd2lwZVRyYW5zaXRpb25D
b250ZXh0IF9zZXRGcm9tU3RhcnRGcmFtZTpsaXZlU3dpcGVWaWV3RnJhbWVdOworICAgIFttX3N3
aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldFRvRW5kRnJhbWU6bGl2ZVN3aXBlVmlld0ZyYW1lXTsK
KyAgICBbbV9zd2lwZVRyYW5zaXRpb25Db250ZXh0IF9zZXRUb1N0YXJ0RnJhbWU6Q0dSZWN0WmVy
b107CisgICAgW21fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCBfc2V0RnJvbUVuZEZyYW1lOkNHUmVj
dFplcm9dOworICAgIFttX3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldEFuaW1hdG9yOmFuaW1h
dGlvbkNvbnRyb2xsZXIuZ2V0KCldOworICAgIFttX3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3Nl
dEludGVyYWN0b3I6dHJhbnNpdGlvbl07CisgICAgW21fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCBf
c2V0VHJhbnNpdGlvbklzSW5GbGlnaHQ6WUVTXTsKKyAgICBbbV9zd2lwZVRyYW5zaXRpb25Db250
ZXh0IF9zZXRJbnRlcmFjdGl2ZVVwZGF0ZUhhbmRsZXI6XihCT09MIGZpbmlzaCwgQ0dGbG9hdCBw
ZXJjZW50LCBCT09MIHRyYW5zaXRpb25Db21wbGV0ZWQsIF9VSVZpZXdDb250cm9sbGVyVHJhbnNp
dGlvbkNvbnRleHQgKikgewogICAgICAgICBpZiAoZmluaXNoKQogICAgICAgICAgICAgbV93ZWJQ
YWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUtPm5hdmlnYXRpb25HZXN0
dXJlV2lsbEVuZCh0cmFuc2l0aW9uQ29tcGxldGVkLCAqdGFyZ2V0SXRlbSk7CiAgICAgfV07Ci0g
ICAgW3RyYW5zaXRpb25Db250ZXh0IF9zZXRDb21wbGV0aW9uSGFuZGxlcjpeKF9VSVZpZXdDb250
cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKmNvbnRleHQsIEJPT0wgZGlkQ29tcGxldGUpIHsgZW5k
U3dpcGVHZXN0dXJlKHRhcmdldEl0ZW0sIGNvbnRleHQsICFkaWRDb21wbGV0ZSk7IH1dOwotICAg
IFt0cmFuc2l0aW9uQ29udGV4dCBfc2V0SW50ZXJhY3RpdmVVcGRhdGVIYW5kbGVyOl4oQk9PTCwg
Q0dGbG9hdCwgQk9PTCwgX1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uQ29udGV4dCAqKSB7IH1d
OworICAgIHVpbnQ2NF90IHBhZ2VJRCA9IG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpOworICAgIFtt
X3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldENvbXBsZXRpb25IYW5kbGVyOl4oX1VJVmlld0Nv
bnRyb2xsZXJUcmFuc2l0aW9uQ29udGV4dCAqY29udGV4dCwgQk9PTCBkaWRDb21wbGV0ZSkgewor
ICAgICAgICBhdXRvIGdlc3R1cmVDb250cm9sbGVySXRlciA9IHZpZXdHZXN0dXJlQ29udHJvbGxl
cnNGb3JBbGxQYWdlcygpLmZpbmQocGFnZUlEKTsKKyAgICAgICAgaWYgKGdlc3R1cmVDb250cm9s
bGVySXRlciAhPSB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKS5lbmQoKSkKKyAg
ICAgICAgICAgIGdlc3R1cmVDb250cm9sbGVySXRlci0+dmFsdWUtPmVuZFN3aXBlR2VzdHVyZSh0
YXJnZXRJdGVtLmdldCgpLCBjb250ZXh0LCAhZGlkQ29tcGxldGUpOworICAgIH1dOworICAgIFtt
X3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldEludGVyYWN0aXZlVXBkYXRlSGFuZGxlcjpeKEJP
T0wsIENHRmxvYXQsIEJPT0wsIF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKikg
eyB9XTsKIAogICAgIFt0cmFuc2l0aW9uIHNldEFuaW1hdGlvbkNvbnRyb2xsZXI6YW5pbWF0aW9u
Q29udHJvbGxlci5nZXQoKV07Ci0gICAgW3RyYW5zaXRpb24gc3RhcnRJbnRlcmFjdGl2ZVRyYW5z
aXRpb246dHJhbnNpdGlvbkNvbnRleHQuZ2V0KCldOworICAgIFt0cmFuc2l0aW9uIHN0YXJ0SW50
ZXJhY3RpdmVUcmFuc2l0aW9uOm1fc3dpcGVUcmFuc2l0aW9uQ29udGV4dC5nZXQoKV07CiAKICAg
ICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpTd2lwZTsKIH0KQEAgLTI3
NSwxMiArMjkyLDE3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1
cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICBtX3dlYlBhZ2VQcm94
eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVEaWRF
bmQodHJ1ZSwgKnRhcmdldEl0ZW0pOwogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRM
aXN0Rm9yQ3VycmVudFN3aXBlLT5nb1RvQmFja0ZvcndhcmRJdGVtKHRhcmdldEl0ZW0pOwogCi0g
ICAgdWludDY0X3QgcGFnZUlEID0gbV93ZWJQYWdlUHJveHkucGFnZUlEKCk7Ci0gICAgbV93ZWJQ
YWdlUHJveHkuZHJhd2luZ0FyZWEoKS0+ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhbcGFn
ZUlEXSAoQ2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewotICAgICAgICBhdXRvIGdlc3R1cmVD
b250cm9sbGVySXRlciA9IHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpLmZpbmQo
cGFnZUlEKTsKLSAgICAgICAgaWYgKGdlc3R1cmVDb250cm9sbGVySXRlciAhPSB2aWV3R2VzdHVy
ZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKS5lbmQoKSkKLSAgICAgICAgICAgIGdlc3R1cmVDb250
cm9sbGVySXRlci0+dmFsdWUtPndpbGxDb21taXRQb3N0U3dpcGVUcmFuc2l0aW9uTGF5ZXJUcmVl
KGVycm9yID09IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwotICAgIH0pOworICAgIGlmIChh
dXRvIGRyYXdpbmdBcmVhID0gbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkgeworICAgICAg
ICB1aW50NjRfdCBwYWdlSUQgPSBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKTsKKyAgICAgICAgZHJh
d2luZ0FyZWEtPmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoW3BhZ2VJRF0gKENhbGxiYWNr
QmFzZTo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgICAgIGF1dG8gZ2VzdHVyZUNvbnRyb2xsZXJJ
dGVyID0gdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkuZmluZChwYWdlSUQpOwor
ICAgICAgICAgICAgaWYgKGdlc3R1cmVDb250cm9sbGVySXRlciAhPSB2aWV3R2VzdHVyZUNvbnRy
b2xsZXJzRm9yQWxsUGFnZXMoKS5lbmQoKSkKKyAgICAgICAgICAgICAgICBnZXN0dXJlQ29udHJv
bGxlckl0ZXItPnZhbHVlLT53aWxsQ29tbWl0UG9zdFN3aXBlVHJhbnNpdGlvbkxheWVyVHJlZShl
cnJvciA9PSBDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKTsKKyAgICAgICAgfSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgcmVtb3ZlU3dpcGVTbmFwc2hvdCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQogCiAgICAgbV9zd2lwZVdhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KHN3aXBlU25hcHNo
b3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbi5jb3VudCgpKTsKIH0KQEAgLTMzOCw2ICszNjAsOCBA
QCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCgpCiAKICAg
ICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+bmF2aWdh
dGlvbkdlc3R1cmVTbmFwc2hvdFdhc1JlbW92ZWQoKTsKICAgICBtX3dlYlBhZ2VQcm94eUZvckJh
Y2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSA9IG51bGxwdHI7CisKKyAgICBtX3N3aXBlVHJh
bnNpdGlvbkNvbnRleHQgPSBudWxscHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oCmluZGV4IGY0NmE1NDcuLjg5NDU4YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMzksOCArMzksOSBAQCBP
QkpDX0NMQVNTIENBTGF5ZXI7CiBPQkpDX0NMQVNTIFVJVmlldzsKIE9CSkNfQ0xBU1MgV0tTd2lw
ZVRyYW5zaXRpb25Db250cm9sbGVyOwogT0JKQ19DTEFTUyBXS1dlYlZpZXc7Ci1PQkpDX0NMQVNT
IF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQ7CiBPQkpDX0NMQVNTIF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlOworT0JKQ19DTEFTUyBfVUlWaWV3Q29udHJv
bGxlck9uZVRvT25lVHJhbnNpdGlvbkNvbnRleHQ7CitPQkpDX0NMQVNTIF9VSVZpZXdDb250cm9s
bGVyVHJhbnNpdGlvbkNvbnRleHQ7CiAjZWxzZQogT0JKQ19DTEFTUyBOU0V2ZW50OwogT0JKQ19D
TEFTUyBOU1ZpZXc7CkBAIC0yMDcsNiArMjA4LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8
VUlWaWV3PiBtX3NuYXBzaG90VmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBtX3RyYW5zaXRp
b25Db250YWluZXJWaWV3OwogICAgIFJldGFpblB0cjxXS1N3aXBlVHJhbnNpdGlvbkNvbnRyb2xs
ZXI+IG1fc3dpcGVJbnRlcmFjdGl2ZVRyYW5zaXRpb25EZWxlZ2F0ZTsKKyAgICBSZXRhaW5QdHI8
X1VJVmlld0NvbnRyb2xsZXJPbmVUb09uZVRyYW5zaXRpb25Db250ZXh0PiBtX3N3aXBlVHJhbnNp
dGlvbkNvbnRleHQ7CiAgICAgdWludDY0X3QgbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRSZW5kZXJU
cmVlU2l6ZTsKICAgICBib29sIG1fc2hvdWxkUmVtb3ZlU25hcHNob3RXaGVuVGFyZ2V0UmVuZGVy
VHJlZVNpemVIaXQ7CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBtX2FsdGVybmF0ZUJhY2tG
b3J3YXJkTGlzdFNvdXJjZVZpZXc7Cg==
</data>
<flag name="review"
          id="264685"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>