<?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>140610</bug_id>
          
          <creation_ts>2015-01-19 01:52:22 -0800</creation_ts>
          <short_desc>[GTK] Add API to change the WebKitWebView background color</short_desc>
          <delta_ts>2015-01-20 00:25:59 -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>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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1062298</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-19 01:52:22 -0800</bug_when>
    <thetext>Add webkit_web_view_get_background_color and webkit_web_view_set_background_color</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062308</commentid>
    <comment_count>1</comment_count>
      <attachid>244887</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-19 02:10:20 -0800</bug_when>
    <thetext>Created attachment 244887
Patch

I&apos;ve tried to check the actual rendering in the unit tests using different approaches but none of the actually worked. We can&apos;t use snapshots, because the background is rendered in the UI process by the backing store, and snapshots are rendered in an image surface without using the backing store. I also tried to use a GtkOffscreenWindow, but it uses xlib surfaces than when rendered into an image surface can&apos;t be compared at pixel level with an image surface manually filled. So, in the end I added a --bg-color command line option to MiniBrowser that can be used to manually tested. You can pass any value that can be parsed by gdk_rgba_parse().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062511</commentid>
    <comment_count>2</comment_count>
      <attachid>244887</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2015-01-19 14:58:15 -0800</bug_when>
    <thetext>Comment on attachment 244887
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:339
&gt; +#if PLATFORM(GTK)
&gt; +    , m_backgroundColor(Color::white)
&gt; +#endif

I read your description of its behaviour on the list:

  - WebPageProxy::setDrawsBackground(): This ends up calling FrameView::setTransparent() for every frame. It seems that when this is set to true the document or base background color is ignored.

There is a base background color already, then, can we use that instead of adding something else? Otherwise looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062663</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-20 00:24:48 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 244887 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244887&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:339
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +    , m_backgroundColor(Color::white)
&gt; &gt; +#endif
&gt; 
&gt; I read your description of its behaviour on the list:
&gt; 
&gt;   - WebPageProxy::setDrawsBackground(): This ends up calling
&gt; FrameView::setTransparent() for every frame. It seems that when this is set
&gt; to true the document or base background color is ignored.
&gt; 
&gt; There is a base background color already, then, can we use that instead of
&gt; adding something else? Otherwise looks good!

Not sure I understand what you mean. When we set drawsBrackground to False, WebCore doesn&apos;t render any background (unless the document itself specifies a background in the HTML or CSS). The default base color in FrameView is white, so when the white color is set by the user, we simply set the drawsBackground to True, and we don&apos;t need to fill our backing store. We need to initialize the WebPageProxy bg color member to white because we are comparing that value when a new color is set. If white color is set the first time, we simply do nothing, because that&apos;s already the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062664</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-20 00:25:59 -0800</bug_when>
    <thetext>Committed r178699: &lt;http://trac.webkit.org/changeset/178699&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244887</attachid>
            <date>2015-01-19 02:10:20 -0800</date>
            <delta_ts>2015-01-19 14:58:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-web-view-bg-color.diff</filename>
            <type>text/plain</type>
            <size>14889</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxNjI0NTc3Li5kNWU2YjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTUtMDEtMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gY2hhbmdlIHRoZSBXZWJLaXRXZWJWaWV3IGJh
