<?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>178824</bug_id>
          
          <creation_ts>2017-10-25 13:22:00 -0700</creation_ts>
          <short_desc>Add downcast support for FullscreenClient.</short_desc>
          <delta_ts>2017-11-15 13:02: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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1364421</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-10-25 13:22:00 -0700</bug_when>
    <thetext>Add downcast support for FullscreenClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364423</commentid>
    <comment_count>1</comment_count>
      <attachid>324878</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-10-25 13:24:28 -0700</bug_when>
    <thetext>Created attachment 324878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364468</commentid>
    <comment_count>2</comment_count>
      <attachid>324878</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-10-25 14:16:30 -0700</bug_when>
    <thetext>Comment on attachment 324878
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/FullscreenClient.h:44
&gt; +    static int type;
&gt; +    bool isType(void* target) const override { return target == &amp;type || API::FullscreenClient::isType(target);};

This is really weird. Why the generic types (int and void*) and not enums and classes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364985</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-10-26 13:02:47 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 324878 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=324878&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/FullscreenClient.h:44
&gt; &gt; +    static int type;
&gt; &gt; +    bool isType(void* target) const override { return target == &amp;type || API::FullscreenClient::isType(target);};
&gt; 
&gt; This is really weird. Why the generic types (int and void*) and not enums
&gt; and classes?

Are you suggesting something like:

    typedef int Type;
    typedef void* TypeRef;
    ...
    static Type type;
    bool isType(TypeRef target);


Or are you suggesting API::FullscreenClient have something like:

    enum FullscreenClientType {
        APIFullscreenClientType,
        WebKitFullscreenClientType
    };
    ...
    bool isType(FullscreenClientType type);

In the latter case, it seems weird to me for the base class to be aware of all derived classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364987</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-10-26 13:09:52 -0700</bug_when>
    <thetext>
&gt; Are you suggesting something like:
&gt; 
&gt;     typedef int Type;
&gt;     typedef void* TypeRef;
&gt;     ...
&gt;     static Type type;
&gt;     bool isType(TypeRef target);
&gt; 
&gt; 
&gt; Or are you suggesting API::FullscreenClient have something like:
&gt; 
&gt;     enum FullscreenClientType {
&gt;         APIFullscreenClientType,
&gt;         WebKitFullscreenClientType
&gt;     };
&gt;     ...
&gt;     bool isType(FullscreenClientType type);
&gt; 
&gt; In the latter case, it seems weird to me for the base class to be aware of
&gt; all derived classes.

The latter. We do this all over the place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368832</commentid>
    <comment_count>5</comment_count>
      <attachid>326167</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-11-06 16:38:10 -0800</bug_when>
    <thetext>Created attachment 326167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369258</commentid>
    <comment_count>6</comment_count>
      <attachid>326167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-07 16:01:48 -0800</bug_when>
    <thetext>Comment on attachment 326167
Patch

Clearing flags on attachment: 326167

Committed r224558: &lt;https://trac.webkit.org/changeset/224558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369259</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-07 16:01:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372332</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 13:02:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/35568682&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324878</attachid>
            <date>2017-10-25 13:24:28 -0700</date>
            <delta_ts>2017-11-06 16:38:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178824-20171025132427.patch</filename>
            <type>text/plain</type>
            <size>5442</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyODc5ZGY3YjU5MDRhMTdl
