<?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>167605</bug_id>
          
          <creation_ts>2017-01-30 14:25:09 -0800</creation_ts>
          <short_desc>[GTK] Environment variables for enabling/disabling AC mode should take precedence over the API.</short_desc>
          <delta_ts>2017-01-31 00:58:55 -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>WebKitGTK</component>
          <version>WebKit 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>167509</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1271406</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-01-30 14:25:09 -0800</bug_when>
    <thetext>After r211363 &lt;http://trac.webkit.org/r211363&gt; the WEBKIT_DISABLE_COMPOSITING_MODE environment variable not longer works as one should expect.

Not sure if this was intentional or not.

But I think we should bring back this environment variable, and make it take precedence over any API setting that the application defines.


This is useful for the following use cases:

 * Testing if disabling AC makes a difference without having to rebuild the application to add a different API call. 
 * Letting the user override the application acceleration hardware policy, which is useful when the user has a broken graphics drivers, and despite of that wants to use a WebKitGTK+ based application that enables AC mode by default (or that enables it ondemand).

    - For example, users of nvidia binary graphics drivers right now can only use Epiphany flatpaks with this environment variable. Otherwise the browser will crash when trying to enter into AC mode. And I don&apos;t expect Epiphany to disable AC.

    - So with this at least the user can use this environment variable at runtime to override the HW policy settings of the application 



And the same for the other variable WEBKIT_FORCE_COMPISITING_MODE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271576</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-30 21:56:31 -0800</bug_when>
    <thetext>No need to convince me, it was not intentional :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271597</commentid>
    <comment_count>2</comment_count>
      <attachid>300190</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-30 23:46:19 -0800</bug_when>
    <thetext>Created attachment 300190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271618</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2017-01-31 00:45:41 -0800</bug_when>
    <thetext>I know it&apos;s already like this, but I personally find confusing from the user of the API POV, to have a set method that might work or not. I think it would be better to explicitly return the changed boolean so that we could immediately know whether or not the API call has succeeded.

Apart from that, I like the idea of adding this hardware manager class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271621</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-31 00:54:49 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I know it&apos;s already like this, but I personally find confusing from the user
&gt; of the API POV, to have a set method that might work or not. I think it
&gt; would be better to explicitly return the changed boolean so that we could
&gt; immediately know whether or not the API call has succeeded.

Yes, but still, it&apos;s very unlikely to happen, either the user set the env variables, so he/she knows what he/she is doing, or xwindow doesn&apos;t support xcomposite/xdamage (unlikely).

&gt; Apart from that, I like the idea of adding this hardware manager class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271622</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-31 00:58:55 -0800</bug_when>
    <thetext>Committed r211412: &lt;http://trac.webkit.org/changeset/211412&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300190</attachid>
            <date>2017-01-30 23:46:19 -0800</date>
            <delta_ts>2017-01-31 00:41:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-ac-policy-settings.diff</filename>
            <type>text/plain</type>
            <size>13609</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkMDg5Y2E4OTczZi4uMWFmZjk3MWMwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMyBAQAogMjAxNy0wMS0zMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW0dUS10gRW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBlbmFi
