<?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>127786</bug_id>
          
          <creation_ts>2014-01-28 12:09:29 -0800</creation_ts>
          <short_desc>Document::topDocument() should return a reference</short_desc>
          <delta_ts>2014-01-28 16:26:48 -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>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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973029</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 12:09:29 -0800</bug_when>
    <thetext>it should</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973030</commentid>
    <comment_count>1</comment_count>
      <attachid>222473</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 12:10:53 -0800</bug_when>
    <thetext>Created attachment 222473
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973035</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 12:13:45 -0800</bug_when>
    <thetext>Attachment 222473 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderView.cpp:1269:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973037</commentid>
    <comment_count>3</comment_count>
      <attachid>222473</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-01-28 12:16:34 -0800</bug_when>
    <thetext>Comment on attachment 222473
patch

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

&gt; Source/WebCore/dom/Document.cpp:4316
&gt; -    return m_frame ? m_frame-&gt;mainFrame().document() : const_cast&lt;Document*&gt;(this);
&gt; +    return m_frame ? *m_frame-&gt;mainFrame().document() : const_cast&lt;Document&amp;&gt;(*this);

We should make this 100% safe by null-checking MainFrame::document and falling back to this in that case too. And if we ever change MainFrame::document to return a reference we can delete that branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973101</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-28 14:27:59 -0800</bug_when>
    <thetext>https://trac.webkit.org/r162962</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973210</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-01-28 16:20:34 -0800</bug_when>
    <thetext>Looks like it does not build on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973214</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-01-28 16:26:48 -0800</bug_when>
    <thetext>Never mind, I am late on the internal updates. Antti already fixed the build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222473</attachid>
            <date>2014-01-28 12:10:53 -0800</date>
            <delta_ts>2014-01-28 12:16:34 -0800</delta_ts>
            <desc>patch</desc>
            <filename>topdocument-reference.patch</filename>
            <type>text/plain</type>
            <size>12661</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjk0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE0LTAxLTI4ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBEb2N1bWVudDo6dG9wRG9jdW1l