MzQ3ZjUzYjRmYmYzNzM5ODAzYjVhYmUuLjFlNTVhM2U2ZDA0MjMzYjFmNzc4YzYzZTNiZmI2MGZi
NDU2OTUyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTAtMjUgIEplcmVteSBK
b25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBkb3duY2FzdCBzdXBwb3J0
IGZvciBGdWxsc2NyZWVuQ2xpZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc4ODI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFMgbWFjcm9zIGZvciBBUEk6
OkZ1bGxzY3JlZW5DbGllbnQgYW5kIFdlYktpdDo6RnVsbHNjcmVlbiBjbGllbnQgc28gCisgICAg
ICAgIGRvd25jYXN0cyBjYW4gYmUgZG9uZSBzYWZlbHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSUZ1bGxzY3JlZW5DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6RnVsbHNjcmVlbkNsaWVu
dDo6aXNUeXBlIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVBy
aXZhdGVNYWMubW06CisgICAgICAgIChXS1BhZ2VTZXRGdWxsc2NyZWVuRGVsZWdhdGUpOgorICAg
ICAgICAoV0tQYWdlR2V0RnVsbHNjcmVlbkRlbGVnYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRGdWxsc2Ny
ZWVuRGVsZWdhdGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZnVsbHNjcmVlbkRlbGVnYXRl
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3JlZW5DbGllbnQuaDoKKyAgICAg
ICAgKGlzVHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3JlZW5DbGllbnQu
bW06CisKIDIwMTctMDgtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBBZGQgV0tVSURlbGVnYXRlUHJpdmF0ZSBlcXVpdmFsZW50IG9mIFdL
UGFnZVVJQ2xpZW50J3MgZGlkRXhjZWVkQmFja2dyb3VuZFJlc291cmNlTGltaXRXaGlsZUluRm9y
ZWdyb3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUZ1bGxz
Y3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElGdWxsc2NyZWVu
Q2xpZW50LmgKaW5kZXggYzM0OGI4YmZlYjBkOTcxMDg0ZWMzNzZjMjI2ZGUzYzk3OTViODBjOC4u
NTA4OTc1NzZjN2NkZmQ5OTdmODI5MTgzYTYzODljZWQ4NjdjZThjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUZ1bGxzY3JlZW5DbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRnVsbHNjcmVlbkNsaWVudC5oCkBAIC0zMyw2ICsz
Myw4IEBAIG5hbWVzcGFjZSBBUEkgewogCiBjbGFzcyBGdWxsc2NyZWVuQ2xpZW50IHsKIHB1Ymxp
YzoKKyAgICB2aXJ0dWFsIGJvb2wgaXNUeXBlKHZvaWQqIHRhcmdldCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH07CisKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuQ2xpZW50KCkgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbEVudGVyRnVsbHNjcmVlbihXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVBy
aXZhdGVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJp
dmF0ZU1hYy5tbQppbmRleCAwZmVjNWRiZGYzYzAyOTNjNTBjMTFhNzc3NGEzYjVkN2YwOGQ0Yzll
Li5jNWM0YTY5NzJjYzcwNmJkOWM4NGEwMTUxNjU3ZDJkY2Q5ZDkzMTRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQpA
QCAtMTQ4LDE0ICsxNDgsMTQgQEAgYm9vbCBXS1BhZ2VJc1BsYXlpbmdWaWRlb0luRW5oYW5jZWRG
dWxsc2NyZWVuKFdLUGFnZVJlZiBwYWdlUmVmKQogdm9pZCBXS1BhZ2VTZXRGdWxsc2NyZWVuRGVs
ZWdhdGUoV0tQYWdlUmVmIHBhZ2UsIGlkIDxfV0tGdWxsc2NyZWVuRGVsZWdhdGU+IGRlbGVnYXRl
KQogewogI2lmIFdLX0FQSV9FTkFCTEVEICYmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBz
dGF0aWNfY2FzdDxXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQmPih0b0ltcGwocGFnZSktPmZ1bGxz
Y3JlZW5DbGllbnQoKSkuc2V0RGVsZWdhdGUoZGVsZWdhdGUpOworICAgIGRvd25jYXN0PFdlYktp
dDo6RnVsbHNjcmVlbkNsaWVudD4odG9JbXBsKHBhZ2UpLT5mdWxsc2NyZWVuQ2xpZW50KCkpLnNl
dERlbGVnYXRlKGRlbGVnYXRlKTsKICNlbmRpZgogfQogCiBpZCA8X1dLRnVsbHNjcmVlbkRlbGVn
YXRlPiBXS1BhZ2VHZXRGdWxsc2NyZWVuRGVsZWdhdGUoV0tQYWdlUmVmIHBhZ2UpCiB7CiAjaWYg
V0tfQVBJX0VOQUJMRUQgJiYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQmPih0b0ltcGwocGFnZSktPmZ1bGxzY3Jl
ZW5DbGllbnQoKSkuZGVsZWdhdGUoKS5hdXRvcmVsZWFzZSgpOworICAgIHJldHVybiBkb3duY2Fz
dDxXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQ+KHRvSW1wbChwYWdlKS0+ZnVsbHNjcmVlbkNsaWVu
dCgpKS5kZWxlZ2F0ZSgpLmF1dG9yZWxlYXNlKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CmluZGV4IDFhMWY2MGQyMTcwNTZiNTM0OWViNGNkMjYyYzlkOGIzMGI3ODk2ZWQuLjE3YTMxMDc2
NGNjYzQxYjc1NmVlZDc4OTYyMTdhYzVkOTg3YzVlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDYyMiwxNCArNDYyMiwxNCBAQCAt
IChCT09MKV93ZWJQcm9jZXNzSXNSZXNwb25zaXZlCiAtICh2b2lkKV9zZXRGdWxsc2NyZWVuRGVs
ZWdhdGU6KGlkPF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZT4pZGVsZWdhdGUKIHsKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCi0gICAgc3RhdGljX2Nhc3Q8V2ViS2l0OjpGdWxsc2NyZWVuQ2xpZW50
Jj4oX3BhZ2UtPmZ1bGxzY3JlZW5DbGllbnQoKSkuc2V0RGVsZWdhdGUoZGVsZWdhdGUpOworICAg
IGRvd25jYXN0PFdlYktpdDo6RnVsbHNjcmVlbkNsaWVudD4oX3BhZ2UtPmZ1bGxzY3JlZW5DbGll
bnQoKSkuc2V0RGVsZWdhdGUoZGVsZWdhdGUpOwogI2VuZGlmCiB9CiAKIC0gKGlkPF9XS0Z1bGxz
Y3JlZW5EZWxlZ2F0ZT4pX2Z1bGxzY3JlZW5EZWxlZ2F0ZQogewogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViS2l0OjpGdWxsc2NyZWVuQ2xpZW50
Jj4oX3BhZ2UtPmZ1bGxzY3JlZW5DbGllbnQoKSkuZGVsZWdhdGUoKS5hdXRvcmVsZWFzZSgpOwor
ICAgIHJldHVybiBkb3duY2FzdDxXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQ+KF9wYWdlLT5mdWxs
c2NyZWVuQ2xpZW50KCkpLmRlbGVnYXRlKCkuYXV0b3JlbGVhc2UoKTsKICNlbHNlCiAgICAgcmV0
dXJuIG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0Z1bGxzY3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0Z1bGxzY3JlZW5DbGllbnQuaAppbmRleCAwYWYwYmI2NjNlMzI5NDZmODE1NGQwMmUyOTU5MTEz
YTIyN2Q4NzE0Li5lNTRjNTAwY2ZhZWVkNTE5ZDQxNDYzNjJiOWIwNzVmNjZlOTIxZDJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9GdWxsc2NyZWVuQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRnVsbHNjcmVlbkNsaWVudC5oCkBA
IC00MCw2ICs0MCw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBGdWxsc2NyZWVuQ2xp
ZW50IDogcHVibGljIEFQSTo6RnVsbHNjcmVlbkNsaWVudCB7CiBwdWJsaWM6CisgICAgc3RhdGlj
IGludCB0eXBlOworICAgIGJvb2wgaXNUeXBlKHZvaWQqIHRhcmdldCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdGFyZ2V0ID09ICZ0eXBlIHx8IEFQSTo6RnVsbHNjcmVlbkNsaWVudDo6aXNUeXBl
KHRhcmdldCk7fTsKKwogICAgIGV4cGxpY2l0IEZ1bGxzY3JlZW5DbGllbnQoTlNWaWV3ICopOwog
ICAgIH5GdWxsc2NyZWVuQ2xpZW50KCkgeyB9OwogCkBAIC02Miw3ICs2NSwxMSBAQCBwcml2YXRl
OgogICAgICAgICBib29sIHdlYlZpZXdEaWRFeGl0RnVsbHNjcmVlbiA6IDE7CiAgICAgfSBtX2Rl
bGVnYXRlTWV0aG9kczsKIH07Ci0gICAgCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYktpdDo6RnVsbHNjcmVlbkNsaWVudCkgXAorc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IEFQSTo6RnVsbHNjcmVlbkNsaWVudCYgY2xpZW50KSB7IHJl
dHVybiBjbGllbnQuaXNUeXBlKCZXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQ6OnR5cGUpOyB9IFwK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVE
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9GdWxsc2NyZWVuQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRnVsbHNjcmVlbkNsaWVudC5t
bQppbmRleCAwNDMxYTczYzAxZmZiODdjMjk1OTBiYjk2NTZhNmE4YzZlYzkxMTg1Li42MzM2NDI0
YjQ0MWE3OGQyMjA4OTJmMDVkOGQyOTI5ZDQwZDFkY2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9GdWxsc2NyZWVuQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3JlZW5DbGllbnQubW0KQEAgLTMyLDYgKzMyLDggQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2ludCBGdWxsc2NyZWVuQ2xpZW50Ojp0eXBlID0gMDsK
KwogRnVsbHNjcmVlbkNsaWVudDo6RnVsbHNjcmVlbkNsaWVudChOU1ZpZXcgKndlYlZpZXcpCiAg
ICAgOiBtX3dlYlZpZXcod2ViVmlldykKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326167</attachid>
            <date>2017-11-06 16:38:10 -0800</date>
            <delta_ts>2017-11-07 16:01:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178824-20171106163809.patch</filename>
            <type>text/plain</type>
            <size>4985</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFmZmYyYjM1YTE2MTI5NzJh
