<?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>115755</bug_id>
          
          <creation_ts>2013-05-07 13:50:48 -0700</creation_ts>
          <short_desc>Devirtualize Document class type checking</short_desc>
          <delta_ts>2016-11-02 14:50:31 -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>DOM</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>885953</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-07 13:50:48 -0700</bug_when>
    <thetext>Merge
https://chromium.googlesource.com/chromium/blink/+/dae5adc768d5ce6bff301df6515745da8ea24950
Devirtualize Document class type checking

Document has a bunch of virtual bool is*Document() methods on it, but it also has
two bools for XHTML and HTML documents which is silly. We can merge them all
together into an enum of values and devirtualize the type checking methods.

This patch introduces the DocumentClass enum that is used to signal what subclass
of Document, or HTMLDocument, is being implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886032</commentid>
    <comment_count>1</comment_count>
      <attachid>200991</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-07 16:26:00 -0700</bug_when>
    <thetext>Created attachment 200991
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886035</commentid>
    <comment_count>2</comment_count>
      <attachid>200991</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-07 16:37:54 -0700</bug_when>
    <thetext>Comment on attachment 200991
Cleanup

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

&gt; Source/WebCore/dom/Document.h:1486
&gt; +    unsigned m_documentClasses;

I would just use a uchar8_t here. That way it fits on a word with the 3 boolean bellow.

&gt; Source/WebCore/html/HTMLDocument.h:78
&gt; +    HTMLDocument(Frame*, const KURL&amp;, unsigned documentClasses = HTMLDocumentClass);

I think it should have a default of 0.

Otherwise, an caller may think passing something else override the HTMLDocumentClass. Which is not true because the constructor does the right thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886099</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-07 18:59:29 -0700</bug_when>
    <thetext>Committed r149705: &lt;http://trac.webkit.org/changeset/149705&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200991</attachid>
            <date>2013-05-07 16:26:00 -0700</date>
            <delta_ts>2016-11-02 14:50:31 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-115755-20130507162506.patch</filename>
            <type>text/plain</type>
            <size>12284</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTcwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA1LTA3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIERldmlydHVhbGl6ZSBEb2N1bWVu