bnQoKSBzaG91bGQgcmV0dXJuIGEgcmVmZXJlbmNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjptYWluRnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6dG9wRG9jdW1lbnQpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
SU9TLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3Np
YmlsaXR5Q29udGFpbmVyXSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmNyZWF0ZVJlbmRlclRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlc3Ry
b3lSZW5kZXJUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckFYT2JqZWN0
Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV4aXN0aW5nQVhPYmplY3RDYWNo
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YXhPYmplY3RDYWNoZSk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6dG9wRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRvcE9y
aWdpbik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0Q2FuY2VsRnVsbFNjcmVl
bik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmluY3JlbWVudFNjcm9s
bEV2ZW50TGlzdGVuZXJzQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkZWNy
ZW1lbnRTY3JvbGxFdmVudExpc3RlbmVyc0NvdW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRP
YmplY3Q6OmlzUmVwbGFjZW1lbnRPYnNjdXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6UmVwYWludFJlZ2lvbkFj
Y3VtdWxhdG9yOjpSZXBhaW50UmVnaW9uQWNjdW11bGF0b3IpOgorCiAyMDE0LTAxLTI4ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNjI4
MzcpOiA1JSByZWdyZXNzaW9uIG9uIGh0bWw1LWZ1bGwtcmVuZGVyIGFuZCAzJSByZWdyZXNzaW9u
IGluIERvWW91RXZlbkJlbmNoCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2MjkzMSkKKysrIFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYwOSwxMSArNjA5LDExIEBAIE1haW5GcmFtZSogQWNjZXNzaWJpbGl0eU9i
amVjdDo6bWFpbkZyYW0KIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b3BEb2N1bWVudCgp
OwogICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAKICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKTsKICAg
ICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgCiAgICAgcmV0dXJuICZmcmFtZS0+bWFpbkZyYW1lKCk7CiB9CkBAIC02MjEsOCArNjIx
LDggQEAgTWFpbkZyYW1lKiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjptYWluRnJhbQogRG9jdW1lbnQq
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnRvcERvY3VtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWRv
Y3VtZW50KCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBkb2N1bWVudCgpLT50b3BE
b2N1bWVudCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gJmRvY3VtZW50
KCktPnRvcERvY3VtZW50KCk7CiB9CiAKIFN0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsYW5n
dWFnZSgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5t
bQkocmV2aXNpb24gMTYyOTMxKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3Mv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTEx
MDksNyArMTEwOSw3IEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlDb250YWluZXIKICAgICAvLyBWZXJp
ZnkgdGhpcyBpcyB0aGUgdG9wIGRvY3VtZW50LiBJZiBub3QsIHdlIG1pZ2h0IG5lZWQgdG8gZ28g
dGhyb3VnaCB0aGUgcGxhdGZvcm0gd2lkZ2V0LgogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0g
bV9vYmplY3QtPmRvY3VtZW50RnJhbWVWaWV3KCk7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bV9vYmplY3QtPmRvY3VtZW50KCk7Ci0gICAgaWYgKGRvY3VtZW50ICYmIGZyYW1lVmlldyAmJiBk
b2N1bWVudCAhPSBkb2N1bWVudC0+dG9wRG9jdW1lbnQoKSkKKyAgICBpZiAoZG9jdW1lbnQgJiYg
ZnJhbWVWaWV3ICYmIGRvY3VtZW50ICE9ICZkb2N1bWVudC0+dG9wRG9jdW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuIGZyYW1lVmlldy0+cGxhdGZvcm1XaWRnZXQoKTsKICAgICAKICAgICAvLyBUaGUg
dG9wIHNjcm9sbCB2aWV3J3MgcGFyZW50IGlzIHRoZSB3ZWIgZG9jdW1lbnQgdmlldy4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMTYyOTQ3KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIERv
Y3VtZW50Ojp+RG9jdW1lbnQoKQogICAgIEFTU0VSVCghbV9wYXJzZXIgfHwgbV9wYXJzZXItPnJl
ZkNvdW50KCkgPT0gMSk7CiAgICAgZGV0YWNoUGFyc2VyKCk7CiAKLSAgICBpZiAodGhpcyA9PSB0
b3BEb2N1bWVudCgpKQorICAgIGlmICh0aGlzID09ICZ0b3BEb2N1bWVudCgpKQogICAgICAgICBj
bGVhckFYT2JqZWN0Q2FjaGUoKTsKIAogICAgIG1fZGVjb2RlciA9IG51bGxwdHI7CkBAIC0xOTQ3
LDcgKzE5NDcsNyBAQCB2b2lkIERvY3VtZW50OjpjcmVhdGVSZW5kZXJUcmVlKCkKIHsKICAgICBB
U1NFUlQoIXJlbmRlclZpZXcoKSk7CiAgICAgQVNTRVJUKCFtX2luUGFnZUNhY2hlKTsKLSAgICBB
U1NFUlQoIW1fYXhPYmplY3RDYWNoZSB8fCB0aGlzICE9IHRvcERvY3VtZW50KCkpOworICAgIEFT
U0VSVCghbV9heE9iamVjdENhY2hlIHx8IHRoaXMgIT0gJnRvcERvY3VtZW50KCkpOwogCiAgICAg
aWYgKG1faXNOb25SZW5kZXJlZFBsYWNlaG9sZGVyKQogICAgICAgICByZXR1cm47CkBAIC0yMDMy
LDcgKzIwMzIsNyBAQCB2b2lkIERvY3VtZW50OjpkZXN0cm95UmVuZGVyVHJlZSgpCiAKICAgICBU
ZW1wb3JhcnlDaGFuZ2U8Ym9vbD4gY2hhbmdlKG1fcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkLCB0
cnVlKTsKIAotICAgIGlmICh0aGlzID09IHRvcERvY3VtZW50KCkpCisgICAgaWYgKHRoaXMgPT0g
JnRvcERvY3VtZW50KCkpCiAgICAgICAgIGNsZWFyQVhPYmplY3RDYWNoZSgpOwogCiAgICAgZG9j
dW1lbnRXaWxsQmVjb21lSW5hY3RpdmUoKTsKQEAgLTIxNjcsNyArMjE2Nyw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnN0b3BBY3RpdmVET01PYmplY3RzKCkKIAogdm9pZCBEb2N1bWVudDo6Y2xlYXJBWE9i
amVjdENhY2hlKCkKIHsKLSAgICBBU1NFUlQodG9wRG9jdW1lbnQoKSA9PSB0aGlzKTsKKyAgICBB
U1NFUlQoJnRvcERvY3VtZW50KCkgPT0gdGhpcyk7CiAgICAgLy8gQ2xlYXIgdGhlIGNhY2hlIG1l
bWJlciB2YXJpYWJsZSBiZWZvcmUgY2FsbGluZyBkZWxldGUgYmVjYXVzZSBhdHRlbXB0cwogICAg
IC8vIGFyZSBtYWRlIHRvIGFjY2VzcyBpdCBkdXJpbmcgZGVzdHJ1Y3Rpb24uCiAgICAgbV9heE9i
amVjdENhY2hlLmNsZWFyKCk7CkBAIC0yMTc1LDEwICsyMTc1LDEwIEBAIHZvaWQgRG9jdW1lbnQ6
OmNsZWFyQVhPYmplY3RDYWNoZSgpCiAKIEFYT2JqZWN0Q2FjaGUqIERvY3VtZW50OjpleGlzdGlu
Z0FYT2JqZWN0Q2FjaGUoKSBjb25zdAogewotICAgIGlmICghdG9wRG9jdW1lbnQoKS0+aGFzTGl2
aW5nUmVuZGVyVHJlZSgpKQorICAgIERvY3VtZW50JiB0b3BEb2N1bWVudCA9IHRoaXMtPnRvcERv
Y3VtZW50KCk7CisgICAgaWYgKCF0b3BEb2N1bWVudC5oYXNMaXZpbmdSZW5kZXJUcmVlKCkpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgcmV0dXJuIHRvcERvY3VtZW50KCktPm1fYXhP
YmplY3RDYWNoZS5nZXQoKTsKKyAgICByZXR1cm4gdG9wRG9jdW1lbnQubV9heE9iamVjdENhY2hl
LmdldCgpOwogfQogCiBBWE9iamVjdENhY2hlKiBEb2N1bWVudDo6YXhPYmplY3RDYWNoZSgpIGNv
bnN0CkBAIC0yMTkwLDE2ICsyMTkwLDE2IEBAIEFYT2JqZWN0Q2FjaGUqIERvY3VtZW50OjpheE9i
amVjdENhY2hlKCkKICAgICAvLyBkb2N1bWVudC4gIFRoaXMgaXMgYmVjYXVzZSB3ZSBuZWVkIHRv
IGJlIGFibGUgdG8gZ2V0IGZyb20gYW55IFdlYkNvcmVBWE9iamVjdAogICAgIC8vIHRvIGFueSBv
dGhlciBXZWJDb3JlQVhPYmplY3Qgb24gdGhlIHNhbWUgcGFnZS4gIFVzaW5nIGEgc2luZ2xlIGNh
Y2hlIGFsbG93cwogICAgIC8vIGxvb2t1cHMgYWNyb3NzIG5lc3RlZCB3ZWJhcmVhcyAoaS5lLiBt
dWx0aXBsZSBkb2N1bWVudHMpLgotICAgIERvY3VtZW50KiB0b3BEb2N1bWVudCA9IHRoaXMtPnRv
cERvY3VtZW50KCk7CisgICAgRG9jdW1lbnQmIHRvcERvY3VtZW50ID0gdGhpcy0+dG9wRG9jdW1l
bnQoKTsKIAogICAgIC8vIElmIHRoZSBkb2N1bWVudCBoYXMgYWxyZWFkeSBiZWVuIGRldGFjaGVk
LCBkbyBub3QgbWFrZSBhIG5ldyBheE9iamVjdENhY2hlLgotICAgIGlmICghdG9wRG9jdW1lbnQt
Pmhhc0xpdmluZ1JlbmRlclRyZWUoKSkKKyAgICBpZiAoIXRvcERvY3VtZW50Lmhhc0xpdmluZ1Jl
bmRlclRyZWUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBBU1NFUlQodG9wRG9j
dW1lbnQgPT0gdGhpcyB8fCAhbV9heE9iamVjdENhY2hlKTsKLSAgICBpZiAoIXRvcERvY3VtZW50
LT5tX2F4T2JqZWN0Q2FjaGUpCi0gICAgICAgIHRvcERvY3VtZW50LT5tX2F4T2JqZWN0Q2FjaGUg
PSBhZG9wdFB0cihuZXcgQVhPYmplY3RDYWNoZSgqdG9wRG9jdW1lbnQpKTsKLSAgICByZXR1cm4g
dG9wRG9jdW1lbnQtPm1fYXhPYmplY3RDYWNoZS5nZXQoKTsKKyAgICBBU1NFUlQoJnRvcERvY3Vt
ZW50ID09IHRoaXMgfHwgIW1fYXhPYmplY3RDYWNoZSk7CisgICAgaWYgKCF0b3BEb2N1bWVudC5t
X2F4T2JqZWN0Q2FjaGUpCisgICAgICAgIHRvcERvY3VtZW50Lm1fYXhPYmplY3RDYWNoZSA9IGFk
b3B0UHRyKG5ldyBBWE9iamVjdENhY2hlKHRvcERvY3VtZW50KSk7CisgICAgcmV0dXJuIHRvcERv
Y3VtZW50Lm1fYXhPYmplY3RDYWNoZS5nZXQoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0Vmlz
dWFsbHlPcmRlcmVkKCkKQEAgLTI0NjgsNyArMjQ2OCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmltcGxp
Y2l0Q2xvc2UoKQogICAgICAgICAvLyBleGlzdHMgaW4gdGhlIGNhY2hlICh3ZSBpZ25vcmUgdGhl
IHJldHVybiB2YWx1ZSBiZWNhdXNlIHdlIGRvbid0IG5lZWQgaXQgaGVyZSkuIFRoaXMgaXMgCiAg
ICAgICAgIC8vIG9ubHkgc2FmZSB0byBjYWxsIHdoZW4gYSBsYXlvdXQgaXMgbm90IGluIHByb2dy
ZXNzLCBzbyBpdCBjYW4gbm90IGJlIHVzZWQgaW4gcG9zdE5vdGlmaWNhdGlvbi4gICAgCiAgICAg
ICAgIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUocmVuZGVyVmlldygpKTsKLSAgICAgICAg
aWYgKHRoaXMgPT0gdG9wRG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKHRoaXMgPT0gJnRvcERvY3Vt
ZW50KCkpCiAgICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocmVu
ZGVyVmlldygpLCBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZSk7CiAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgLy8gQVhMb2FkQ29tcGxldGUgY2FuIG9ubHkgYmUgcG9zdGVkIG9uIHRo
ZSB0b3AgZG9jdW1lbnQsIHNvIGlmIGl0J3MgYSBkb2N1bWVudApAQCAtNDMxMSw5ICs0MzExLDkg
QEAgRG9jdW1lbnQqIERvY3VtZW50OjpwYXJlbnREb2N1bWVudCgpIGNvbgogICAgIHJldHVybiBw
YXJlbnQtPmRvY3VtZW50KCk7CiB9CiAKLURvY3VtZW50KiBEb2N1bWVudDo6dG9wRG9jdW1lbnQo
KSBjb25zdAorRG9jdW1lbnQmIERvY3VtZW50Ojp0b3BEb2N1bWVudCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG1fZnJhbWUgPyBtX2ZyYW1lLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpIDogY29uc3Rf
Y2FzdDxEb2N1bWVudCo+KHRoaXMpOworICAgIHJldHVybiBtX2ZyYW1lID8gKm1fZnJhbWUtPm1h
aW5GcmFtZSgpLmRvY3VtZW50KCkgOiBjb25zdF9jYXN0PERvY3VtZW50Jj4oKnRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPEF0dHI+IERvY3VtZW50OjpjcmVhdGVBdHRyaWJ1dGUoY29uc3QgU3RyaW5n
JiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTQ4NzUsNyArNDg3NSw3IEBAIHZvaWQgRG9j
dW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSAKIAogU2VjdXJpdHlPcmlnaW4qIERvY3Vt
ZW50Ojp0b3BPcmlnaW4oKSBjb25zdAogewotICAgIHJldHVybiB0b3BEb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpOworICAgIHJldHVybiB0b3BEb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCk7
CiB9CiAKIHN0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgewpAQCAtNTIyMiwxNiArNTIyMiwxNyBA
QCB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKICAgICAvLyBpcyBkZWZp
bmVkIGFzOiAKICAgICAvLyAiVG8gZnVsbHkgZXhpdCBmdWxsc2NyZWVuIGFjdCBhcyBpZiB0aGUg
ZXhpdEZ1bGxzY3JlZW4oKSBtZXRob2Qgd2FzIGludm9rZWQgb24gdGhlIHRvcC1sZXZlbCBicm93
c2luZwogICAgIC8vIGNvbnRleHQncyBkb2N1bWVudCBhbmQgc3Vic2VxdWVudGx5IGVtcHR5IHRo
YXQgZG9jdW1lbnQncyBmdWxsc2NyZWVuIGVsZW1lbnQgc3RhY2suIgotICAgIGlmICghdG9wRG9j
dW1lbnQoKS0+d2Via2l0RnVsbHNjcmVlbkVsZW1lbnQoKSkKKyAgICBEb2N1bWVudCYgdG9wRG9j
dW1lbnQgPSB0aGlzLT50b3BEb2N1bWVudCgpOworICAgIGlmICghdG9wRG9jdW1lbnQud2Via2l0
RnVsbHNjcmVlbkVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gVG8gYWNoaWV2
ZSB0aGF0IGFpbSwgcmVtb3ZlIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgdG9wIGRvY3VtZW50
J3Mgc3RhY2sgZXhjZXB0IGZvciB0aGUgZmlyc3QgYmVmb3JlCiAgICAgLy8gY2FsbGluZyB3ZWJr
aXRFeGl0RnVsbHNjcmVlbigpOgogICAgIFZlY3RvcjxSZWZQdHI8RWxlbWVudD4+IHJlcGxhY2Vt
ZW50RnVsbHNjcmVlbkVsZW1lbnRTdGFjazsKLSAgICByZXBsYWNlbWVudEZ1bGxzY3JlZW5FbGVt
ZW50U3RhY2suYXBwZW5kKHRvcERvY3VtZW50KCktPndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50KCkp
OwotICAgIHRvcERvY3VtZW50KCktPm1fZnVsbFNjcmVlbkVsZW1lbnRTdGFjay5zd2FwKHJlcGxh
Y2VtZW50RnVsbHNjcmVlbkVsZW1lbnRTdGFjayk7CisgICAgcmVwbGFjZW1lbnRGdWxsc2NyZWVu
RWxlbWVudFN0YWNrLmFwcGVuZCh0b3BEb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudCgp
KTsKKyAgICB0b3BEb2N1bWVudC5tX2Z1bGxTY3JlZW5FbGVtZW50U3RhY2suc3dhcChyZXBsYWNl
bWVudEZ1bGxzY3JlZW5FbGVtZW50U3RhY2spOwogCi0gICAgdG9wRG9jdW1lbnQoKS0+d2Via2l0
RXhpdEZ1bGxzY3JlZW4oKTsKKyAgICB0b3BEb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigp
OwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRFeGl0RnVsbHNjcmVlbigpCkBAIC01NDA0LDEw
ICs1NDA1LDkgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5GbwogICAg
IC8vIFdoZW4gd2Via2l0Q2FuY2VsRnVsbFNjcmVlbiBpcyBjYWxsZWQsIHdlIGNhbGwgd2Via2l0
RXhpdEZ1bGxTY3JlZW4gb24gdGhlIHRvcERvY3VtZW50KCkuIFRoYXQKICAgICAvLyBtZWFucyB0
aGF0IHRoZSBldmVudHMgd2lsbCBiZSBxdWV1ZWQgdGhlcmUuIFNvIGlmIHdlIGhhdmUgbm8gZXZl
bnRzIGhlcmUsIHN0YXJ0IHRoZSB0aW1lciBvbgogICAgIC8vIHRoZSBleGl0aW5nIGRvY3VtZW50
LgotICAgIERvY3VtZW50KiBleGl0aW5nRG9jdW1lbnQgPSB0aGlzOwotICAgIGlmIChtX2Z1bGxT
Y3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJv
ckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgpKQotICAgICAgICBleGl0aW5nRG9jdW1lbnQgPSB0
b3BEb2N1bWVudCgpOwotICAgIGV4aXRpbmdEb2N1bWVudC0+bV9mdWxsU2NyZWVuQ2hhbmdlRGVs
YXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgYm9vbCBldmVudFRhcmdldFF1ZXVlc0VtcHR5
ID0gbV9mdWxsU2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCkgJiYgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKTsKKyAgICBEb2N1bWVudCYgZXhp
dGluZ0RvY3VtZW50ID0gZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA/IHRvcERvY3VtZW50KCkgOiAq
dGhpczsKKyAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5z
dGFydE9uZVNob3QoMCk7CiB9CiAgICAgCiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVu
ZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiogcmVuZGVyZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAkocmV2aXNpb24gMTYyOTMxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTkwNSw3ICs5MDUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbkRlc2ln
bk1vZGUoKSBjb25zdDsKIAogICAgIERvY3VtZW50KiBwYXJlbnREb2N1bWVudCgpIGNvbnN0Owot
ICAgIERvY3VtZW50KiB0b3BEb2N1bWVudCgpIGNvbnN0OworICAgIERvY3VtZW50JiB0b3BEb2N1
bWVudCgpIGNvbnN0OwogICAgIAogICAgIFNjcmlwdFJ1bm5lciogc2NyaXB0UnVubmVyKCkgeyBy
ZXR1cm4gbV9zY3JpcHRSdW5uZXIuZ2V0KCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcAkocmV2aXNpb24gMTYyOTMxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjk1LDcgKzE2OTUsNyBAQCBib29sIERPTVdpbmRv
dzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBCiB2b2lkIERPTVdpbmRvdzo6aW5jcmVtZW50U2Ny
b2xsRXZlbnRMaXN0ZW5lcnNDb3VudCgpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhp
cy0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoKyttX3Njcm9sbEV2ZW50TGlzdGVuZXJDb3VudCA9PSAx
ICYmIGRvY3VtZW50ID09IGRvY3VtZW50LT50b3BEb2N1bWVudCgpKSB7CisgICAgaWYgKCsrbV9z
Y3JvbGxFdmVudExpc3RlbmVyQ291bnQgPT0gMSAmJiBkb2N1bWVudCA9PSAmZG9jdW1lbnQtPnRv
cERvY3VtZW50KCkpIHsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKICAg
ICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5wYWdlKCkpCiAgICAgICAgICAgICBmcmFtZS0+cGFn
ZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXROZWVkc1Njcm9sbE5vdGlmaWNhdGlvbnMoZnJhbWUs
IHRydWUpOwpAQCAtMTcwNSw3ICsxNzA1LDcgQEAgdm9pZCBET01XaW5kb3c6OmluY3JlbWVudFNj
cm9sbEV2ZW50TGlzdAogdm9pZCBET01XaW5kb3c6OmRlY3JlbWVudFNjcm9sbEV2ZW50TGlzdGVu
ZXJzQ291bnQoKQogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7
Ci0gICAgaWYgKCEtLW1fc2Nyb2xsRXZlbnRMaXN0ZW5lckNvdW50ICYmIGRvY3VtZW50ID09IGRv
Y3VtZW50LT50b3BEb2N1bWVudCgpKSB7CisgICAgaWYgKCEtLW1fc2Nyb2xsRXZlbnRMaXN0ZW5l
ckNvdW50ICYmIGRvY3VtZW50ID09ICZkb2N1bWVudC0+dG9wRG9jdW1lbnQoKSkgewogICAgICAg
ICBGcmFtZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwogICAgICAgICBpZiAoZnJhbWUgJiYgZnJh
bWUtPnBhZ2UoKSAmJiAhZG9jdW1lbnQtPmluUGFnZUNhY2hlKCkpCiAgICAgICAgICAgICBmcmFt
ZS0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXROZWVkc1Njcm9sbE5vdGlmaWNhdGlvbnMo
ZnJhbWUsIGZhbHNlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gMTYyOTMxKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDI0LDcgKzQyNCw3IEBAIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmlzUmVwbGFjZW1lbnQK
ICAgICBpZiAocmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgUmVu
ZGVyVmlldyogcm9vdFJlbmRlclZpZXcgPSBkb2N1bWVudCgpLnRvcERvY3VtZW50KCktPnJlbmRl
clZpZXcoKTsKKyAgICBSZW5kZXJWaWV3KiByb290UmVuZGVyVmlldyA9IGRvY3VtZW50KCkudG9w
RG9jdW1lbnQoKS5yZW5kZXJWaWV3KCk7CiAgICAgQVNTRVJUKHJvb3RSZW5kZXJWaWV3KTsKICAg
ICBpZiAoIXJvb3RSZW5kZXJWaWV3KQogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDE2Mjk0NykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI2Niw3ICsxMjY2LDcgQEAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciYgUmVuZGVyVmlldzo6aW1h
ZwogfQogCiBSZW5kZXJWaWV3OjpSZXBhaW50UmVnaW9uQWNjdW11bGF0b3I6OlJlcGFpbnRSZWdp
b25BY2N1bXVsYXRvcihSZW5kZXJWaWV3KiB2aWV3KQotICAgIDogbV9yb290Vmlldyh2aWV3ID8g
dmlldy0+ZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLT5yZW5kZXJWaWV3KCkgOiBudWxscHRyKQor
ICAgIDogbV9yb290Vmlldyh2aWV3ID8gdmlldy0+ZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLnJl
bmRlclZpZXcoKSA6IG51bGxwdHIpCiB7CiAgICAgaWYgKCFtX3Jvb3RWaWV3KQogICAgICAgICBy
ZXR1cm47Cg==
</data>
<flag name="review"
          id="246465"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>