YzhmYzAyZGI4NzU4OTI5NzE4ZWRhYmYuLmNhYmM5Mjc5YjQ1MjUyOTJhNTk3MDYwYzA5ZWRiNGI4
OWRkMGY3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTAtMjUgIEplcmVteSBK
b25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBkb3duY2FzdCBzdXBwb3J0
IGZvciBGdWxsc2NyZWVuQ2xpZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc4ODI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFMgbWFjcm9zIGZvciBBUEk6
OkZ1bGxzY3JlZW5DbGllbnQgYW5kIFdlYktpdDo6RnVsbHNjcmVlbiBjbGllbnQgc28gCisgICAg
ICAgIGRvd25jYXN0cyBjYW4gYmUgZG9uZSBzYWZlbHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSUZ1bGxzY3JlZW5DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6RnVsbHNjcmVlbkNsaWVu
dDo6aXNUeXBlIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVBy
aXZhdGVNYWMubW06CisgICAgICAgIChXS1BhZ2VTZXRGdWxsc2NyZWVuRGVsZWdhdGUpOgorICAg
ICAgICAoV0tQYWdlR2V0RnVsbHNjcmVlbkRlbGVnYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRGdWxsc2Ny
ZWVuRGVsZWdhdGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZnVsbHNjcmVlbkRlbGVnYXRl
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3JlZW5DbGllbnQuaDoKKyAgICAg
ICAgKGlzVHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3JlZW5DbGllbnQu
bW06CisKIDIwMTctMTEtMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBbU2VydmljZSBXb3JrZXJzXSBBZGQgcHJvcGVyIGltcGxlbWVudGF0aW9uIGZvciAndXBk
YXRlZm91bmQnIGV2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJRnVsbHNjcmVlbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUZ1
bGxzY3JlZW5DbGllbnQuaAppbmRleCBjMzQ4YjhiZmViMGQ5NzEwODRlYzM3NmMyMjZkZTNjOTc5
NWI4MGM4Li4xMzc1NTI5Y2RhMjVmMjVjYmIxNzliZGM4OTg5MTcxYzg5ZWU4ODU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRnVsbHNjcmVlbkNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElGdWxsc2NyZWVuQ2xpZW50LmgKQEAg
LTMzLDYgKzMzLDEzIEBAIG5hbWVzcGFjZSBBUEkgewogCiBjbGFzcyBGdWxsc2NyZWVuQ2xpZW50
IHsKIHB1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBBUElUeXBlLAorICAgICAgICBX
ZWJLaXRUeXBlCisgICAgfTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1R5cGUoVHlwZSB0YXJnZXQp
IGNvbnN0IHsgcmV0dXJuIHRhcmdldCA9PSBBUElUeXBlOyB9OworCiAgICAgdmlydHVhbCB+RnVs
bHNjcmVlbkNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxFbnRlckZ1bGxzY3Jl
ZW4oV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvbWFjL1dLUGFnZVByaXZhdGVNYWMubW0KaW5kZXggMGZlYzVkYmRmM2Mw
MjkzYzUwYzExYTc3NzRhM2I1ZDdmMDhkNGM5ZS4uYzVjNGE2OTcyY2M3MDZiZDljODRhMDE1MTY1
N2QyZGNkOWQ5MzE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
bWFjL1dLUGFnZVByaXZhdGVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvbWFjL1dLUGFnZVByaXZhdGVNYWMubW0KQEAgLTE0OCwxNCArMTQ4LDE0IEBAIGJvb2wgV0tQ
YWdlSXNQbGF5aW5nVmlkZW9JbkVuaGFuY2VkRnVsbHNjcmVlbihXS1BhZ2VSZWYgcGFnZVJlZikK
IHZvaWQgV0tQYWdlU2V0RnVsbHNjcmVlbkRlbGVnYXRlKFdLUGFnZVJlZiBwYWdlLCBpZCA8X1dL
RnVsbHNjcmVlbkRlbGVnYXRlPiBkZWxlZ2F0ZSkKIHsKICNpZiBXS19BUElfRU5BQkxFRCAmJiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgc3RhdGljX2Nhc3Q8V2ViS2l0OjpGdWxsc2NyZWVu
Q2xpZW50Jj4odG9JbXBsKHBhZ2UpLT5mdWxsc2NyZWVuQ2xpZW50KCkpLnNldERlbGVnYXRlKGRl
bGVnYXRlKTsKKyAgICBkb3duY2FzdDxXZWJLaXQ6OkZ1bGxzY3JlZW5DbGllbnQ+KHRvSW1wbChw
YWdlKS0+ZnVsbHNjcmVlbkNsaWVudCgpKS5zZXREZWxlZ2F0ZShkZWxlZ2F0ZSk7CiAjZW5kaWYK
IH0KIAogaWQgPF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZT4gV0tQYWdlR2V0RnVsbHNjcmVlbkRlbGVn
YXRlKFdLUGFnZVJlZiBwYWdlKQogewogI2lmIFdLX0FQSV9FTkFCTEVEICYmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViS2l0OjpGdWxsc2NyZWVuQ2xp
ZW50Jj4odG9JbXBsKHBhZ2UpLT5mdWxsc2NyZWVuQ2xpZW50KCkpLmRlbGVnYXRlKCkuYXV0b3Jl
bGVhc2UoKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8V2ViS2l0OjpGdWxsc2NyZWVuQ2xpZW50Pih0
b0ltcGwocGFnZSktPmZ1bGxzY3JlZW5DbGllbnQoKSkuZGVsZWdhdGUoKS5hdXRvcmVsZWFzZSgp
OwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiMTg1MDE0ODc4YzRiNDM4ZTg3Nzhi
NDM1ZDQwM2ViYjhhMzk1NWE1Li5kYzQzYWY5MzU4Njg0ZTkwYTM4NzQ4ZWM2NDk1OWMwNTJlMzc0
NTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTQ3NTEsMTQgKzQ3NTEsMTQgQEAgLSAoQk9PTClfd2ViUHJvY2Vzc0lzUmVzcG9uc2l2
ZQogLSAodm9pZClfc2V0RnVsbHNjcmVlbkRlbGVnYXRlOihpZDxfV0tGdWxsc2NyZWVuRGVsZWdh
dGU+KWRlbGVnYXRlCiB7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHN0YXRpY19j
YXN0PFdlYktpdDo6RnVsbHNjcmVlbkNsaWVudCY+KF9wYWdlLT5mdWxsc2NyZWVuQ2xpZW50KCkp
LnNldERlbGVnYXRlKGRlbGVnYXRlKTsKKyAgICBkb3duY2FzdDxXZWJLaXQ6OkZ1bGxzY3JlZW5D
bGllbnQ+KF9wYWdlLT5mdWxsc2NyZWVuQ2xpZW50KCkpLnNldERlbGVnYXRlKGRlbGVnYXRlKTsK
ICNlbmRpZgogfQogCiAtIChpZDxfV0tGdWxsc2NyZWVuRGVsZWdhdGU+KV9mdWxsc2NyZWVuRGVs
ZWdhdGUKIHsKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdlYktpdDo6RnVsbHNjcmVlbkNsaWVudCY+KF9wYWdlLT5mdWxsc2NyZWVuQ2xpZW50KCkp
LmRlbGVnYXRlKCkuYXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8V2ViS2l0OjpG
dWxsc2NyZWVuQ2xpZW50PihfcGFnZS0+ZnVsbHNjcmVlbkNsaWVudCgpKS5kZWxlZ2F0ZSgpLmF1
dG9yZWxlYXNlKCk7CiAjZWxzZQogICAgIHJldHVybiBudWxscHRyOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9GdWxsc2NyZWVuQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9GdWxsc2NyZWVuQ2xpZW50LmgKaW5kZXggNzE4
ZGJkNDY3Mjk3NDE2OGU5ZmRiOThjMjI2ZDBlM2U1OGQ3NWZjYy4uMmFlNTI5NGVlODI4MmVjMmY2
ZWQ4NDE5NDViYmJjM2Q5NWYyZDI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvRnVsbHNjcmVlbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0Z1bGxzY3JlZW5DbGllbnQuaApAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgRnVsbHNjcmVlbkNsaWVudChXS0Z1bGxzY3JlZW5DbGllbnRWaWV3ICopOwogICAg
IH5GdWxsc2NyZWVuQ2xpZW50KCkgeyB9OwogCisgICAgYm9vbCBpc1R5cGUoQVBJOjpGdWxsc2Ny
ZWVuQ2xpZW50OjpUeXBlIHRhcmdldCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdGFyZ2V0ID09
IEFQSTo6RnVsbHNjcmVlbkNsaWVudDo6V2ViS2l0VHlwZTsgfTsKKwogICAgIFJldGFpblB0cjxp
ZDxfV0tGdWxsc2NyZWVuRGVsZWdhdGU+PiBkZWxlZ2F0ZSgpOwogICAgIHZvaWQgc2V0RGVsZWdh
dGUoaWQ8X1dLRnVsbHNjcmVlbkRlbGVnYXRlPik7CiAKQEAgLTc2LDcgKzc4LDExIEBAIHByaXZh
dGU6CiAjZW5kaWYKICAgICB9IG1fZGVsZWdhdGVNZXRob2RzOwogfTsKLSAgICAKKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViS2l0OjpG
dWxsc2NyZWVuQ2xpZW50KSBcCitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgQVBJOjpGdWxsc2Ny
ZWVuQ2xpZW50JiBjbGllbnQpIHsgcmV0dXJuIGNsaWVudC5pc1R5cGUoQVBJOjpGdWxsc2NyZWVu
Q2xpZW50OjpXZWJLaXRUeXBlKTsgfSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisK
ICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>