dCBjbGFzcyB0eXBlIGNoZWNraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTU3NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNZXJnZSBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
b21pdW0vYmxpbmsvKy9kYWU1YWRjNzY4ZDVjZTZiZmYzMDFkZjY1MTU3NDVkYThlYTI0OTUwCisK
KyAgICAgICAgRG9jdW1lbnQgaGFzIGEgYnVuY2ggb2YgdmlydHVhbCBib29sIGlzKkRvY3VtZW50
KCkgbWV0aG9kcyBvbiBpdCwgYnV0IGl0IGFsc28gaGFzCisgICAgICAgIHR3byBib29scyBmb3Ig
WEhUTUwgYW5kIEhUTUwgZG9jdW1lbnRzIHdoaWNoIGlzIHNpbGx5LiBXZSBjYW4gbWVyZ2UgdGhl
bSBhbGwKKyAgICAgICAgdG9nZXRoZXIgaW50byBhbiBlbnVtIG9mIHZhbHVlcyBhbmQgZGV2aXJ0
dWFsaXplIHRoZSB0eXBlIGNoZWNraW5nIG1ldGhvZHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmNyZWF0ZVhIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojppc0hUTUxEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNYSFRNTERv
Y3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojppc0ltYWdlRG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzU1ZHRG9jdW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmlzUGx1Z2luRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmlzTWVkaWFEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudCk6Cisg
ICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERv
Y3VtZW50OjpIVE1MRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTERvY3VtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvSW1hZ2VEb2N1
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURvY3VtZW50OjpJbWFnZURvY3VtZW50
KToKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRG9jdW1lbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjpNZWRpYURvY3VtZW50KToKKyAgICAgICAgKiBodG1s
L01lZGlhRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRG9jdW1lbnQpOgorICAg
ICAgICAqIGh0bWwvUGx1Z2luRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
RG9jdW1lbnQ6OlBsdWdpbkRvY3VtZW50KToKKyAgICAgICAgKiBodG1sL1BsdWdpbkRvY3VtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5Eb2N1bWVudCk6CisgICAgICAgICogbG9hZGVy
L1BsYWNlaG9sZGVyRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYWNlaG9sZGVyRG9j
dW1lbnQ6OlBsYWNlaG9sZGVyRG9jdW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudDo6U1ZHRG9jdW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdEb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQpOgor
CiAyMDEzLTA1LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQmVnaW4gdW5yYXZlbGluZyB0aGUgbWVzcyB0aGF0IGlzIFF1b3Rlc0RhdGEKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMTQ5NjYyKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEzLDcgKzQxMyw3IEBAIHN0
YXRpYyBIYXNoU2V0PERvY3VtZW50Kj4qIGRvY3VtZW50c1RoYXQKIAogdWludDY0X3QgRG9jdW1l
bnQ6OnNfZ2xvYmFsVHJlZVZlcnNpb24gPSAwOwogCi1Eb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUq
IGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCitEb2N1
bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIHVuc2lnbmVkIGRv
Y3VtZW50Q2xhc3NlcykKICAgICA6IENvbnRhaW5lck5vZGUoMCwgQ3JlYXRlRG9jdW1lbnQpCiAg
ICAgLCBUcmVlU2NvcGUodGhpcykKICAgICAsIG1fc3R5bGVSZXNvbHZlclRocm93YXdheVRpbWVy
KHRoaXMsICZEb2N1bWVudDo6c3R5bGVSZXNvbHZlclRocm93YXdheVRpbWVyRmlyZWQpCkBAIC00
NTEsOCArNDUxLDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSwog
ICAgICwgbV9jcmVhdGVSZW5kZXJlcnModHJ1ZSkKICAgICAsIG1faW5QYWdlQ2FjaGUoZmFsc2Up
CiAgICAgLCBtX2FjY2Vzc0tleU1hcFZhbGlkKGZhbHNlKQotICAgICwgbV9pc1hIVE1MKGlzWEhU
TUwpCi0gICAgLCBtX2lzSFRNTChpc0hUTUwpCisgICAgLCBtX2RvY3VtZW50Q2xhc3Nlcyhkb2N1
bWVudENsYXNzZXMpCiAgICAgLCBtX2lzVmlld1NvdXJjZShmYWxzZSkKICAgICAsIG1fc2F3RWxl
bWVudHNJbktub3duTmFtZXNwYWNlcyhmYWxzZSkKICAgICAsIG1faXNTcmNkb2NEb2N1bWVudChm
YWxzZSkKQEAgLTgyOCw3ICs4MjcsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50Ojpj
cmVhdGVFbGVtCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmIChtX2lzWEhUTUwp
CisgICAgaWYgKGlzWEhUTUxEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gSFRNTEVsZW1lbnRG
YWN0b3J5OjpjcmVhdGVIVE1MRWxlbWVudChRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBuYW1lLCB4
aHRtbE5hbWVzcGFjZVVSSSksIHRoaXMsIDAsIGZhbHNlKTsKIAogICAgIHJldHVybiBjcmVhdGVF
bGVtZW50KFF1YWxpZmllZE5hbWUobnVsbEF0b20sIG5hbWUsIG51bGxBdG9tKSwgZmFsc2UpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0OTY2MikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsMTUgKzIyMCwyNSBAQCBj
b25zdCBpbnQgbnVtTm9kZUxpc3RJbnZhbGlkYXRpb25UeXBlcyA9CiAKIHR5cGVkZWYgSGFzaENv
dW50ZWRTZXQ8Tm9kZSo+IFRvdWNoRXZlbnRUYXJnZXRTZXQ7CiAKK2VudW0gRG9jdW1lbnRDbGFz
cyB7CisgICAgRGVmYXVsdERvY3VtZW50Q2xhc3MgPSAwLAorICAgIEhUTUxEb2N1bWVudENsYXNz
ID0gMSwKKyAgICBYSFRNTERvY3VtZW50Q2xhc3MgPSAxIDw8IDEsCisgICAgSW1hZ2VEb2N1bWVu
dENsYXNzID0gMSA8PCAyLAorICAgIFBsdWdpbkRvY3VtZW50Q2xhc3MgPSAxIDw8IDMsCisgICAg
TWVkaWFEb2N1bWVudENsYXNzID0gMSA8PCA0LAorICAgIFNWR0RvY3VtZW50Q2xhc3MgPSAxIDw8
IDUsCit9OworCiBjbGFzcyBEb2N1bWVudCA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwdWJsaWMg
VHJlZVNjb3BlLCBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGNyZWF0ZShGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRG9jdW1lbnQoZnJh
bWUsIHVybCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRG9j
dW1lbnQoZnJhbWUsIHVybCkpOwogICAgIH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVu
dD4gY3JlYXRlWEhUTUwoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERvY3VtZW50KGZyYW1lLCB1cmwsIHRydWUsIGZhbHNl
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRG9jdW1lbnQoZnJhbWUsIHVybCwgWEhU
TUxEb2N1bWVudENsYXNzKSk7CiAgICAgfQogICAgIHZpcnR1YWwgfkRvY3VtZW50KCk7CiAKQEAg
LTQyNywxOCArNDM3LDE3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEhUTUxDb2xsZWN0aW9u
PiBkb2N1bWVudE5hbWVkSXRlbXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKTsKIAogICAgIC8v
IE90aGVyIG1ldGhvZHMgKG5vdCBwYXJ0IG9mIERPTSkKLSAgICBib29sIGlzSFRNTERvY3VtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pc0hUTUw7IH0KLSAgICBib29sIGlzWEhUTUxEb2N1bWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNYSFRNTDsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlRG9j
dW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgaXNIVE1MRG9jdW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50Q2xhc3NlcyAmIEhUTUxEb2N1bWVudENsYXNzOyB9
CisgICAgYm9vbCBpc1hIVE1MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50Q2xh
c3NlcyAmIFhIVE1MRG9jdW1lbnRDbGFzczsgfQorICAgIGJvb2wgaXNJbWFnZURvY3VtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9kb2N1bWVudENsYXNzZXMgJiBJbWFnZURvY3VtZW50Q2xhc3M7IH0K
KyAgICBib29sIGlzU1ZHRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50Q2xhc3Nl
cyAmIFNWR0RvY3VtZW50Q2xhc3M7IH0KKyAgICBib29sIGlzUGx1Z2luRG9jdW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX2RvY3VtZW50Q2xhc3NlcyAmIFBsdWdpbkRvY3VtZW50Q2xhc3M7IH0KKyAg
ICBib29sIGlzTWVkaWFEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRDbGFzc2Vz
ICYgTWVkaWFEb2N1bWVudENsYXNzOyB9CiAjaWYgRU5BQkxFKFNWRykKLSAgICB2aXJ0dWFsIGJv
b2wgaXNTVkdEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBoYXNT
VkdSb290Tm9kZSgpIGNvbnN0OwogI2Vsc2UKLSAgICBzdGF0aWMgYm9vbCBpc1NWR0RvY3VtZW50
KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNTVkdSb290Tm9kZSgpIHsg
cmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKLSAgICB2aXJ0dWFsIGJvb2wgaXNQbHVnaW5Eb2N1bWVu
dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzTWVkaWFEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVT
ZXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgYm9vbCBpc1NyY2RvY0RvY3VtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pc1NyY2RvY0RvY3VtZW50OyB9CkBAIC0xMjA3LDcgKzEyMTYs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbnN1cmVQbHVnSW5zSW5qZWN0ZWRTY3JpcHQoRE9NV3Jh
cHBlcldvcmxkKik7CiAKIHByb3RlY3RlZDoKLSAgICBEb2N1bWVudChGcmFtZSosIGNvbnN0IEtV
UkwmLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MKTsKKyAgICBEb2N1bWVudChGcmFtZSosIGNv
bnN0IEtVUkwmLCB1bnNpZ25lZCA9IERlZmF1bHREb2N1bWVudENsYXNzKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpIE9WRVJSSURFOwogCkBAIC0xNDc0LDgg
KzE0ODMsNyBAQCBwcml2YXRlOgogCiAgICAgT3duUHRyPFNlbGVjdG9yUXVlcnlDYWNoZT4gbV9z
ZWxlY3RvclF1ZXJ5Q2FjaGU7CiAKLSAgICBib29sIG1faXNYSFRNTDsKLSAgICBib29sIG1faXNI
VE1MOworICAgIHVuc2lnbmVkIG1fZG9jdW1lbnRDbGFzc2VzOwogCiAgICAgYm9vbCBtX2lzVmll
d1NvdXJjZTsKICAgICBib29sIG1fc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlczsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0OTY2MikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEs
OCArODEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAKLUhUTUxEb2N1bWVudDo6SFRNTERvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VS
TCYgdXJsKQotICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgZmFsc2UsIHRydWUpCitIVE1MRG9j
dW1lbnQ6OkhUTUxEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgdW5zaWdu
ZWQgZG9jdW1lbnRDbGFzc2VzKQorICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgZG9jdW1lbnRD
bGFzc2VzIHwgSFRNTERvY3VtZW50Q2xhc3MpCiB7CiAgICAgY2xlYXJYTUxWZXJzaW9uKCk7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgJKHJldmlzaW9uIDE0OTY2MikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTc1
LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzQ2FzZVNlbnNpdGl2ZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKIHByb3RlY3RlZDoKLSAgICBIVE1MRG9jdW1l
bnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CisgICAgSFRNTERvY3VtZW50KEZyYW1lKiwgY29uc3Qg
S1VSTCYsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcyA9IEhUTUxEb2N1bWVudENsYXNzKTsKIAog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlRWxlbWVudChj
b25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAkocmV2aXNpb24gMTQ5NjYyKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc3LDcg
KzE3Nyw3IEBAIHZvaWQgSW1hZ2VEb2N1bWVudFBhcnNlcjo6ZmluaXNoKCkKIC8vIC0tLS0tLS0t
CiAKIEltYWdlRG9jdW1lbnQ6OkltYWdlRG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJM
JiB1cmwpCi0gICAgOiBIVE1MRG9jdW1lbnQoZnJhbWUsIHVybCkKKyAgICA6IEhUTUxEb2N1bWVu
dChmcmFtZSwgdXJsLCBJbWFnZURvY3VtZW50Q2xhc3MpCiAgICAgLCBtX2ltYWdlRWxlbWVudCgw
KQogICAgICwgbV9pbWFnZVNpemVJc0tub3duKGZhbHNlKQogICAgICwgbV9kaWRTaHJpbmtJbWFn
ZShmYWxzZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5oCShyZXZpc2lvbiAx
NDk2NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTEsNyArNTEsNiBAQCBwcml2YXRlOgogICAgIEltYWdlRG9jdW1lbnQoRnJhbWUq
LCBjb25zdCBLVVJMJik7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRQYXJzZXI+
IGNyZWF0ZVBhcnNlcigpOwotICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlRG9jdW1lbnQoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAgICAgCiAgICAgdm9pZCBjcmVhdGVEb2N1bWVudFN0cnVjdHVy
ZSgpOwogICAgIHZvaWQgcmVzaXplSW1hZ2VUb0ZpdCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDk2NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDcgQEAg
dm9pZCBNZWRpYURvY3VtZW50UGFyc2VyOjphcHBlbmRCeXRlcyhEbwogfQogICAgIAogTWVkaWFE
b2N1bWVudDo6TWVkaWFEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKLSAg
ICA6IEhUTUxEb2N1bWVudChmcmFtZSwgdXJsKQorICAgIDogSFRNTERvY3VtZW50KGZyYW1lLCB1
cmwsIE1lZGlhRG9jdW1lbnRDbGFzcykKICAgICAsIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVy
KHRoaXMsICZNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCkKIHsK
ICAgICBzZXRDb21wYXRpYmlsaXR5TW9kZShRdWlya3NNb2RlKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5oCShyZXZpc2lvbiAxNDk2NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIE1lZGlhRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CiAK
LSAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYURvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fSAgICAgICAgCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50UGFyc2VyPiBjcmVhdGVQ
YXJzZXIoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1BsdWdpbkRvY3VtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1BsdWdpbkRvY3VtZW50LmNwcAkocmV2aXNpb24gMTQ5
NjYyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9QbHVnaW5Eb2N1bWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFBsdWdpbkRvY3VtZW50UGFyc2VyOjphcHBl
bmRCeXRlcyhECiB9CiAKIFBsdWdpbkRvY3VtZW50OjpQbHVnaW5Eb2N1bWVudChGcmFtZSogZnJh
bWUsIGNvbnN0IEtVUkwmIHVybCkKLSAgICA6IEhUTUxEb2N1bWVudChmcmFtZSwgdXJsKQorICAg
IDogSFRNTERvY3VtZW50KGZyYW1lLCB1cmwsIFBsdWdpbkRvY3VtZW50Q2xhc3MpCiAgICAgLCBt
X3Nob3VsZExvYWRQbHVnaW5NYW51YWxseSh0cnVlKQogewogICAgIHNldENvbXBhdGliaWxpdHlN
b2RlKFF1aXJrc01vZGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9QbHVnaW5Eb2N1bWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuaAko
cmV2aXNpb24gMTQ5NjYyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9QbHVnaW5Eb2N1bWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01NCw4ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgUGx1Z2luRG9j
dW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9j
dW1lbnRQYXJzZXI+IGNyZWF0ZVBhcnNlcigpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBp
c1BsdWdpbkRvY3VtZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfSAgICAKLSAg
ICAgICAgCisKICAgICB2b2lkIHNldFNob3VsZExvYWRQbHVnaW5NYW51YWxseShib29sIGxvYWRN
YW51YWxseSkgeyBtX3Nob3VsZExvYWRQbHVnaW5NYW51YWxseSA9IGxvYWRNYW51YWxseTsgfQog
CiAgICAgYm9vbCBtX3Nob3VsZExvYWRQbHVnaW5NYW51YWxseTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9QbGFjZWhvbGRlckRvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuaAkocmV2aXNpb24gMTQ5NjYyKQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL1BsYWNlaG9sZGVyRG9jdW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwog
CiBwcml2YXRlOgotICAgIFBsYWNlaG9sZGVyRG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBL
VVJMJiB1cmwpIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgZmFsc2UsIGZhbHNlKSB7IH0KKyAgICBQ
bGFjZWhvbGRlckRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsKQorICAgICAg
ICA6IERvY3VtZW50KGZyYW1lLCB1cmwpCisgICAgeyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0OTY2
MikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHRG9jdW1lbnQ6OlNW
R0RvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsKQotICAgIDogRG9jdW1lbnQo
ZnJhbWUsIHVybCwgZmFsc2UsIGZhbHNlKQorICAgIDogRG9jdW1lbnQoZnJhbWUsIHVybCwgU1ZH
RG9jdW1lbnRDbGFzcykKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3Vt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmgJKHJl
dmlzaW9uIDE0OTY2MikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MSw4ICs1MSw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRG9j
dW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNTVkdEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQogICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3Q7CiAK
ICAgICBGbG9hdFBvaW50IG1fdHJhbnNsYXRlOwo=
</data>
<flag name="review"
          id="222309"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>