<?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>60220</bug_id>
          
          <creation_ts>2011-05-04 15:39:12 -0700</creation_ts>
          <short_desc>Send unhandled wheel events to parent window on Windows</short_desc>
          <delta_ts>2011-05-04 16:49:41 -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>PC</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeff Miller">jeffm</reporter>
          <assigned_to name="Jeff Miller">jeffm</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>398321</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 15:39:12 -0700</bug_when>
    <thetext>To match WebKit1 behavior, we need to send unhandled wheel events to the parent window on Windows to allow the application to deal with them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398331</commentid>
    <comment_count>1</comment_count>
      <attachid>92334</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 15:47:46 -0700</bug_when>
    <thetext>Created attachment 92334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398371</commentid>
    <comment_count>2</comment_count>
      <attachid>92334</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-04 16:19:18 -0700</bug_when>
    <thetext>Comment on attachment 92334
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2633
&gt; +#if PLATFORM(WIN)
&gt; +        if (!handled &amp;&amp; m_currentlyProcessedWheelEvent)
&gt; +            wheelEventNotHandled(*m_currentlyProcessedWheelEvent);
&gt; +#endif

Does this need to be Windows-only?

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:697
&gt; +#if PLATFORM(WIN)
&gt; +    void wheelEventNotHandled(NativeWebWheelEvent&amp;) const;
&gt; +#endif

Does this need to be Windows-only?

&gt; Source/WebKit2/UIProcess/API/qt/qwkpage.cpp:343
&gt; -    WebWheelEvent wheelEvent = WebEventFactory::createWebWheelEvent(ev);
&gt; +    NativeWebWheelEvent wheelEvent = NativeWebWheelEvent(ev);
&gt;      page-&gt;handleWheelEvent(wheelEvent);

Can we write this more simply, taking advantage of the default constructor?

&gt; Source/WebKit2/UIProcess/win/WebView.cpp:438
&gt; +    NativeWebWheelEvent wheelEvent = NativeWebWheelEvent(hWnd, message, wParam, lParam);

We should write this with construction syntax, not construct an object and then assign it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398396</commentid>
    <comment_count>3</comment_count>
      <attachid>92334</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 16:44:30 -0700</bug_when>
    <thetext>Comment on attachment 92334
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2633
&gt;&gt; +#endif
&gt; 
&gt; Does this need to be Windows-only?

I&apos;m certain this is not needed on the Mac, although I&apos;m not sure about other platforms.  I&apos;m assuming this is Windows-only for now.

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.h:697
&gt;&gt; +#endif
&gt; 
&gt; Does this need to be Windows-only?

I&apos;m certain this is not needed on the Mac, although I&apos;m not sure about other platforms.  I&apos;m assuming this is Windows-only for now.

&gt;&gt; Source/WebKit2/UIProcess/API/qt/qwkpage.cpp:343
&gt;&gt;      page-&gt;handleWheelEvent(wheelEvent);
&gt; 
&gt; Can we write this more simply, taking advantage of the default constructor?

I will clean this up before landing (hopefully without breaking the qt build, since I relied on the ews bots to catch my previous mistakes).

&gt;&gt; Source/WebKit2/UIProcess/win/WebView.cpp:438
&gt;&gt; +    NativeWebWheelEvent wheelEvent = NativeWebWheelEvent(hWnd, message, wParam, lParam);
&gt; 
&gt; We should write this with construction syntax, not construct an object and then assign it.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398403</commentid>
    <comment_count>4</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 16:49:41 -0700</bug_when>
    <thetext>Committed r85808: &lt;http://trac.webkit.org/changeset/85808&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92334</attachid>
            <date>2011-05-04 15:47:46 -0700</date>
            <delta_ts>2011-05-04 16:44:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60220-20110504154743.patch</filename>
            <type>text/plain</type>
            <size>11701</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1Nzk1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDUtMDQgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNlbmQgdW5oYW5kbGVkIHdoZWVsIGV2ZW50cyB0byBwYXJlbnQgd2lu