Y2tncm91bmQgY29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDYxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdoZW4gYSBjb2xvciBkaWZmZXJlbnQgdGhhbiB0aGUgZGVmYXVsdCBvbmUgKG9wYXF1
ZSB3aGl0ZSkgaXMKKyAgICAgICAgdXNlZCwgdGhlIFNldERyYXdzQmFja2dyb3VuZCBtZXNzYWdl
IGlzIHNlbnQgdG8gdGhlIFdlYlByb2Nlc3Mgd2l0aAorICAgICAgICBhIEZhbHNlIHZhbHVlIHRv
IGluZGljYXRlIFdlYkNvcmUgdG8gbm90IHJlbmRlciBiYWNrZ3JvdW5kcy4gVGhlCisgICAgICAg
IGJhY2tncm91bmQgY29sb3IgcGFzc2VkIGlzIHNhdmVkIGluIHRoZSBXZWJQYWdlUHJveHkgYW5k
IHVzZWQgYnkKKyAgICAgICAgdGhlIGJhY2tpbmcgc3RvcmUgdG8gZmlsbCB0aGUgYmFja2dyb3Vu
ZCBiZWZvcmUgdGhlIGFjdHVhbAorICAgICAgICBjb250ZW50cyBhcmUgcmVuZGVyZWQgaW4gdGhl
IFdlYlZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfYmFja2dyb3VuZF9jb2xvcik6CisgICAg
ICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfY29sb3IpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJvbHMuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6V2ViUGFnZVByb3h5KTogSW5pdGlhbGl6ZSBtX2JhY2tncm91bmRDb2xvciBtZW1i
ZXIuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmJhY2tncm91bmRDb2xvcik6IFJldHVybiBtX2JhY2tncm91bmRDb2xv
ci4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IpOiBT
ZXQgbV9iYWNrZ3JvdW5kQ29sb3IuCisgICAgICAgICogVUlQcm9jZXNzL2NhaXJvL0JhY2tpbmdT
dG9yZUNhaXJvLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QmFja2luZ1N0b3JlOjppbmNvcnBvcmF0
ZVVwZGF0ZSk6IEZpbGwgdGhlIGRhbWFnZSByZWdpb24KKyAgICAgICAgd2l0aCB0aGUgV2ViUGFn
ZVByb3h5IGJhY2tncm91bmQgY29sb3Igd2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBub3QKKyAgICAg
ICAgcmVuZGVyaW5nIGJhY2tncm91bmRzLiBJZiB0aGUgYmFja2dyb3VuZCBjb2xvciBpcyBub3Qg
ZnVsbHkgb3BhcXVlCisgICAgICAgIHdlIG5lZWQgdG8gY2xlYXIgdGhlIHJlZ2lvbiBiZWZvcmUg
ZmlsbGluZyBpdCB3aXRoIHRoZSBjb2xvci4KKwogMjAxNS0wMS0xNSAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTc3MDc1
KTogW0dUS10gQ3JlYXRpbmcgYSBzZWNvbmQgd2ViIHZpZXcgZGlzYWJsZXMgYWNjZWxlcmF0ZWQg
Y29tcG9zaXRpbmcgaW4gZXhpc3Rpbmcgd2ViIHZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggMTNiZDMzOC4uNzhiODJj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTM1MDQsMyArMzUwNCw3MSBAQCB2b2lkIHdlYmtpdFdlYlZpZXdXZWJQcm9j
ZXNzQ3Jhc2hlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIGdfc2lnbmFsX2VtaXQod2Vi
Vmlldywgc2lnbmFsc1tXRUJfUFJPQ0VTU19DUkFTSEVEXSwgMCwgJnJldHVyblZhbHVlKTsKIH0K
IAorLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2JhY2tncm91bmRfY29sb3I6CisgKiBAd2Vi
X3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIEByZ2JhOiBhICNHZGtSR0JBCisgKgorICogU2V0
cyB0aGUgY29sb3IgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZHJhdyB0aGUgQHdlYl92aWV3IGJhY2tn
cm91bmQgYmVmb3JlCisgKiB0aGUgYWN0dWFsIGNvbnRlbnRzIGFyZSByZW5kZXJlZC4gTm90ZSB0
aGF0IGlmIHRoZSB3ZWIgcGFnZSBsb2FkZWQgaW4gQHdlYl92aWV3CisgKiBzcGVjaWZpZXMgYSBi
YWNrZ3JvdW5kIGNvbG9yLCBpdCB3aWxsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBAcmdiYSBj
b2xvci4KKyAqIEJ5IGRlZmF1bHQgdGhlIEB3ZWJfdmlldyBiYWNrZ3JvdW5kIGNvbG9yIGlzIG9w
YXF1ZSB3aGl0ZS4KKyAqIElmIHRoZSBAcmdiYSBjb2xvciBpcyBub3QgZnVsbHkgb3BhcXVlLCB0
aGUgcGFyZW50IHdpbmRvdyBtdXN0IGhhdmUgYSBSR0JBIHZpc3VhbCBhbmQKKyAqICNHdGtXaWRn
ZXQ6YXBwLXBhaW50YWJsZSBwcm9wZXJ0eSBzZXQgdG8gJVRSVUUsIGZvciB0aGUgdHJhbnNwYXJl
bmNpZXMgdG8gd29yay4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPjxwcm9ncmFtbGlzdGluZz4K
KyAqIHN0YXRpYyB2b2lkIGJyb3dzZXJfd2luZG93X3NldF9iYWNrZ3JvdW5kX2NvbG9yIChCcm93
c2VyV2luZG93ICp3aW5kb3csCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAqcmdiYSkKKyAqIHsKKyAqICAgICBXZWJLaXRX
ZWJWaWV3ICp3ZWJfdmlldzsKKyAqCisgKiAgICAgaWYgKHJnYmEtPmFscGhhIDwgMSkgeworICog
ICAgICAgICBHZGtTY3JlZW4gKnNjcmVlbiA9IGd0a193aW5kb3dfZ2V0X3NjcmVlbiAoR1RLX1dJ
TkRPVyAod2luZG93KSk7CisgKiAgICAgICAgIEdka1Zpc3VhbCAqcmdiYV92aXN1YWwgPSBnZGtf
c2NyZWVuX2dldF9yZ2JhX3Zpc3VhbCAoc2NyZWVuKTsKKyAqCisgKiAgICAgICAgIGlmICghcmdi
YV92aXN1YWwpCisgKiAgICAgICAgICAgICAgcmV0dXJuOworICoKKyAqICAgICAgICAgZ3RrX3dp
ZGdldF9zZXRfdmlzdWFsIChHVEtfV0lER0VUICh3aW5kb3cpLCByZ2JhX3Zpc3VhbCk7CisgKiAg
ICAgICAgIGd0a193aWRnZXRfc2V0X2FwcF9wYWludGFibGUgKEdUS19XSURHRVQgKHdpbmRvdyks
IFRSVUUpOworICogICAgIH0KKyAqCisgKiAgICAgd2ViX3ZpZXcgPSBicm93c2VyX3dpbmRvd19n
ZXRfd2ViX3ZpZXcgKHdpbmRvdyk7CisgKiAgICAgd2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3Jv
dW5kX2NvbG9yICh3ZWJfdmlldywgcmdiYSk7CisgKiB9CisgKiA8L3Byb2dyYW1saXN0aW5nPjwv
aW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFNpbmNlOiAyLjgKKyAqLwordm9pZCB3ZWJraXRfd2Vi
X3ZpZXdfc2V0X2JhY2tncm91bmRfY29sb3IoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3Qg
R2RrUkdCQSogcmdiYSkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklF
Vyh3ZWJWaWV3KSk7CisgICAgZ19yZXR1cm5faWZfZmFpbChyZ2JhKTsKKworICAgIENvbG9yIGNv
bG9yKCpyZ2JhKTsKKyAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSBnZXRQYWdlKHdlYlZpZXcpOwor
ICAgIGlmIChwYWdlLT5iYWNrZ3JvdW5kQ29sb3IoKSA9PSBjb2xvcikKKyAgICAgICAgcmV0dXJu
OworCisgICAgcGFnZS0+c2V0QmFja2dyb3VuZENvbG9yKGNvbG9yKTsKKyAgICBwYWdlLT5zZXRE
cmF3c0JhY2tncm91bmQoY29sb3IgPT0gQ29sb3I6OndoaXRlKTsKK30KKworLyoqCisgKiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfY29sb3I6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktp
dFdlYlZpZXcKKyAqIEByZ2JhOiAob3V0KTogYSAjR2RrUkdCQSB0byBmaWxsIGluIHdpdGggdGhl
IGJhY2tncm91bmQgY29sb3IKKyAqCisgKiBHZXRzIHRoZSBjb2xvciB0aGF0IGlzIHVzZWQgdG8g
ZHJhdyB0aGUgQHdlYl92aWV3IGJhY2tncm91bmQgYmVmb3JlCisgKiB0aGUgYWN0dWFsIGNvbnRl
bnRzIGFyZSByZW5kZXJlZC4KKyAqIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBhbHNvIHdlYmtp
dF93ZWJfdmlld19zZXRfYmFja2dyb3VuZF9jb2xvcigpCisgKgorICogU2luY2U6IDIuOAorICov
Cit2b2lkIHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2dyb3VuZF9jb2xvcihXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3LCBHZGtSR0JBKiByZ2JhKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKHJnYmEpOworCisg
ICAgKnJnYmEgPSBnZXRQYWdlKHdlYlZpZXcpLT5iYWNrZ3JvdW5kQ29sb3IoKTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBk
YTNmMTY1Li4zZTZjNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oCkBAIC00NzQsNiArNDc0LDE0IEBAIHdlYmtpdF93ZWJfdmlld19n
ZXRfc25hcHNob3RfZmluaXNoICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcKIFdFQktJ
VF9BUEkgV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyICoKIHdlYmtpdF93ZWJfdmlld19nZXRfdXNl
cl9jb250ZW50X21hbmFnZXIgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAg
KndlYl92aWV3KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2JhY2tn
cm91bmRfY29sb3IgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3
ZWJfdmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEdka1JHQkEgICAgICAgICAgICAgKnJnYmEpOworCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF93ZWJfdmlld19nZXRfYmFja2dyb3VuZF9jb2xvciAgICAgICAgICAgICAgICAg
KFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrUkdCQSAgICAgICAgICAgICAg
ICAgICAqcmdiYSk7CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9u
cy50eHQKaW5kZXggZjM2NmQwYS4uNzQ5Zjg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0
CkBAIC0xOTksNiArMTk5LDggQEAgd2Via2l0X3dlYl92aWV3X2Rvd25sb2FkX3VyaQogd2Via2l0
X3dlYl92aWV3X2dldF90bHNfaW5mbwogd2Via2l0X3dlYl92aWV3X2dldF9zbmFwc2hvdAogd2Vi
a2l0X3dlYl92aWV3X2dldF9zbmFwc2hvdF9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19zZXRfYmFj
a2dyb3VuZF9jb2xvcgord2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5kX2NvbG9yCiAKIDxT
VUJTRUNUSU9OIFdlYktpdEphdmFzY3JpcHRSZXN1bHQ+CiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGYwYTY5OWYu
LmQ0ODg4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC0zMzQsNiArMzM0LDkgQEAgV2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYg
cGFnZUNsaWVudCwgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzLCB1aW4KICNpZiBQTEFURk9STShD
T0NPQSkKICAgICAsIG1faXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoVGV4dENoZWNrZXI6Omlz
U21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkpCiAjZW5kaWYKKyNpZiBQTEFURk9STShHVEspCisg
ICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6d2hpdGUpCisjZW5kaWYKICAgICAsIG1fc3Bl
bGxEb2N1bWVudFRhZygwKQogICAgICwgbV9oYXNTcGVsbERvY3VtZW50VGFnKGZhbHNlKQogICAg
ICwgbV9wZW5kaW5nTGVhcm5Pcklnbm9yZVdvcmRNZXNzYWdlQ291bnQoMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwNTAyZmFlLi40MmI3MzFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01NTEsNiArNTUxLDggQEAgcHVi
bGljOgogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIFBsYXRmb3JtV2lkZ2V0IHZpZXdX
aWRnZXQoKTsKKyAgICBjb25zdCBXZWJDb3JlOjpDb2xvciYgYmFja2dyb3VuZENvbG9yKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kQ29sb3I7IH0KKyAgICB2b2lkIHNldEJhY2tncm91bmRD
b2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBj
b2xvcjsgfQogI2VuZGlmCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKICAgICB2b2lkIGNvbW1pdFBhZ2VUcmFuc2l0aW9uVmlld3BvcnQoKTsKQEAgLTE1MzEsNiAr
MTUzMyw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgU3RyaW5nIG1fYWNj
ZXNzaWJpbGl0eVBsdWdJRDsKKyAgICBXZWJDb3JlOjpDb2xvciBtX2JhY2tncm91bmRDb2xvcjsK
ICNlbmRpZgogCiAgICAgaW50NjRfdCBtX3NwZWxsRG9jdW1lbnRUYWc7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2NhaXJvL0JhY2tpbmdTdG9yZUNhaXJvLmNwcAppbmRleCBi
NDRhMjljLi5hNWExM2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvY2Fp
cm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9j
YWlyby9CYWNraW5nU3RvcmVDYWlyby5jcHAKQEAgLTk1LDYgKzk1LDE1IEBAIHZvaWQgQmFja2lu
Z1N0b3JlOjppbmNvcnBvcmF0ZVVwZGF0ZShTaGFyZWFibGVCaXRtYXAqIGJpdG1hcCwgY29uc3Qg
VXBkYXRlSW5mbyYKICAgICBmb3IgKGNvbnN0IGF1dG8mIHVwZGF0ZVJlY3QgOiB1cGRhdGVJbmZv
LnVwZGF0ZVJlY3RzKSB7CiAgICAgICAgIEludFJlY3Qgc3JjUmVjdCA9IHVwZGF0ZVJlY3Q7CiAg
ICAgICAgIHNyY1JlY3QubW92ZSgtdXBkYXRlUmVjdExvY2F0aW9uLngoKSwgLXVwZGF0ZVJlY3RM
b2NhdGlvbi55KCkpOworI2lmIFBMQVRGT1JNKEdUSykKKyAgICAgICAgaWYgKCFtX3dlYlBhZ2VQ
cm94eS5kcmF3c0JhY2tncm91bmQoKSkgeworICAgICAgICAgICAgY29uc3QgV2ViQ29yZTo6Q29s
b3IgY29sb3IgPSBtX3dlYlBhZ2VQcm94eS5iYWNrZ3JvdW5kQ29sb3IoKTsKKyAgICAgICAgICAg
IGlmIChjb2xvci5oYXNBbHBoYSgpKQorICAgICAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5j
bGVhclJlY3Qoc3JjUmVjdCk7CisgICAgICAgICAgICBpZiAoY29sb3IuYWxwaGEoKSA+IDApCisg
ICAgICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxSZWN0KHNyY1JlY3QsIGNvbG9yLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGJpdG1hcC0+
cGFpbnQoZ3JhcGhpY3NDb250ZXh0LCBkZXZpY2VTY2FsZUZhY3RvcigpLCB1cGRhdGVSZWN0Lmxv
Y2F0aW9uKCksIHNyY1JlY3QpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NDFiYzE4Li41YjkxMTFiIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MTUtMDEtMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdIEFkZCBBUEkgdG8gY2hhbmdlIHRoZSBXZWJLaXRXZWJWaWV3IGJhY2tncm91
bmQgY29sb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MDYxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCAtLWJnLWNvbG9yIGNvbW1hbmQgbGluZSBvcHRpb24gdG8gTWluaUJyb3dzZXIgdG8gYmUg
YWJsZSB0bworICAgICAgICBtYW51YWxseSB0ZXN0IHRoZSBBUEkgcGFzc2luZyBhbnkgUkdCQSBj
b2xvciB0byBNaW5pQnJvd3Nlci4KKyAgICAgICAgQWxzbyBhZGQgYSBzaW1wbGUgdW5pdCB0ZXN0
IHRvIGNoZWNrIHRoYXQgZ2V0dGluZyBhbmQgc2V0dGluZworICAgICAgICBjb2xvcnMgZnJvbSB0
aGUgQVBJIHBvaW50IG9mIHZpZXcuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3Nl
cldpbmRvdy5jOgorICAgICAgICAoYnJvd3Nlcl93aW5kb3dfc2V0X2JhY2tncm91bmRfY29sb3Ip
OgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93Lmg6CisgICAgICAgICog
TWluaUJyb3dzZXIvZ3RrL21haW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cpOgor
ICAgICAgICAocGFyc2VCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh0ZXN0V2Vi
Vmlld0JhY2tncm91bmRDb2xvcik6CisgICAgICAgIChiZWZvcmVBbGwpOgorCiAyMDE1LTAxLTE0
ICBKYWtlIE5pZWxzZW4gIDxqYWNvYl9uaWVsc2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmVh
dGUgaU9TLUVXUyBzZXJ2ZXIgcXVldWUKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0
ay9Ccm93c2VyV2luZG93LmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5j
CmluZGV4IDJiOTBkYWEuLmJiMWQyYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0
ay9Ccm93c2VyV2luZG93LmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5k
b3cuYwpAQCAtOTI0LDMgKzkyNCwyNSBAQCB2b2lkIGJyb3dzZXJfd2luZG93X2xvYWRfdXJpKEJy
b3dzZXJXaW5kb3cgKndpbmRvdywgY29uc3QgY2hhciAqdXJpKQogCiAgICAgd2Via2l0X3dlYl92
aWV3X3J1bl9qYXZhc2NyaXB0KHdpbmRvdy0+d2ViVmlldywgc3Ryc3RyKHVyaSwgImphdmFzY3Jp
cHQ6IiksIE5VTEwsIE5VTEwsIE5VTEwpOwogfQorCit2b2lkIGJyb3dzZXJfd2luZG93X3NldF9i
YWNrZ3JvdW5kX2NvbG9yKEJyb3dzZXJXaW5kb3cgKndpbmRvdywgR2RrUkdCQSAqcmdiYSkKK3sK
KyAgICBnX3JldHVybl9pZl9mYWlsKEJST1dTRVJfSVNfV0lORE9XKHdpbmRvdykpOworICAgIGdf
cmV0dXJuX2lmX2ZhaWwocmdiYSk7CisKKyAgICBHZGtSR0JBIHZpZXdSR0JBOworICAgIHdlYmtp
dF93ZWJfdmlld19nZXRfYmFja2dyb3VuZF9jb2xvcih3aW5kb3ctPndlYlZpZXcsICZ2aWV3UkdC
QSk7CisgICAgaWYgKGdka19yZ2JhX2VxdWFsKHJnYmEsICZ2aWV3UkdCQSkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChyZ2JhLT5hbHBoYSA8IDEpIHsKKyAgICAgICAgR2RrVmlzdWFsICpy
Z2JhVmlzdWFsID0gZ2RrX3NjcmVlbl9nZXRfcmdiYV92aXN1YWwoZ3RrX3dpbmRvd19nZXRfc2Ny
ZWVuKEdUS19XSU5ET1cod2luZG93KSkpOworICAgICAgICBpZiAoIXJnYmFWaXN1YWwpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgZ3RrX3dpZGdldF9zZXRfdmlzdWFsKEdUS19XSURH
RVQod2luZG93KSwgcmdiYVZpc3VhbCk7CisgICAgICAgIGd0a193aWRnZXRfc2V0X2FwcF9wYWlu
dGFibGUoR1RLX1dJREdFVCh3aW5kb3cpLCBUUlVFKTsKKyAgICB9CisKKyAgICB3ZWJraXRfd2Vi
X3ZpZXdfc2V0X2JhY2tncm91bmRfY29sb3Iod2luZG93LT53ZWJWaWV3LCByZ2JhKTsKK30KZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmggYi9Ub29scy9N
aW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5oCmluZGV4IDc5MTBiZWQuLmQwNjFlNDAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmgKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuaApAQCAtNDcsNiArNDcsNyBAQCBHVHlw
ZSBicm93c2VyX3dpbmRvd19nZXRfdHlwZSh2b2lkKTsKIEd0a1dpZGdldCogYnJvd3Nlcl93aW5k
b3dfbmV3KFdlYktpdFdlYlZpZXcqLCBHdGtXaW5kb3cqKTsKIFdlYktpdFdlYlZpZXcqIGJyb3dz
ZXJfd2luZG93X2dldF92aWV3KEJyb3dzZXJXaW5kb3cqKTsKIHZvaWQgYnJvd3Nlcl93aW5kb3df
bG9hZF91cmkoQnJvd3NlcldpbmRvdyAqLCBjb25zdCBjaGFyICp1cmkpOwordm9pZCBicm93c2Vy
X3dpbmRvd19zZXRfYmFja2dyb3VuZF9jb2xvcihCcm93c2VyV2luZG93KiwgR2RrUkdCQSopOwog
CiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5j
IGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYwppbmRleCAyYmZjMTcwLi5lNWU0ZGEzIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9tYWluLmMKQEAgLTM3LDYgKzM3LDcgQEAKIAogc3RhdGljIGNvbnN0IGdjaGFy
ICoqdXJpQXJndW1lbnRzID0gTlVMTDsKIHN0YXRpYyBjb25zdCBjaGFyICptaW5pQnJvd3NlckFi
b3V0U2NoZW1lID0gIm1pbmlicm93c2VyLWFib3V0IjsKK3N0YXRpYyBHZGtSR0JBICpiYWNrZ3Jv
dW5kQ29sb3I7CiAKIHR5cGVkZWYgZW51bSB7CiAgICAgTUlOSV9CUk9XU0VSX0VSUk9SX0lOVkFM
SURfQUJPVVRfUEFUSApAQCAtNjAsNiArNjEsOCBAQCBzdGF0aWMgdm9pZCBjcmVhdGVCcm93c2Vy
V2luZG93KGNvbnN0IGdjaGFyICp1cmksIFdlYktpdFNldHRpbmdzICp3ZWJraXRTZXR0aW5ncwog
ewogICAgIEd0a1dpZGdldCAqd2ViVmlldyA9IHdlYmtpdF93ZWJfdmlld19uZXcoKTsKICAgICBH
dGtXaWRnZXQgKm1haW5XaW5kb3cgPSBicm93c2VyX3dpbmRvd19uZXcoV0VCS0lUX1dFQl9WSUVX
KHdlYlZpZXcpLCBOVUxMKTsKKyAgICBpZiAoYmFja2dyb3VuZENvbG9yKQorICAgICAgICBicm93
c2VyX3dpbmRvd19zZXRfYmFja2dyb3VuZF9jb2xvcihCUk9XU0VSX1dJTkRPVyhtYWluV2luZG93
KSwgYmFja2dyb3VuZENvbG9yKTsKICAgICBnY2hhciAqdXJsID0gYXJndW1lbnRUb1VSTCh1cmkp
OwogCiAgICAgaWYgKHdlYmtpdFNldHRpbmdzKQpAQCAtNzIsOCArNzUsMjEgQEAgc3RhdGljIHZv
aWQgY3JlYXRlQnJvd3NlcldpbmRvdyhjb25zdCBnY2hhciAqdXJpLCBXZWJLaXRTZXR0aW5ncyAq
d2Via2l0U2V0dGluZ3MKICAgICBndGtfd2lkZ2V0X3Nob3cobWFpbldpbmRvdyk7CiB9CiAKK3N0
YXRpYyBnYm9vbGVhbiBwYXJzZUJhY2tncm91bmRDb2xvcihjb25zdCBjaGFyICpvcHRpb25OYW1l
LCBjb25zdCBjaGFyICp2YWx1ZSwgZ3BvaW50ZXIgZGF0YSwgR0Vycm9yICoqZXJyb3IpCit7Cisg
ICAgR2RrUkdCQSByZ2JhOworICAgIGlmIChnZGtfcmdiYV9wYXJzZSgmcmdiYSwgdmFsdWUpKSB7
CisgICAgICAgIGJhY2tncm91bmRDb2xvciA9IGdka19yZ2JhX2NvcHkoJnJnYmEpOworICAgICAg
ICByZXR1cm4gVFJVRTsKKyAgICB9CisKKyAgICBnX3NldF9lcnJvcihlcnJvciwgR19PUFRJT05f
RVJST1IsIEdfT1BUSU9OX0VSUk9SX0ZBSUxFRCwgIkZhaWxlZCB0byBwYXJzZSAnJXMnIGFzIFJH
QkEgY29sb3IiLCB2YWx1ZSk7CisgICAgcmV0dXJuIEZBTFNFOworfQorCiBzdGF0aWMgY29uc3Qg
R09wdGlvbkVudHJ5IGNvbW1hbmRMaW5lT3B0aW9uc1tdID0KIHsKKyAgICB7ICJiZy1jb2xvciIs
IDAsIDAsIEdfT1BUSU9OX0FSR19DQUxMQkFDSywgcGFyc2VCYWNrZ3JvdW5kQ29sb3IsICJCYWNr
Z3JvdW5kIGNvbG9yIiwgTlVMTCB9LAogICAgIHsgR19PUFRJT05fUkVNQUlOSU5HLCAwLCAwLCBH
X09QVElPTl9BUkdfRklMRU5BTUVfQVJSQVksICZ1cmlBcmd1bWVudHMsIDAsICJbVVJM4oCmXSIg
fSwKICAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDAgfQogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2ViVmlldy5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFdlYlZpZXcuY3BwCmlu
ZGV4IDQ4NGQ3YTQuLjE3N2E2YmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2ViVmlldy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcApAQCAtNzQ0LDYgKzc0
NCwzMSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0lzUGxheWluZ0F1ZGlvKElzUGxheWluZ0F1
ZGlvV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaQogICAgIGdfYXNzZXJ0KCF3ZWJraXRfd2Vi
X3ZpZXdfaXNfcGxheWluZ19hdWRpbyh0ZXN0LT5tX3dlYlZpZXcpKTsKIH0KIAorc3RhdGljIHZv
aWQgdGVzdFdlYlZpZXdCYWNrZ3JvdW5kQ29sb3IoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBv
aW50ZXIpCit7CisgICAgLy8gV2hpdGUgaXMgdGhlIGRlZmF1bHQgYmFja2dyb3VuZC4KKyAgICBH
ZGtSR0JBIHJnYmE7CisgICAgd2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5kX2NvbG9yKHRl
c3QtPm1fd2ViVmlldywgJnJnYmEpOworICAgIGdfYXNzZXJ0X2NtcGZsb2F0KHJnYmEucmVkLCA9
PSwgMSk7CisgICAgZ19hc3NlcnRfY21wZmxvYXQocmdiYS5ncmVlbiwgPT0sIDEpOworICAgIGdf
YXNzZXJ0X2NtcGZsb2F0KHJnYmEuYmx1ZSwgPT0sIDEpOworICAgIGdfYXNzZXJ0X2NtcGZsb2F0
KHJnYmEuYWxwaGEsID09LCAxKTsKKworICAgIC8vIFNldCBhIGRpZmZlcmVudCAoc2VtaS10cmFu
c3BhcmVudCByZWQpLgorICAgIHJnYmEucmVkID0gMTsKKyAgICByZ2JhLmdyZWVuID0gMDsKKyAg
ICByZ2JhLmJsdWUgPSAwOworICAgIHJnYmEuYWxwaGEgPSAwLjU7CisgICAgd2Via2l0X3dlYl92
aWV3X3NldF9iYWNrZ3JvdW5kX2NvbG9yKHRlc3QtPm1fd2ViVmlldywgJnJnYmEpOworICAgIGdf
YXNzZXJ0X2NtcGZsb2F0KHJnYmEucmVkLCA9PSwgMSk7CisgICAgZ19hc3NlcnRfY21wZmxvYXQo
cmdiYS5ncmVlbiwgPT0sIDApOworICAgIGdfYXNzZXJ0X2NtcGZsb2F0KHJnYmEuYmx1ZSwgPT0s
IDApOworICAgIGdfYXNzZXJ0X2NtcGZsb2F0KHJnYmEuYWxwaGEsID09LCAwLjUpOworCisgICAg
Ly8gVGhlIGFjdHVhbCByZW5kZXJpbmcgY2FuJ3QgYmUgdGVzdGVkIHVzaW5nIHVuaXQgdGVzdHMs
IHVzZQorICAgIC8vIE1pbmlCcm93c2VyIC0tYmctY29sb3I9Ijxjb2xvci12YWx1ZT4iIGZvciBt
YW51YWxseSB0ZXN0aW5nIHRoaXMgQVBJLgorfQorCiBzdGF0aWMgdm9pZCBzZXJ2ZXJDYWxsYmFj
ayhTb3VwU2VydmVyKiBzZXJ2ZXIsIFNvdXBNZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKiBw
YXRoLCBHSGFzaFRhYmxlKiwgU291cENsaWVudENvbnRleHQqLCBncG9pbnRlcikKIHsKICAgICBp
ZiAobWVzc2FnZS0+bWV0aG9kICE9IFNPVVBfTUVUSE9EX0dFVCkgewpAQCAtNzc2LDYgKzgwMSw3
IEBAIHZvaWQgYmVmb3JlQWxsKCkKICAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3
IiwgInBhZ2UtdmlzaWJpbGl0eSIsIHRlc3RXZWJWaWV3UGFnZVZpc2liaWxpdHkpOwogICAgIE5v
dGlmaWNhdGlvbldlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAibm90aWZpY2F0aW9u
IiwgdGVzdFdlYlZpZXdOb3RpZmljYXRpb24pOwogICAgIElzUGxheWluZ0F1ZGlvV2ViVmlld1Rl
c3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJpcy1wbGF5aW5nLWF1ZGlvIiwgdGVzdFdlYlZpZXdJ
c1BsYXlpbmdBdWRpbyk7CisgICAgV2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJi
YWNrZ3JvdW5kLWNvbG9yIiwgdGVzdFdlYlZpZXdCYWNrZ3JvdW5kQ29sb3IpOwogfQogCiB2b2lk
IGFmdGVyQWxsKCkK
</data>
<flag name="review"
          id="269812"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>