bGluZy9kaXNhYmxpbmcgQUMgbW9kZSBzaG91bGQgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIEFQ
SS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzYw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBI
YXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIgc2luZ2xldG9uIGhlbHBlciB0byBoYW5kbGUgdGhl
IGdsb2JhbCB2YWx1ZXMgZm9yIGVuYWJsaW5nLCBkaXNhYmxpbmcgb3IgZm9yY2luZworICAgICAg
ICBhY2NlbGVyYXRlZCBjb21wb3NpdGluZy4gVGhpcyBpcyB1c2VkIGJ5IFdlYlByZWZlcmVuY2Vz
IHRvIGluaXRpYWxpemUgdGhlIHZhbHVlcyBsaWtlIGFsd2F5cywgYnV0IGFsc28gYnkKKyAgICAg
ICAgV2ViS2l0U2V0dGluZ3MgdG8gZW5zdXJlIHRob3NlIHZhbHVlcyBhcmUgaG9ub3JlZCBhbmQg
YXJlIG5vdCBjaGFuZ2VkIHdoZW4gaXQncyBub3QgcG9zc2libGUuIFRoaXMgbmV3IGNsYXNzIGNh
bgorICAgICAgICBiZSB1c2VkIGluIHRoZSBmdXR1cmUgdG8gaW1wbGVtZW50IHRoZSBHUFUgYmxh
Y2tsaXN0LgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6IEFkZCBuZXcgZmlsZXMgdG8g
Y29tcGlsYXRpb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3Mu
Y3BwOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQpOiBEb2N1bWVudCB0aGF0
IHRoZSBzZXR0aW5nIGRlcGVuZHMgb24gYWN0dWFsIGhhcmR3YXJlIGNhcGFiaWxpdGllcy4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeSk6
IENoZWNrIEhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlciBiZWZvcmUgdHJ5aW5nIHRvIGNoYW5n
ZQorICAgICAgICB0aGUgc2V0dGluZ3MuCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9IYXJkd2Fy
ZUFjY2VsZXJhdGlvbk1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6SGFyZHdh
cmVBY2NlbGVyYXRpb25NYW5hZ2VyOjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViS2l0OjpIYXJk
d2FyZUFjY2VsZXJhdGlvbk1hbmFnZXI6OkhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcik6IElu
aXRpYWxpemUgbV9jYW5Vc2VIYXJkd2FyZUFjY2VsZXJhdGlvbiBhbmQKKyAgICAgICAgbV9mb3Jj
ZUhhcmR3YXJlQWNjZWxlcmF0aW9uIGRlcGVuZG9pbmcgb24gaGFyZHdhcmUgYW5kIHN5c3RlbSBj
YXBhYmlsaXRlcyBhbmQKKyAgICAgICAgV0VCS0lUX0RJU0FCTEVfQ09NUE9TSVRJTkdfTU9ERS9X
RUJLSVRfRk9SQ0VfQ09NUE9TSVRJTkdfTU9ERSB2YXJpYWJsZXMuCisgICAgICAgICogVUlQcm9j
ZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OkhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcjo6Y2FuVXNlSGFyZHdhcmVBY2NlbGVy
YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpIYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXI6OmZv
cmNlSGFyZHdhcmVBY2NlbGVyYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUHJl
ZmVyZW5jZXNHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6cGxhdGZv
cm1Jbml0aWFsaXplU3RvcmUpOiBVc2UgSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyIHRvIHNl
dCB0aGUgaW5pdGlhbCB2YWx1ZXMuCisKKzIwMTctMDEtMzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAgIFtHVEtdIEhUVFAgYXV0aGVudGljYXRp
b24gaXMgbm90IGltcGxlbWVudGVkIGZvciBkb3dubG9hZHMKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzU4MwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNt
YWtlCmluZGV4IDM4MWMwZDkyMjNjLi5jZjVlMjQ0NmQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UKQEAgLTMxMCw2ICszMTAsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAg
ICBVSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlWDExLmNwcAogICAgIFVJUHJv
Y2Vzcy9ndGsvRHJhZ0FuZERyb3BIYW5kbGVyLmNwcAogICAgIFVJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCisgICAgVUlQcm9jZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1h
bmFnZXIuY3BwCiAgICAgVUlQcm9jZXNzL2d0ay9JbnB1dE1ldGhvZEZpbHRlci5jcHAKICAgICBV
SVByb2Nlc3MvZ3RrL0tleUJpbmRpbmdUcmFuc2xhdG9yLmNwcAogICAgIFVJUHJvY2Vzcy9ndGsv
VGV4dENoZWNrZXJHdGsuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRTZXR0aW5ncy5jcHAKaW5kZXggYzBlNWZiNTJmYzguLjYxZjMzN2E1Y2I2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGlu
Z3MuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViS2l0U2V0dGluZ3MuaCIKIAorI2luY2x1ZGUgIkhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdl
ci5oIgogI2luY2x1ZGUgIldlYktpdEVudW1UeXBlcy5oIgogI2luY2x1ZGUgIldlYktpdFByaXZh
dGUuaCIKICNpbmNsdWRlICJXZWJLaXRTZXR0aW5nc1ByaXZhdGUuaCIKQEAgLTEyOTQsNiArMTI5
NSwxMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRTZXR0
aW5nc0NsYXNzKiBrbGFzcykKICAgICAgKiBjb21wbGV0ZWx5IHVzaW5nICVXRUJLSVRfSEFSRFdB
UkVfQUNDRUxFUkFUSU9OX1BPTElDWV9ORVZFUi4gTm90ZSB0aGF0IGRpc2FibGluZyBoYXJkd2Fy
ZQogICAgICAqIGFjY2VsZXJhdGlvbiBtaWdodCBjYXVzZSBzb21lIHdlYnNpdGVzIHRvIG5vdCBy
ZW5kZXIgY29ycmVjdGx5IG9yIGNvbnN1bWUgbW9yZSBDUFUuCiAgICAgICoKKyAgICAgKiBOb3Rl
IHRoYXQgY2hhbmdpbmcgdGhpcyBzZXR0aW5nIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBpZiBoYXJk
d2FyZSBhY2NlbGVyYXRpb24gaXMgbm90CisgICAgICogc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2Fy
ZSBvciB0aGUgc3lzdGVtLiBJbiB0aGF0IGNhc2UgeW91IGNhbiBnZXQgdGhlIHZhbHVlIHRvIGtu
b3cgdGhlCisgICAgICogYWN0dWFsIHBvbGljeSBiZWluZyB1c2VkLCBidXQgY2hhbmdpbmcgdGhl
IHNldHRpbmcgd2lsbCBub3QgaGF2ZSBhbnkgZWZmZWN0LgorICAgICAqCiAgICAgICogU2luY2U6
IDIuMTYKICAgICAgKi8KICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdPYmpl
Y3RDbGFzcywKQEAgLTMyMDksNiArMzIxNCw4IEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9o
YXJkd2FyZV9hY2NlbGVyYXRpb25fcG9saWN5KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywKICAg
ICBib29sIGNoYW5nZWQgPSBmYWxzZTsKICAgICBzd2l0Y2ggKHBvbGljeSkgewogICAgIGNhc2Ug
V0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfQUxXQVlTOgorICAgICAgICBpZiAo
IUhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcjo6c2luZ2xldG9uKCkuY2FuVXNlSGFyZHdhcmVB
Y2NlbGVyYXRpb24oKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKCFwcml2LT5w
cmVmZXJlbmNlcy0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgewogICAgICAgICAg
ICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRy
dWUpOwogICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CkBAIC0zMjE5LDYgKzMyMjYsOCBAQCB2
b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfaGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShXZWJL
aXRTZXR0aW5ncyogc2V0dGluZ3MsCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9ORVZFUjoKKyAgICAgICAgaWYg
KEhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yY2VIYXJkd2FyZUFj
Y2VsZXJhdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAocHJpdi0+cHJl
ZmVyZW5jZXMtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAg
IHByaXYtPnByZWZlcmVuY2VzLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxz
ZSk7CiAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKQEAgLTMyMjksMTggKzMyMzgsMTYgQEAg
dm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koV2Vi
S2l0U2V0dGluZ3MqIHNldHRpbmdzLAogICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIFdFQktJVF9IQVJEV0FSRV9BQ0NFTEVS
QVRJT05fUE9MSUNZX09OX0RFTUFORDoKLSAgICAgICAgaWYgKCFwcml2LT5wcmVmZXJlbmNlcy0+
YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoIXByaXYtPnBy
ZWZlcmVuY2VzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpICYmIEhhcmR3YXJlQWNj
ZWxlcmF0aW9uTWFuYWdlcjo6c2luZ2xldG9uKCkuY2FuVXNlSGFyZHdhcmVBY2NlbGVyYXRpb24o
KSkgewogICAgICAgICAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAg
IH0KIAotICAgICAgICBpZiAocHJpdi0+cHJlZmVyZW5jZXMtPmZvcmNlQ29tcG9zaXRpbmdNb2Rl
KCkpIHsKKyAgICAgICAgaWYgKHByaXYtPnByZWZlcmVuY2VzLT5mb3JjZUNvbXBvc2l0aW5nTW9k
ZSgpICYmICFIYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXI6OnNpbmdsZXRvbigpLmZvcmNlSGFy
ZHdhcmVBY2NlbGVyYXRpb24oKSkgewogICAgICAgICAgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNl
dEZvcmNlQ29tcG9zaXRpbmdNb2RlKGZhbHNlKTsKICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVl
OwogICAgICAgICB9Ci0KICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0hhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0hhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdl
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI3Y2RmZTg1NWIz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9IYXJkd2Fy
ZUFjY2VsZXJhdGlvbk1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJXYXlsYW5k
Q29tcG9zaXRvci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheS5oPgorCisjaWYgVVNFKFJFRElSRUNURURfWENP
TVBPU0lURV9XSU5ET1cpCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXlYMTEuaD4K
KyNlbmRpZgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK0hhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlciYgSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5h
Z2VyOjpzaW5nbGV0b24oKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXJkd2FyZUFj
Y2VsZXJhdGlvbk1hbmFnZXI+IG1hbmFnZXI7CisgICAgcmV0dXJuIG1hbmFnZXI7Cit9CisKK0hh
cmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcjo6SGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyKCkK
KyAgICA6IG1fY2FuVXNlSGFyZHdhcmVBY2NlbGVyYXRpb24odHJ1ZSkKKyAgICAsIG1fZm9yY2VI
YXJkd2FyZUFjY2VsZXJhdGlvbihmYWxzZSkKK3sKKyNpZiAhRU5BQkxFKE9QRU5HTCkKKyAgICBt
X2NhblVzZUhhcmR3YXJlQWNjZWxlcmF0aW9uID0gZmFsc2U7CisgICAgcmV0dXJuOworI2VuZGlm
CisKKyAgICBjb25zdCBjaGFyKiBkaXNhYmxlQ29tcG9zaXRpbmcgPSBnZXRlbnYoIldFQktJVF9E
SVNBQkxFX0NPTVBPU0lUSU5HX01PREUiKTsKKyAgICBpZiAoZGlzYWJsZUNvbXBvc2l0aW5nICYm
IHN0cmNtcChkaXNhYmxlQ29tcG9zaXRpbmcsICIwIikpIHsKKyAgICAgICAgbV9jYW5Vc2VIYXJk
d2FyZUFjY2VsZXJhdGlvbiA9IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisjaWYg
VVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCisgICAgaWYgKFBsYXRmb3JtRGlzcGxh
eTo6c2hhcmVkRGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5cGU6OlgxMSkg
eworICAgICAgICBhdXRvJiBkaXNwbGF5ID0gZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5WDExPihQ
bGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSk7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8
aW50PiBkYW1hZ2VCYXNlLCBlcnJvckJhc2U7CisgICAgICAgIGlmICghZGlzcGxheS5zdXBwb3J0
c1hDb21wb3NpdGUoKSB8fCAhZGlzcGxheS5zdXBwb3J0c1hEYW1hZ2UoZGFtYWdlQmFzZSwgZXJy
b3JCYXNlKSkgeworICAgICAgICAgICAgbV9jYW5Vc2VIYXJkd2FyZUFjY2VsZXJhdGlvbiA9IGZh
bHNlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShXQVlMQU5EKQorICAgIGlmIChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3Bs
YXkoKS50eXBlKCkgPT0gUGxhdGZvcm1EaXNwbGF5OjpUeXBlOjpXYXlsYW5kKSB7CisgICAgICAg
IGlmICghV2F5bGFuZENvbXBvc2l0b3I6OnNpbmdsZXRvbigpLmlzUnVubmluZygpKSB7CisgICAg
ICAgICAgICBtX2NhblVzZUhhcmR3YXJlQWNjZWxlcmF0aW9uID0gZmFsc2U7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKworICAgIGNvbnN0IGNoYXIqIGZv
cmNlQ29tcG9zaXRpbmcgPSBnZXRlbnYoIldFQktJVF9GT1JDRV9DT01QT1NJVElOR19NT0RFIik7
CisgICAgaWYgKGZvcmNlQ29tcG9zaXRpbmcgJiYgc3RyY21wKGZvcmNlQ29tcG9zaXRpbmcsICIw
IikpCisgICAgICAgIG1fZm9yY2VIYXJkd2FyZUFjY2VsZXJhdGlvbiA9IHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRmYTIzM2I1YTg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuaApA
QCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyKTsK
KyAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8SGFyZHdhcmVBY2NlbGVyYXRpb25NYW5h
Z2VyPjsKK3B1YmxpYzoKKyAgICBzdGF0aWMgSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyJiBz
aW5nbGV0b24oKTsKKworICAgIGJvb2wgY2FuVXNlSGFyZHdhcmVBY2NlbGVyYXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2NhblVzZUhhcmR3YXJlQWNjZWxlcmF0aW9uOyB9CisgICAgYm9vbCBmb3Jj
ZUhhcmR3YXJlQWNjZWxlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9mb3JjZUhhcmR3YXJlQWNj
ZWxlcmF0aW9uOyB9CisKK3ByaXZhdGU6CisgICAgSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2Vy
KCk7CisKKyAgICBib29sIG1fY2FuVXNlSGFyZHdhcmVBY2NlbGVyYXRpb24gOiAxOworICAgIGJv
b2wgbV9mb3JjZUhhcmR3YXJlQWNjZWxlcmF0aW9uIDogMTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQcmVm
ZXJlbmNlc0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVu
Y2VzR3RrLmNwcAppbmRleCBhNDVmMjAwMWEyNC4uZWNhNDIzYjcxYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUHJlZmVyZW5jZXNHdGsuY3BwCkBAIC0yNyw1
MCArMjcsMTcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNl
cy5oIgogCi0jaW5jbHVkZSAiV2F5bGFuZENvbXBvc2l0b3IuaCIKKyNpbmNsdWRlICJIYXJkd2Fy
ZUFjY2VsZXJhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVk
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXkuaD4KLQotI2lmIFVTRShSRURJ
UkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNw
bGF5WDExLmg+Ci0jZW5kaWYKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybUluaXRpYWxpemVTdG9y
ZSgpCiB7Ci0jaWYgIUVOQUJMRShPUEVOR0wpCi0gICAgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoZmFsc2UpOwotI2Vsc2UKLSAgICBjb25zdCBjaGFyKiBmb3JjZUNvbXBvc2l0aW5n
ID0gZ2V0ZW52KCJXRUJLSVRfRk9SQ0VfQ09NUE9TSVRJTkdfTU9ERSIpOwotICAgIGlmIChmb3Jj
ZUNvbXBvc2l0aW5nICYmIHN0cmNtcChmb3JjZUNvbXBvc2l0aW5nLCAiMCIpKQotICAgICAgICBz
ZXRGb3JjZUNvbXBvc2l0aW5nTW9kZSh0cnVlKTsKLQotICAgIGNvbnN0IGNoYXIqIGRpc2FibGVD
b21wb3NpdGluZyA9IGdldGVudigiV0VCS0lUX0RJU0FCTEVfQ09NUE9TSVRJTkdfTU9ERSIpOwot
ICAgIGlmIChkaXNhYmxlQ29tcG9zaXRpbmcgJiYgc3RyY21wKGRpc2FibGVDb21wb3NpdGluZywg
IjAiKSkgeworICAgIGlmICghSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyOjpzaW5nbGV0b24o
KS5jYW5Vc2VIYXJkd2FyZUFjY2VsZXJhdGlvbigpKQogICAgICAgICBzZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSNpZiBV
U0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBpZiAoUGxhdGZvcm1EaXNwbGF5
OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6WDExKSB7
Ci0gICAgICAgIGF1dG8mIGRpc3BsYXkgPSBkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlYMTE+KFBs
YXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKTsKLSAgICAgICAgc3RkOjpvcHRpb25hbDxp
bnQ+IGRhbWFnZUJhc2UsIGVycm9yQmFzZTsKLSAgICAgICAgaWYgKCFkaXNwbGF5LnN1cHBvcnRz
WENvbXBvc2l0ZSgpIHx8ICFkaXNwbGF5LnN1cHBvcnRzWERhbWFnZShkYW1hZ2VCYXNlLCBlcnJv
ckJhc2UpKQotICAgICAgICAgICAgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFs
c2UpOwotICAgIH0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oV0FZTEFORCkKLSAgICBpZiAoUGxh
dGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6
VHlwZTo6V2F5bGFuZCkgewotICAgICAgICBpZiAoIVdheWxhbmRDb21wb3NpdG9yOjpzaW5nbGV0
b24oKS5pc1J1bm5pbmcoKSkKLSAgICAgICAgICAgIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkKGZhbHNlKTsKLSAgICB9Ci0jZW5kaWYKLQotI2VuZGlmIC8vIEVOQUJMRShPUEVOR0wp
CisgICAgZWxzZSBpZiAoSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyOjpzaW5nbGV0b24oKS5m
b3JjZUhhcmR3YXJlQWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHNldEZvcmNlQ29tcG9zaXRpbmdN
b2RlKHRydWUpOwogfQogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybVVwZGF0ZVN0cmlu
Z1ZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCg==
</data>
<flag name="review"
          id="322108"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>