ZG93IG9uIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYwMjIwCisKKyAgICAgICAgS2VlcCB0cmFjayBvZiB3aGVlbCBldmVudHMgdXNpbmcg
TmF0aXZlV2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQgaW4gV2ViUGFnZVBy
b3h5CisgICAgICAgIHNvIHdlIGNhbiBzZW5kIHRoZSBuYXRpdmUgZXZlbnQgdG8gdGhlIHBhcmVu
dCB3aW5kb3cgaWYgV2ViS2l0IGRvZXNuJ3QgaGFuZGxlIGl0LgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOiBVc2UgTmF0aXZlV2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9m
IFdlYldoZWVsRXZlbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3Bw
OgorICAgICAgICAoUVdLUGFnZVByaXZhdGU6OndoZWVsRXZlbnQpOiBVc2UgTmF0aXZlV2ViV2hl
ZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdl
UHJveHkpOiBSZW1vdmVkIGluaXRpYWxpemF0aW9uIG9mIG9ic29sZXRlIG1fcHJvY2Vzc2luZ1do
ZWVsRXZlbnQgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0Ojpjb2FsZXNjZVdoZWVs
RXZlbnRzKTogVXNlIE5hdGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2ZW50
IGFuZCBhZGQgYSBub3RlIHRoYXQgdGhpcyB3b24ndCB3b3JrIGlmIHdlIGV2ZXIgZW5hYmxlIE1F
UkdFX1dIRUVMX0VWRU5UUy4gCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxl
V2hlZWxFdmVudCk6IFVzZSBOYXRpdmVXZWJXaGVlbEV2ZW50IGluc3RlYWQgb2YgV2ViV2hlZWxF
dmVudCwga2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBldmVudCBpbiBtX2N1cnJlbnRseVByb2Nl
c3NlZFdoZWVsRXZlbnQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2
ZUV2ZW50KTogQ2FsbCB3aGVlbEV2ZW50Tm90SGFuZGxlZCgpIG9uIFdpbmRvd3MgaWYgd2hlZWwg
ZXZlbnQgaXMgbm90IGhhbmRsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJv
Y2Vzc0RpZENyYXNoKTogQ2xlYXIgb3V0IG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IENoYW5nZSBoYW5kbGVXaGVlbEV2
ZW50KCkgdG8gdGFrZSBhIE5hdGl2ZVdlYldoZWVsRXZlbnQsIGFkZGVkIHdoZWVsRXZlbnROb3RI
YW5kbGVkKCkgb24gV2luZG93cywgcmVtb3ZlIG1fcHJvY2Vzc2luZ1doZWVsRXZlbnQsIGFkZCBt
X2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2lu
L1dlYlBhZ2VQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2hl
ZWxFdmVudE5vdEhhbmRsZWQpOiBBZGRlZC4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNz
L3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25XaGVlbEV2ZW50
KTogVXNlIE5hdGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2ZW50LgorCiAy
MDExLTA1LTA0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGlw
IGFuZCByZXBvc2l0aW9uIHdpbmRvd2VkIHBsdWdpbnMgd2hlbiB0aGUgVUkgcHJvY2VzcyBwYWlu
dHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZp
c2lvbiA4NTc4MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZUlELmgi
CiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdl
Yk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVk
ZSAiUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlByaW50SW5mby5oIgogI2luY2x1ZGUgIlNlc3Np
b25TdGF0ZS5oIgpAQCAtMTM4LDcgKzEzOSw2IEBAIFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5
KFBhZ2VDbGllbnQqIHAKICAgICAsIG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBY3Rpb25J
c1ZhbGlkKGZhbHNlKQogICAgICwgbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbihQ
b2xpY3lVc2UpCiAgICAgLCBtX3N5bmNOYXZpZ2F0aW9uQWN0aW9uUG9saWN5RG93bmxvYWRJRCgw
KQotICAgICwgbV9wcm9jZXNzaW5nV2hlZWxFdmVudChmYWxzZSkKICAgICAsIG1fcHJvY2Vzc2lu
Z01vdXNlTW92ZUV2ZW50KGZhbHNlKQogICAgICwgbV9wYWdlSUQocGFnZUlEKQogI2lmIFBMQVRG
T1JNKE1BQykKQEAgLTg2OSwzOSArODY5LDQxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVN
b3VzZUV2ZW50KGNvbnMKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Ok1v
dXNlRXZlbnQoZXZlbnQpLCBtX3BhZ2VJRCk7CiB9CiAKLXN0YXRpYyBQYXNzT3duUHRyPFdlYldo
ZWVsRXZlbnQ+IGNvYWxlc2NlV2hlZWxFdmVudHMoV2ViV2hlZWxFdmVudCogb2xkTmV4dFdoZWVs
RXZlbnQsIGNvbnN0IFdlYldoZWVsRXZlbnQmIG5ld1doZWVsRXZlbnQpCitzdGF0aWMgUGFzc093
blB0cjxOYXRpdmVXZWJXaGVlbEV2ZW50PiBjb2FsZXNjZVdoZWVsRXZlbnRzKE5hdGl2ZVdlYldo
ZWVsRXZlbnQqIG9sZE5leHRXaGVlbEV2ZW50LCBjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBu
ZXdXaGVlbEV2ZW50KQogewogI2lmIE1FUkdFX1dIRUVMX0VWRU5UUwogICAgIC8vIE1lcmdlIG1v
ZGVsOiBDb21iaW5lIHdoZWVsIGV2ZW50IGRlbHRhcyAoYW5kIHdoZWVsIHRpY2tzKSBpbnRvIGEg
c2luZ2xlIHdoZWVsIGV2ZW50LgogICAgIGlmICghb2xkTmV4dFdoZWVsRXZlbnQpCi0gICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgV2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50KSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgTmF0aXZlV2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50
KSk7CiAKICAgICBpZiAob2xkTmV4dFdoZWVsRXZlbnQtPnBvc2l0aW9uKCkgIT0gbmV3V2hlZWxF
dmVudC5wb3NpdGlvbigpIHx8IG9sZE5leHRXaGVlbEV2ZW50LT5tb2RpZmllcnMoKSAhPSBuZXdX
aGVlbEV2ZW50Lm1vZGlmaWVycygpIHx8IG9sZE5leHRXaGVlbEV2ZW50LT5ncmFudWxhcml0eSgp
ICE9IG5ld1doZWVsRXZlbnQuZ3JhbnVsYXJpdHkoKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBXZWJXaGVlbEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBOYXRpdmVXZWJXaGVlbEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKIAogICAgIEZsb2F0
U2l6ZSBtZXJnZWREZWx0YSA9IG9sZE5leHRXaGVlbEV2ZW50LT5kZWx0YSgpICsgbmV3V2hlZWxF
dmVudC5kZWx0YSgpOwogICAgIEZsb2F0U2l6ZSBtZXJnZWRXaGVlbFRpY2tzID0gb2xkTmV4dFdo
ZWVsRXZlbnQtPndoZWVsVGlja3MoKSArIG5ld1doZWVsRXZlbnQud2hlZWxUaWNrcygpOwogCi0g
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgbmV3
V2hlZWxFdmVudC5wb3NpdGlvbigpLCBuZXdXaGVlbEV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIG1l
cmdlZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBuZXdXaGVlbEV2ZW50LmdyYW51bGFyaXR5KCks
IG5ld1doZWVsRXZlbnQubW9kaWZpZXJzKCksIG5ld1doZWVsRXZlbnQudGltZXN0YW1wKCkpKTsK
KyAgICAvLyBGSVhNRTogVGhpcyB3b24ndCBjb21waWxlLCBpZiB3ZSBldmVyIHR1cm4gb24gTUVS
R0VfV0hFRUxfRVZFTlRTIHdlJ2xsIGhhdmUgdG8gZ2VuZXJhdGUgYSBOYXRpdmVXZWJXaGVlbEV2
ZW50IHN5bnRoZXRpY2FsbHkgZm9yIGVhY2ggcGxhdGZvcm0uCisgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBOYXRpdmVXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgbmV3V2hlZWxFdmVudC5w
b3NpdGlvbigpLCBuZXdXaGVlbEV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIG1lcmdlZERlbHRhLCBt
ZXJnZWRXaGVlbFRpY2tzLCBuZXdXaGVlbEV2ZW50LmdyYW51bGFyaXR5KCksIG5ld1doZWVsRXZl
bnQubW9kaWZpZXJzKCksIG5ld1doZWVsRXZlbnQudGltZXN0YW1wKCkpKTsKICNlbHNlCiAgICAg
Ly8gU2ltcGxlIG1vZGVsOiBKdXN0IGtlZXAgdGhlIGxhc3QgZXZlbnQsIGRyb3BwaW5nIGFsbCBp
bnRlcmltIGV2ZW50cy4KLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYldoZWVsRXZlbnQobmV3
V2hlZWxFdmVudCkpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgTmF0aXZlV2ViV2hlZWxFdmVu
dChuZXdXaGVlbEV2ZW50KSk7CiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYgZXZlbnQpCit2b2lkIFdlYlBhZ2VQcm94
eTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBldmVudCkKIHsK
ICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fcHJvY2Vz
c2luZ1doZWVsRXZlbnQpIHsKKyAgICBpZiAobV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50
KSB7CiAgICAgICAgIG1fbmV4dFdoZWVsRXZlbnQgPSBjb2FsZXNjZVdoZWVsRXZlbnRzKG1fbmV4
dFdoZWVsRXZlbnQuZ2V0KCksIGV2ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAK
KyAgICBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZl
V2ViV2hlZWxFdmVudChldmVudCkpOwogCiAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1Rp
bWVyKCktPnN0YXJ0KCk7CiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpX
aGVlbEV2ZW50KGV2ZW50KSwgbV9wYWdlSUQpOwotICAgIG1fcHJvY2Vzc2luZ1doZWVsRXZlbnQg
PSB0cnVlOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlS2V5Ym9hcmRFdmVudChjb25z
dCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiBldmVudCkKQEAgLTI2MjMsNyArMjYyNSwxNCBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KHVpbnQzCiAgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSBXZWJFdmVudDo6V2hlZWw6IHsKLSAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxF
dmVudCA9IGZhbHNlOworICAgICAgICBBU1NFUlQobV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2
ZW50KTsKKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgaWYgKCFoYW5kbGVkICYmIG1fY3Vy
cmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudCkKKyAgICAgICAgICAgIHdoZWVsRXZlbnROb3RIYW5k
bGVkKCptX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQpOworI2VuZGlmCisKKyAgICAgICAg
bV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50ID0gbnVsbHB0cjsKICAgICAgICAgaWYgKG1f
bmV4dFdoZWVsRXZlbnQpIHsKICAgICAgICAgICAgIGhhbmRsZVdoZWVsRXZlbnQoKm1fbmV4dFdo
ZWVsRXZlbnQpOwogICAgICAgICAgICAgbV9uZXh0V2hlZWxFdmVudCA9IG51bGxwdHI7CkBAIC0y
ODQxLDYgKzI4NTAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKICAg
ICAvLyBDYW4ndCBleHBlY3QgRGlkUmVjZWl2ZUV2ZW50IG5vdGlmaWNhdGlvbnMgZnJvbSBhIGNy
YXNoZWQgd2ViIHByb2Nlc3MuCiAgICAgbV9rZXlFdmVudFF1ZXVlLmNsZWFyKCk7CiAgICAgbV9u
ZXh0V2hlZWxFdmVudCA9IG51bGxwdHI7CisgICAgbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2
ZW50ID0gbnVsbHB0cjsKICAgICBtX25leHRNb3VzZU1vdmVFdmVudCA9IG51bGxwdHI7CiAgICAg
bV9jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCA9IG51bGxwdHI7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDg1NzgzKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBA
IC04Nyw2ICs4Nyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOYXRpdmVXZWJLZXli
b2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKK2NsYXNzIE5hdGl2ZVdlYldo
ZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwpAQCAtMzA2LDcgKzMwNyw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgdm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNl
RXZlbnQmKTsKLSAgICB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYp
OworICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50Jik7
CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQmKTsKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgdm9pZCBoYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50Jik7CkBAIC02OTEsNiArNjkyLDEwIEBAIHByaXZh
dGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBo
YW5kbGVkKTsKICAgICB2b2lkIHN0b3BSZXNwb25zaXZlbmVzc1RpbWVyKCk7CiAKKyNpZiBQTEFU
Rk9STShXSU4pCisgICAgdm9pZCB3aGVlbEV2ZW50Tm90SGFuZGxlZChOYXRpdmVXZWJXaGVlbEV2
ZW50JikgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgdm9pZENhbGxiYWNrKHVpbnQ2NF90KTsK
ICAgICB2b2lkIGRhdGFDYWxsYmFjayhjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgdWlu
dDY0X3QpOwogICAgIHZvaWQgc3RyaW5nQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgdWludDY0X3Qp
OwpAQCAtODI5LDcgKzgzNCw4IEBAIHByaXZhdGU6CiAKICAgICBEZXF1ZTxOYXRpdmVXZWJLZXli
b2FyZEV2ZW50PiBtX2tleUV2ZW50UXVldWU7CiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdXaGVlbEV2
ZW50OwotICAgIE93blB0cjxXZWJXaGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50OworICAgIE93
blB0cjxOYXRpdmVXZWJXaGVlbEV2ZW50PiBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQ7
CisgICAgT3duUHRyPE5hdGl2ZVdlYldoZWVsRXZlbnQ+IG1fbmV4dFdoZWVsRXZlbnQ7CiAKICAg
ICBib29sIG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50OwogICAgIE93blB0cjxOYXRpdmVXZWJN
b3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHJldmlzaW9uIDg1NzgzKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2
ICszNyw3IEBACiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50LmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisjaW1wb3J0ICJOYXRp
dmVXZWJXaGVlbEV2ZW50LmgiCiAjaW1wb3J0ICJQREZWaWV3Q29udHJvbGxlci5oIgogI2ltcG9y
dCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBvcnQgIlBhc3RlYm9hcmRUeXBlcy5oIgpAQCAtOTk0
LDE2ICs5OTUsMTYgQEAgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVwKQog
CiAjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKIAotI2RlZmluZSBFVkVOVF9IQU5E
TEVSKFNlbGVjdG9yLCBUeXBlKSBcCisjZGVmaW5lIE5BVElWRV9FVkVOVF9IQU5ETEVSKFNlbGVj
dG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVudCAqKXRoZUV2ZW50IFwK
ICAgICB7IFwKLSAgICAgICAgV2ViIyNUeXBlIyNFdmVudCB3ZWJFdmVudCA9IFdlYkV2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViIyNUeXBlIyNFdmVudCh0aGVFdmVudCwgc2VsZik7IFwKKyAgICAgICAg
TmF0aXZlV2ViIyNUeXBlIyNFdmVudCB3ZWJFdmVudCA9IE5hdGl2ZVdlYiMjVHlwZSMjRXZlbnQo
dGhlRXZlbnQsIHNlbGYpOyBcCiAgICAgICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlIyNUeXBlIyNF
dmVudCh3ZWJFdmVudCk7IFwKICAgICB9CiAKLUVWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdo
ZWVsKQorTkFUSVZFX0VWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQogCi0jdW5kZWYg
RVZFTlRfSEFORExFUgorI3VuZGVmIE5BVElWRV9FVkVOVF9IQU5ETEVSCiAKIC0gKHZvaWQpbW91
c2VNb3ZlZDooTlNFdmVudCAqKWV2ZW50CiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3a3BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAJKHJldmlzaW9uIDg1NzgzKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJOYXRpdmVX
ZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorI2lu
Y2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUgIlRpbGVkRHJhd2luZ0FyZWFQcm94eS5o
IgpAQCAtMzM4LDcgKzMzOSw3IEBAIHZvaWQgUVdLUGFnZVByaXZhdGU6Om1vdXNlRG91YmxlQ2xp
Y2tFdmUKIAogdm9pZCBRV0tQYWdlUHJpdmF0ZTo6d2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdo
ZWVsRXZlbnQqIGV2KQogewotICAgIFdlYldoZWVsRXZlbnQgd2hlZWxFdmVudCA9IFdlYkV2ZW50
RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChldik7CisgICAgTmF0aXZlV2ViV2hlZWxFdmVu
dCB3aGVlbEV2ZW50ID0gTmF0aXZlV2ViV2hlZWxFdmVudChldik7CiAgICAgcGFnZS0+aGFuZGxl
V2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5V2luLmNwcAkocmV2aXNpb24gODU3ODMpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHkuaCIKIAorI2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNs
dWRlICJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHlXaW4uaCIKIApA
QCAtNzAsNCArNzEsMTAgQEAgSFdORCBXZWJQYWdlUHJveHk6Om5hdGl2ZVdpbmRvdygpIGNvbnN0
CiAgICAgcmV0dXJuIG1fcGFnZUNsaWVudC0+bmF0aXZlV2luZG93KCk7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5Ojp3aGVlbEV2ZW50Tm90SGFuZGxlZChOYXRpdmVXZWJXaGVlbEV2ZW50JiBldmVu
dCkgY29uc3QKK3sKKyAgICBjb25zdCBNU0cqIG1zZyA9IGV2ZW50Lm5hdGl2ZUV2ZW50KCk7Cisg
ICAgOjpQb3N0TWVzc2FnZSg6OkdldFBhcmVudChuYXRpdmVXaW5kb3coKSksIG1zZy0+bWVzc2Fn
ZSwgbXNnLT53UGFyYW0sIG1zZy0+bFBhcmFtKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9u
IDg1NzgzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VF
dmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJSZWdp
b24uaCIKICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCkBAIC00
MzQsNyArNDM1LDcgQEAgTFJFU1VMVCBXZWJWaWV3Ojpvbk1vdXNlRXZlbnQoSFdORCBoV25kLAog
CiBMUkVTVUxUIFdlYlZpZXc6Om9uV2hlZWxFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwg
V1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBXZWJX
aGVlbEV2ZW50IHdoZWVsRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZl
bnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOworICAgIE5hdGl2ZVdlYldoZWVsRXZl
bnQgd2hlZWxFdmVudCA9IE5hdGl2ZVdlYldoZWVsRXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFt
LCBsUGFyYW0pOwogICAgIGlmICh3aGVlbEV2ZW50LmNvbnRyb2xLZXkoKSkgewogICAgICAgICAv
LyBXZSBkbyBub3Qgd2FudCBXZWJLaXQgdG8gaGFuZGxlIENvbnRyb2wgKyBXaGVlbCwgdGhpcyBz
aG91bGQgYmUgaGFuZGxlZCBieSB0aGUgY2xpZW50IGFwcGxpY2F0aW9uCiAgICAgICAgIC8vIHRv
IHpvb20gdGhlIHBhZ2UuCg==
</data>
<flag name="review"
          id="85287"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>