<?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>119435</bug_id>
          
          <creation_ts>2013-08-02 01:11:22 -0700</creation_ts>
          <short_desc>FrameView should have an isMainFrameView()</short_desc>
          <delta_ts>2013-08-15 13:53:59 -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>Layout and Rendering</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>
          <dependson>119861</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>914052</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-02 01:11:22 -0700</bug_when>
    <thetext>There&apos;s a lot of &quot;m_frame &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame() == m_frame&quot;.

Also I have already (maybe twice) made the mistake of not doing the requisite null-checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914054</commentid>
    <comment_count>1</comment_count>
      <attachid>207992</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-02 01:13:28 -0700</bug_when>
    <thetext>Created attachment 207992
patch

Maybe there&apos;s some compelling reason that we haven&apos;t done this before? I don&apos;t know, but I&apos;d love to!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914066</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-08-02 02:11:47 -0700</bug_when>
    <thetext>Yay. I wanted to do this for such a long time :) (I was a bit hesitant though, whether WebCore::Frame should have an isMainFrame() function instead (copy what WK2 already has) and use that in FrameView (and in other classes))

Anyway there are a few more places where you check for isMainFrameView()

FrameView::setFrameRect()
FrameView::performPostLayoutTasks()
FrameView::pagination()
FrameView::paintOverhangAreas()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914078</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-02 03:22:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Yay. I wanted to do this for such a long time :) (I was a bit hesitant though, whether WebCore::Frame should have an isMainFrame() function instead (copy what WK2 already has) and use that in FrameView (and in other classes))
&gt; 
&gt; Anyway there are a few more places where you check for isMainFrameView()
&gt; 
&gt; FrameView::setFrameRect()
&gt; FrameView::performPostLayoutTasks()
&gt; FrameView::pagination()
&gt; FrameView::paintOverhangAreas()

There are even more than that! I will post a new patch in a moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914079</commentid>
    <comment_count>4</comment_count>
      <attachid>207997</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-02 03:26:42 -0700</bug_when>
    <thetext>Created attachment 207997
more places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914204</commentid>
    <comment_count>5</comment_count>
      <attachid>207997</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-08-02 10:59:19 -0700</bug_when>
    <thetext>Comment on attachment 207997
more places

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

&gt; Source/WebCore/page/FrameView.cpp:427
&gt; +bool FrameView::isMainFrameView() const
&gt; +{
&gt; +    return m_frame &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame() == m_frame;
&gt; +}
&gt; +

Does this do the right thing for a page in the page cache? What is the right thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914235</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-08-02 12:29:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 207997 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207997&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:427
&gt; &gt; +bool FrameView::isMainFrameView() const
&gt; &gt; +{
&gt; &gt; +    return m_frame &amp;&amp; m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame() == m_frame;
&gt; &gt; +}
&gt; &gt; +
&gt; 
&gt; Does this do the right thing for a page in the page cache? What is the right thing?

A &quot;web page&quot; in the page cache is a much different concept than a WebCore::Page

WebCore::Page represents the browser tab.  And that WebCore::Page has a single WebCore::Frame that is ALWAYS the main frame of that tab, even across navigations.

I think this check is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914273</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-02 14:13:17 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Maybe there&apos;s some compelling reason that we haven&apos;t done this before? I don&apos;t know, but I&apos;d love to!

Generally it’s hard to know how much to replicate across the core classes. Should Document have isMainFrameDocument in it? Should Frame have isMainFrame or only FrameTree, etc.?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917618</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-15 12:07:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/154116</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917680</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-15 13:53:59 -0700</bug_when>
    <thetext>Qt build fixed in http://trac.webkit.org/changeset/154128.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207992</attachid>
            <date>2013-08-02 01:13:28 -0700</date>
            <delta_ts>2013-08-02 03:26:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>isMainFrameView.diff</filename>
            <type>text/plain</type>
            <size>6937</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZDA2YTA5Li42MWI4OTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTMtMDgtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgRnJhbWVWaWV3IHNob3VsZCBoYXZlIGFuIGlzTWFpbkZyYW1lVmlldygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk0MzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IGp1c3QgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmlzTWFpbkZyYW1lVmlldyk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmNyZWF0ZVNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2V0SGVhZGVySGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0
Rm9vdGVySGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWluaW11bVNjcm9s
bFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bWF4aW11bVNjcm9sbFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2VuZFJlc2l6ZUV2ZW50SWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudFNjYWxl
RmFjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRTY3JvbGxDb3JuZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludFNjcm9sbGJhcik6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgQWRkIGlzTWFpbkZyYW1lVmlldyBhbmQgYWRv
cHQgaXQgd2hlcmV2ZXIgd2Ugd2VyZSBwcmV2aW91c2x5IGNoZWNraW5nIGlmCisgICAgICAgIHRo
ZSBGcmFtZVZpZXcncyBmcmFtZSB3YXMgdGhlIHNhbWUgYXMgaXRzIHBhZ2UncyBtYWluIGZyYW1l
LgorCiAyMDEzLTA4LTAxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTUzNjA4LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IDg4ZDQ0ZjcuLmMwOTFiMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTQyOCw2ICs0MjgsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmNsZWFyKCkKICAg
ICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKIH0KIAorYm9vbCBGcmFtZVZpZXc6Omlz
TWFpbkZyYW1lVmlldygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWUgJiYgbV9mcmFtZS0+
cGFnZSgpICYmIG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZTsKK30KKwog
Ym9vbCBGcmFtZVZpZXc6OmRpZEZpcnN0TGF5b3V0KCkgY29uc3QKIHsKICAgICByZXR1cm4gIW1f
Zmlyc3RMYXlvdXQ7CkBAIC01NTUsNyArNTYwLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNh
bkhhdmVTY3JvbGxiYXJzKCkKIFBhc3NSZWZQdHI8U2Nyb2xsYmFyPiBGcmFtZVZpZXc6OmNyZWF0
ZVNjcm9sbGJhcihTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbikKIHsKICAgICBpZiAo
U2V0dGluZ3MqIHNldHRpbmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKSkgewotICAgICAgICBpZiAo
IXNldHRpbmdzLT5hbGxvd0N1c3RvbVNjcm9sbGJhckluTWFpbkZyYW1lKCkgJiYgbV9mcmFtZS0+
cGFnZSgpICYmIG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSkKKyAgICAg
ICAgaWYgKCFzZXR0aW5ncy0+YWxsb3dDdXN0b21TY3JvbGxiYXJJbk1haW5GcmFtZSgpICYmIGlz
TWFpbkZyYW1lVmlldygpKQogICAgICAgICAgICAgcmV0dXJuIFNjcm9sbFZpZXc6OmNyZWF0ZVNj
cm9sbGJhcihvcmllbnRhdGlvbik7CiAgICAgfQogCkBAIC02MzEsOCArNjM2LDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KFJlbmRlck9iamVjdCogbywgU2Nyb2xs
YmFyTW9kZSYgaE1vZGUsIFMKICAgICAvLyB0aGVyZSBpcyBhIGZyYW1lU2NhbGVGYWN0b3IgdGhh
dCBpcyBncmVhdGVyIHRoYW4gb25lIG9uIHRoZSBtYWluIGZyYW1lLiBBbHNvIGRpc3JlZ2FyZCBo
aWRkZW4gaWYgdGhlcmUgaXMgYQogICAgIC8vIGhlYWRlciBvciBmb290ZXIuCiAKLSAgICBib29s
IG92ZXJyaWRlSGlkZGVuID0gKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPm1h
aW5GcmFtZSgpID09IG1fZnJhbWUgJiYgbV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpID4gMSkK
LSAgICAgICAgfHwgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFt
ZSgpID09IG1fZnJhbWUgJiYgKGhlYWRlckhlaWdodCgpIHx8IGZvb3RlckhlaWdodCgpKSk7Cisg
ICAgYm9vbCBvdmVycmlkZUhpZGRlbiA9IGlzTWFpbkZyYW1lVmlldygpICYmICgobV9mcmFtZS0+
ZnJhbWVTY2FsZUZhY3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0
KCkpOwogCiAgICAgRU92ZXJmbG93IG92ZXJmbG93WCA9IG8tPnN0eWxlKCktPm92ZXJmbG93WCgp
OwogICAgIEVPdmVyZmxvdyBvdmVyZmxvd1kgPSBvLT5zdHlsZSgpLT5vdmVyZmxvd1koKTsKQEAg
LTk0Niw3ICs5NTAsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5
bmNocm9uaXphdGlvbigpCiB2b2lkIEZyYW1lVmlldzo6c2V0SGVhZGVySGVpZ2h0KGludCBoZWFk
ZXJIZWlnaHQpCiB7CiAgICAgaWYgKG1fZnJhbWUgJiYgbV9mcmFtZS0+cGFnZSgpKQotICAgICAg
ICBBU1NFUlQobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKTsKKyAgICAg
ICAgQVNTRVJUKGlzTWFpbkZyYW1lVmlldygpKTsKICAgICBtX2hlYWRlckhlaWdodCA9IGhlYWRl
ckhlaWdodDsKIAogICAgIGlmIChSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdGhpcy0+cmVuZGVy
VmlldygpKQpAQCAtOTU2LDcgKzk2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRIZWFkZXJIZWln
aHQoaW50IGhlYWRlckhlaWdodCkKIHZvaWQgRnJhbWVWaWV3OjpzZXRGb290ZXJIZWlnaHQoaW50
IGZvb3RlckhlaWdodCkKIHsKICAgICBpZiAobV9mcmFtZSAmJiBtX2ZyYW1lLT5wYWdlKCkpCi0g
ICAgICAgIEFTU0VSVChtX2ZyYW1lID09IG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkpOwor
ICAgICAgICBBU1NFUlQoaXNNYWluRnJhbWVWaWV3KCkpOwogICAgIG1fZm9vdGVySGVpZ2h0ID0g
Zm9vdGVySGVpZ2h0OwogCiAgICAgaWYgKFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB0aGlzLT5y
ZW5kZXJWaWV3KCkpCkBAIC0xNjQxLDEwICsxNjQ1LDcgQEAgSW50UG9pbnQgRnJhbWVWaWV3Ojpt
aW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewogICAgIEludFBvaW50IG1pbmltdW1Qb3Np
dGlvbihTY3JvbGxWaWV3OjptaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSk7CiAKLSAgICBpZiAoIW1f
ZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuIG1pbmltdW1Qb3NpdGlv
bjsKLQotICAgIGlmIChtX2ZyYW1lID09IG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgJiYg
bV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgPT0gUGluVG9Cb3R0b20pCisgICAgaWYgKGlzTWFpbkZy
YW1lVmlldygpICYmIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yID09IFBpblRvQm90dG9tKQogICAg
ICAgICBtaW5pbXVtUG9zaXRpb24uc2V0WShtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKS55KCkpOwog
ICAgIAogICAgIHJldHVybiBtaW5pbXVtUG9zaXRpb247CkBAIC0xNjU2LDEwICsxNjU3LDcgQEAg
SW50UG9pbnQgRnJhbWVWaWV3OjptYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogCiAgICAg
bWF4aW11bU9mZnNldC5jbGFtcE5lZ2F0aXZlVG9aZXJvKCk7CiAKLSAgICBpZiAoIW1fZnJhbWUg
fHwgIW1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuIG1heGltdW1PZmZzZXQ7Ci0KLSAg
ICBpZiAobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpICYmIG1fc2Nyb2xs
UGlubmluZ0JlaGF2aW9yID09IFBpblRvVG9wKQorICAgIGlmIChpc01haW5GcmFtZVZpZXcoKSAm
JiBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciA9PSBQaW5Ub1RvcCkKICAgICAgICAgbWF4aW11bU9m
ZnNldC5zZXRZKG1pbmltdW1TY3JvbGxQb3NpdGlvbigpLnkoKSk7CiAgICAgCiAgICAgcmV0dXJu
IG1heGltdW1PZmZzZXQ7CkBAIC0yODQ5LDcgKzI4NDcsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Vu
ZFJlc2l6ZUV2ZW50SWZOZWVkZWQoKQogICAgIGlmICghc2hvdWxkU2VuZFJlc2l6ZUV2ZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBib29sIGlzTWFpbkZyYW1lID0gcGFnZSAmJiBwYWdlLT5t
YWluRnJhbWUoKSA9PSBtX2ZyYW1lOworICAgIGJvb2wgaXNNYWluRnJhbWUgPSBpc01haW5GcmFt
ZVZpZXcoKTsKICAgICBib29sIGNhblNlbmRSZXNpemVFdmVudFN5bmNocm9ub3VzbHkgPSBpc01h
aW5GcmFtZSAmJiAhaXNJbkxheW91dCgpOwogCiAgICAgLy8gSWYgd2UgcmVzaXplZCBkdXJpbmcg
bGF5b3V0LCBxdWV1ZSB1cCBhIHJlc2l6ZSBldmVudCBmb3IgbGF0ZXIsIG90aGVyd2lzZSBmaXJl
IGl0IHJpZ2h0IGF3YXkuCkBAIC0zMTIzLDEwICszMTIxLDcgQEAgSW50UmVjdCBGcmFtZVZpZXc6
OndpbmRvd1Jlc2l6ZXJSZWN0KCkgY29uc3QKIAogZmxvYXQgRnJhbWVWaWV3Ojp2aXNpYmxlQ29u
dGVudFNjYWxlRmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUt
PnBhZ2UoKSkKLSAgICAgICAgcmV0dXJuIDE7Ci0KLSAgICBpZiAoIW1fZnJhbWUtPnNldHRpbmdz
KCktPmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKCkgfHwgbV9mcmFtZSAhPSBtX2Zy
YW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKQorICAgIGlmICghaXNNYWluRnJhbWVWaWV3KCkgfHwg
IW1fZnJhbWUtPnNldHRpbmdzKCktPmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKCkp
CiAgICAgICAgIHJldHVybiAxOwogCiAgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+cGFnZVNj
YWxlRmFjdG9yKCk7CkBAIC0zMzU5LDggKzMzNTQsNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRT
Y3JvbGxDb3JuZXIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3Ju
ZQogICAgIH0KIAogICAgIGlmIChtX3Njcm9sbENvcm5lcikgewotICAgICAgICBib29sIG5lZWRz
QmFja2dvcnVuZCA9IG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFt
ZSgpID09IG1fZnJhbWU7Ci0gICAgICAgIGlmIChuZWVkc0JhY2tnb3J1bmQpCisgICAgICAgIGlm
IChpc01haW5GcmFtZVZpZXcoKSkKICAgICAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KGNvcm5l
clJlY3QsIGJhc2VCYWNrZ3JvdW5kQ29sb3IoKSwgQ29sb3JTcGFjZURldmljZVJHQik7CiAgICAg
ICAgIG1fc2Nyb2xsQ29ybmVyLT5wYWludEludG9SZWN0KGNvbnRleHQsIGNvcm5lclJlY3QubG9j
YXRpb24oKSwgY29ybmVyUmVjdCk7CiAgICAgICAgIHJldHVybjsKQEAgLTMzNzEsOCArMzM2NSw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludFNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IEludFJlY3QmIGNvcm5lCiAKIHZvaWQgRnJhbWVWaWV3OjpwYWludFNjcm9s
bGJhcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhciogYmFyLCBjb25zdCBJbnRS
ZWN0JiByZWN0KQogewotICAgIGJvb2wgbmVlZHNCYWNrZ29ydW5kID0gYmFyLT5pc0N1c3RvbVNj
cm9sbGJhcigpICYmIChtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJh
bWUoKSA9PSBtX2ZyYW1lKTsKLSAgICBpZiAobmVlZHNCYWNrZ29ydW5kKSB7CisgICAgaWYgKGJh
ci0+aXNDdXN0b21TY3JvbGxiYXIoKSAmJiBpc01haW5GcmFtZVZpZXcoKSkgewogICAgICAgICBJ
bnRSZWN0IHRvRmlsbCA9IGJhci0+ZnJhbWVSZWN0KCk7CiAgICAgICAgIHRvRmlsbC5pbnRlcnNl
Y3QocmVjdCk7CiAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRvRmlsbCwgYmFzZUJhY2tncm91
bmRDb2xvcigpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmlu
ZGV4IDQzMWIyOTMuLmI3NjMxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNDU5LDYg
KzQ1OSw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZVZpZXcoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBib29sIGlzTWFpbkZyYW1lVmlldygp
IGNvbnN0OworCiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlcldpZGdldDsKICAgICBib29sIHVzZVNs
b3dSZXBhaW50cyhib29sIGNvbnNpZGVyT3ZlcmxhcCA9IHRydWUpIGNvbnN0OwogICAgIGJvb2wg
dXNlU2xvd1JlcGFpbnRzSWZOb3RPdmVybGFwcGVkKCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207997</attachid>
            <date>2013-08-02 03:26:42 -0700</date>
            <delta_ts>2013-08-14 16:43:33 -0700</delta_ts>
            <desc>more places</desc>
            <filename>isMainFrameView.diff</filename>
            <type>text/plain</type>
            <size>11053</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZDA2YTA5Li5iOTU1MDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTMtMDgtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgRnJhbWVWaWV3IHNob3VsZCBoYXZlIGFuIGlzTWFpbkZyYW1lVmlldygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk0MzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IGp1c3QgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OkZyYW1lVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmlzTWFpbkZyYW1lVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnNldEZyYW1lUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNyZWF0ZVNjcm9s
bGJhcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdw
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0SGVhZGVySGVpZ2h0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0Rm9vdGVySGVpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlldzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnNlbmRSZXNpemVFdmVudElmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6cGFnaW5hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnZpc2li
bGVDb250ZW50U2NhbGVGYWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRW
aXNpYmxlU2Nyb2xsZXJUaHVtYlJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
Y3JvbGxiYXJTdHlsZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWlu
dFNjcm9sbENvcm5lcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBhaW50U2Nyb2xs
YmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRPdmVyaGFuZ0FyZWFzKToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICBBZGQgaXNNYWluRnJhbWVWaWV3
IGFuZCBhZG9wdCBpdCB3aGVyZXZlciB3ZSB3ZXJlIHByZXZpb3VzbHkgY2hlY2tpbmcgaWYKKyAg
ICAgICAgdGhlIEZyYW1lVmlldydzIGZyYW1lIHdhcyB0aGUgc2FtZSBhcyBpdHMgcGFnZSdzIG1h
aW4gZnJhbWUuCisKIDIwMTMtMDgtMDEgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNTM2MDguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODhkNDRmNy4uMjczMmIxNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcApAQCAtMjA4LDE1ICsyMDgsNyBAQCBGcmFtZVZpZXc6OkZyYW1lVmll
dyhGcmFtZSogZnJhbWUpCiB7CiAgICAgaW5pdCgpOwogCi0gICAgLy8gRklYTUU6IENhbiBtX2Zy
YW1lIGV2ZXIgYmUgbnVsbCBoZXJlPwotICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2ZyYW1lID09IHBhZ2UtPm1haW5GcmFtZSgpKSB7
CisgICAgaWYgKGlzTWFpbkZyYW1lVmlldygpKSB7CiAgICAgICAgIFNjcm9sbGFibGVBcmVhOjpz
ZXRWZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xsRWxhc3RpY2l0eUFsbG93ZWQpOwogICAg
ICAgICBTY3JvbGxhYmxlQXJlYTo6c2V0SG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xs
RWxhc3RpY2l0eUFsbG93ZWQpOwogICAgIH0KQEAgLTQyOCw2ICs0MjAsMTEgQEAgdm9pZCBGcmFt
ZVZpZXc6OmNsZWFyKCkKICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKIH0KIAor
Ym9vbCBGcmFtZVZpZXc6OmlzTWFpbkZyYW1lVmlldygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
ZnJhbWUgJiYgbV9mcmFtZS0+cGFnZSgpICYmIG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkg
PT0gbV9mcmFtZTsKK30KKwogYm9vbCBGcmFtZVZpZXc6OmRpZEZpcnN0TGF5b3V0KCkgY29uc3QK
IHsKICAgICByZXR1cm4gIW1fZmlyc3RMYXlvdXQ7CkBAIC00NjQsNyArNDYxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0JiBuZXdSZWN0KQogICAgIC8vIEF1
dG9zaXplZCBmb250IHNpemVzIGRlcGVuZCBvbiB0aGUgd2lkdGggb2YgdGhlIHZpZXdpbmcgYXJl
YS4KICAgICBpZiAobmV3UmVjdC53aWR0aCgpICE9IG9sZFJlY3Qud2lkdGgoKSkgewogICAgICAg
ICBQYWdlKiBwYWdlID0gbV9mcmFtZSA/IG1fZnJhbWUtPnBhZ2UoKSA6IDA7Ci0gICAgICAgIGlm
IChwYWdlICYmIHBhZ2UtPm1haW5GcmFtZSgpID09IG1fZnJhbWUgJiYgcGFnZS0+c2V0dGluZ3Mo
KS0+dGV4dEF1dG9zaXppbmdFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKGlzTWFpbkZyYW1lVmll
dygpICYmIHBhZ2UtPnNldHRpbmdzKCktPnRleHRBdXRvc2l6aW5nRW5hYmxlZCgpKSB7CiAgICAg
ICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJh
bWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkKICAgICAgICAgICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT50ZXh0QXV0b3NpemVyKCktPnJlY2FsY3VsYXRlTXVsdGlwbGllcnMo
KTsKICAgICAgICAgfQpAQCAtNTU1LDcgKzU1Miw3IEBAIHZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVD
YW5IYXZlU2Nyb2xsYmFycygpCiBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gRnJhbWVWaWV3OjpjcmVh
dGVTY3JvbGxiYXIoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CiAgICAgaWYg
KFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNldHRpbmdzKCkpIHsKLSAgICAgICAgaWYg
KCFzZXR0aW5ncy0+YWxsb3dDdXN0b21TY3JvbGxiYXJJbk1haW5GcmFtZSgpICYmIG1fZnJhbWUt
PnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpID09IG1fZnJhbWUpCisgICAg
ICAgIGlmICghc2V0dGluZ3MtPmFsbG93Q3VzdG9tU2Nyb2xsYmFySW5NYWluRnJhbWUoKSAmJiBp
c01haW5GcmFtZVZpZXcoKSkKICAgICAgICAgICAgIHJldHVybiBTY3JvbGxWaWV3OjpjcmVhdGVT
Y3JvbGxiYXIob3JpZW50YXRpb24pOwogICAgIH0KIApAQCAtNjMxLDggKzYyOCw3IEBAIHZvaWQg
RnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChSZW5kZXJPYmplY3QqIG8sIFNjcm9s
bGJhck1vZGUmIGhNb2RlLCBTCiAgICAgLy8gdGhlcmUgaXMgYSBmcmFtZVNjYWxlRmFjdG9yIHRo
YXQgaXMgZ3JlYXRlciB0aGFuIG9uZSBvbiB0aGUgbWFpbiBmcmFtZS4gQWxzbyBkaXNyZWdhcmQg
aGlkZGVuIGlmIHRoZXJlIGlzIGEKICAgICAvLyBoZWFkZXIgb3IgZm9vdGVyLgogCi0gICAgYm9v
bCBvdmVycmlkZUhpZGRlbiA9IChtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+cGFnZSgpLT5t
YWluRnJhbWUoKSA9PSBtX2ZyYW1lICYmIG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEp
Ci0gICAgICAgIHx8IChtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJh
bWUoKSA9PSBtX2ZyYW1lICYmIChoZWFkZXJIZWlnaHQoKSB8fCBmb290ZXJIZWlnaHQoKSkpOwor
ICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBpc01haW5GcmFtZVZpZXcoKSAmJiAoKG1fZnJhbWUt
PmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEpIHx8IGhlYWRlckhlaWdodCgpIHx8IGZvb3RlckhlaWdo
dCgpKTsKIAogICAgIEVPdmVyZmxvdyBvdmVyZmxvd1ggPSBvLT5zdHlsZSgpLT5vdmVyZmxvd1go
KTsKICAgICBFT3ZlcmZsb3cgb3ZlcmZsb3dZID0gby0+c3R5bGUoKS0+b3ZlcmZsb3dZKCk7CkBA
IC05NDYsNyArOTQyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldE5lZWRzT25lU2hvdERyYXdpbmdT
eW5jaHJvbml6YXRpb24oKQogdm9pZCBGcmFtZVZpZXc6OnNldEhlYWRlckhlaWdodChpbnQgaGVh
ZGVySGVpZ2h0KQogewogICAgIGlmIChtX2ZyYW1lICYmIG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAg
ICAgQVNTRVJUKG1fZnJhbWUgPT0gbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKSk7CisgICAg
ICAgIEFTU0VSVChpc01haW5GcmFtZVZpZXcoKSk7CiAgICAgbV9oZWFkZXJIZWlnaHQgPSBoZWFk
ZXJIZWlnaHQ7CiAKICAgICBpZiAoUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRl
clZpZXcoKSkKQEAgLTk1Niw3ICs5NTIsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2V0SGVhZGVySGVp
Z2h0KGludCBoZWFkZXJIZWlnaHQpCiB2b2lkIEZyYW1lVmlldzo6c2V0Rm9vdGVySGVpZ2h0KGlu
dCBmb290ZXJIZWlnaHQpCiB7CiAgICAgaWYgKG1fZnJhbWUgJiYgbV9mcmFtZS0+cGFnZSgpKQot
ICAgICAgICBBU1NFUlQobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKTsK
KyAgICAgICAgQVNTRVJUKGlzTWFpbkZyYW1lVmlldygpKTsKICAgICBtX2Zvb3RlckhlaWdodCA9
IGZvb3RlckhlaWdodDsKIAogICAgIGlmIChSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdGhpcy0+
cmVuZGVyVmlldygpKQpAQCAtMTY0MSwxMCArMTYzNyw3IEBAIEludFBvaW50IEZyYW1lVmlldzo6
bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKICAgICBJbnRQb2ludCBtaW5pbXVtUG9z
aXRpb24oU2Nyb2xsVmlldzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKCkpOwogCi0gICAgaWYgKCFt
X2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHJldHVybiBtaW5pbXVtUG9zaXRp
b247Ci0KLSAgICBpZiAobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpICYm
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yID09IFBpblRvQm90dG9tKQorICAgIGlmIChpc01haW5G
cmFtZVZpZXcoKSAmJiBtX3Njcm9sbFBpbm5pbmdCZWhhdmlvciA9PSBQaW5Ub0JvdHRvbSkKICAg
ICAgICAgbWluaW11bVBvc2l0aW9uLnNldFkobWF4aW11bVNjcm9sbFBvc2l0aW9uKCkueSgpKTsK
ICAgICAKICAgICByZXR1cm4gbWluaW11bVBvc2l0aW9uOwpAQCAtMTY1NiwxMCArMTY0OSw3IEBA
IEludFBvaW50IEZyYW1lVmlldzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIAogICAg
IG1heGltdW1PZmZzZXQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOwogCi0gICAgaWYgKCFtX2ZyYW1l
IHx8ICFtX2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHJldHVybiBtYXhpbXVtT2Zmc2V0OwotCi0g
ICAgaWYgKG1fZnJhbWUgPT0gbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKSAmJiBtX3Njcm9s
bFBpbm5pbmdCZWhhdmlvciA9PSBQaW5Ub1RvcCkKKyAgICBpZiAoaXNNYWluRnJhbWVWaWV3KCkg
JiYgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3IgPT0gUGluVG9Ub3ApCiAgICAgICAgIG1heGltdW1P
ZmZzZXQuc2V0WShtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKS55KCkpOwogICAgIAogICAgIHJldHVy
biBtYXhpbXVtT2Zmc2V0OwpAQCAtMjc2OSwxMCArMjc1OSw4IEBAIHZvaWQgRnJhbWVWaWV3Ojpw
ZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICAgICAgICAgIG1fZnJhbWUtPmxvYWRlcigpLT5k
aWRGaXJzdExheW91dCgpOwogICAgICAgICAgICAgaWYgKHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBE
aWRGaXJzdExheW91dCkKICAgICAgICAgICAgICAgICBtaWxlc3RvbmVzQWNoaWV2ZWQgfD0gRGlk
Rmlyc3RMYXlvdXQ7Ci0gICAgICAgICAgICBpZiAocGFnZSkgewotICAgICAgICAgICAgICAgIGlm
IChwYWdlLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lKQotICAgICAgICAgICAgICAgICAgICBwYWdl
LT5zdGFydENvdW50aW5nUmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzKCk7Ci0gICAgICAgICAgICB9
CisgICAgICAgICAgICBpZiAoaXNNYWluRnJhbWVWaWV3KCkpCisgICAgICAgICAgICAgICAgcGFn
ZS0+c3RhcnRDb3VudGluZ1JlbGV2YW50UmVwYWludGVkT2JqZWN0cygpOwogICAgICAgICB9CiAg
ICAgICAgIHVwZGF0ZUlzVmlzdWFsbHlOb25FbXB0eSgpOwogCkBAIC0yODQ5LDcgKzI4MzcsNyBA
QCB2b2lkIEZyYW1lVmlldzo6c2VuZFJlc2l6ZUV2ZW50SWZOZWVkZWQoKQogICAgIGlmICghc2hv
dWxkU2VuZFJlc2l6ZUV2ZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBib29sIGlzTWFpbkZy
YW1lID0gcGFnZSAmJiBwYWdlLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lOworICAgIGJvb2wgaXNN
YWluRnJhbWUgPSBpc01haW5GcmFtZVZpZXcoKTsKICAgICBib29sIGNhblNlbmRSZXNpemVFdmVu
dFN5bmNocm9ub3VzbHkgPSBpc01haW5GcmFtZSAmJiAhaXNJbkxheW91dCgpOwogCiAgICAgLy8g
SWYgd2UgcmVzaXplZCBkdXJpbmcgbGF5b3V0LCBxdWV1ZSB1cCBhIHJlc2l6ZSBldmVudCBmb3Ig
bGF0ZXIsIG90aGVyd2lzZSBmaXJlIGl0IHJpZ2h0IGF3YXkuCkBAIC0zMDI0LDEwICszMDEyLDgg
QEAgY29uc3QgUGFnaW5hdGlvbiYgRnJhbWVWaWV3OjpwYWdpbmF0aW9uKCkgY29uc3QKICAgICBp
ZiAobV9wYWdpbmF0aW9uICE9IFBhZ2luYXRpb24oKSkKICAgICAgICAgcmV0dXJuIG1fcGFnaW5h
dGlvbjsKIAotICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAg
IGlmIChwYWdlLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lKQotICAgICAgICAgICAgcmV0dXJuIHBh
Z2UtPnBhZ2luYXRpb24oKTsKLSAgICB9CisgICAgaWYgKGlzTWFpbkZyYW1lVmlldygpKQorICAg
ICAgICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpLT5wYWdpbmF0aW9uKCk7CiAKICAgICByZXR1cm4g
bV9wYWdpbmF0aW9uOwogfQpAQCAtMzEyMywxMCArMzEwOSw3IEBAIEludFJlY3QgRnJhbWVWaWV3
Ojp3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0CiAKIGZsb2F0IEZyYW1lVmlldzo6dmlzaWJsZUNv
bnRlbnRTY2FsZUZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1l
LT5wYWdlKCkpCi0gICAgICAgIHJldHVybiAxOwotCi0gICAgaWYgKCFtX2ZyYW1lLT5zZXR0aW5n
cygpLT5hcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcigpIHx8IG1fZnJhbWUgIT0gbV9m
cmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKSkKKyAgICBpZiAoIWlzTWFpbkZyYW1lVmlldygpIHx8
ICFtX2ZyYW1lLT5zZXR0aW5ncygpLT5hcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcigp
KQogICAgICAgICByZXR1cm4gMTsKIAogICAgIHJldHVybiBtX2ZyYW1lLT5wYWdlKCktPnBhZ2VT
Y2FsZUZhY3RvcigpOwpAQCAtMzEzNCwxMiArMzExNywxMCBAQCBmbG9hdCBGcmFtZVZpZXc6OnZp
c2libGVDb250ZW50U2NhbGVGYWN0b3IoKSBjb25zdAogCiB2b2lkIEZyYW1lVmlldzo6c2V0Vmlz
aWJsZVNjcm9sbGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmIHNjcm9sbGVyVGh1bWIpCiB7Ci0g
ICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAg
IHJldHVybjsKLSAgICBpZiAocGFnZS0+bWFpbkZyYW1lKCkgIT0gbV9mcmFtZSkKKyAgICBpZiAo
IWlzTWFpbkZyYW1lVmlldygpKQogICAgICAgICByZXR1cm47Ci0gICAgcGFnZS0+Y2hyb21lKCku
Y2xpZW50KCktPm5vdGlmeVNjcm9sbGVyVGh1bWJJc1Zpc2libGVJblJlY3Qoc2Nyb2xsZXJUaHVt
Yik7CisKKyAgICBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLT5ub3RpZnlTY3Jv
bGxlclRodW1iSXNWaXNpYmxlSW5SZWN0KHNjcm9sbGVyVGh1bWIpOwogfQogCiBib29sIEZyYW1l
Vmlldzo6c2Nyb2xsYmFyc0NhbkJlQWN0aXZlKCkgY29uc3QKQEAgLTMyMjcsMTIgKzMyMDgsMTAg
QEAgYm9vbCBGcmFtZVZpZXc6OnNob3VsZFN1c3BlbmRTY3JvbGxBbmltYXRpb25zKCkgY29uc3QK
IAogdm9pZCBGcmFtZVZpZXc6OnNjcm9sbGJhclN0eWxlQ2hhbmdlZChpbnQgbmV3U3R5bGUsIGJv
b2wgZm9yY2VVcGRhdGUpCiB7Ci0gICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAg
ICBpZiAoIXBhZ2UpCisgICAgaWYgKCFpc01haW5GcmFtZVZpZXcoKSkKICAgICAgICAgcmV0dXJu
OwotICAgIGlmIChwYWdlLT5tYWluRnJhbWUoKSAhPSBtX2ZyYW1lKQotICAgICAgICByZXR1cm47
Ci0gICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCktPnJlY29tbWVuZGVkU2Nyb2xsYmFyU3R5bGVE
aWRDaGFuZ2UobmV3U3R5bGUpOworCisgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS5jbGll
bnQoKS0+cmVjb21tZW5kZWRTY3JvbGxiYXJTdHlsZURpZENoYW5nZShuZXdTdHlsZSk7CiAKICAg
ICBpZiAoZm9yY2VVcGRhdGUpCiAgICAgICAgIFNjcm9sbFZpZXc6OnNjcm9sbGJhclN0eWxlQ2hh
bmdlZChuZXdTdHlsZSwgZm9yY2VVcGRhdGUpOwpAQCAtMzM1OSw4ICszMzM4LDcgQEAgdm9pZCBG
cmFtZVZpZXc6OnBhaW50U2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29u
c3QgSW50UmVjdCYgY29ybmUKICAgICB9CiAKICAgICBpZiAobV9zY3JvbGxDb3JuZXIpIHsKLSAg
ICAgICAgYm9vbCBuZWVkc0JhY2tnb3J1bmQgPSBtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+
cGFnZSgpLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lOwotICAgICAgICBpZiAobmVlZHNCYWNrZ29y
dW5kKQorICAgICAgICBpZiAoaXNNYWluRnJhbWVWaWV3KCkpCiAgICAgICAgICAgICBjb250ZXh0
LT5maWxsUmVjdChjb3JuZXJSZWN0LCBiYXNlQmFja2dyb3VuZENvbG9yKCksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOwogICAgICAgICBtX3Njcm9sbENvcm5lci0+cGFpbnRJbnRvUmVjdChjb250ZXh0
LCBjb3JuZXJSZWN0LmxvY2F0aW9uKCksIGNvcm5lclJlY3QpOwogICAgICAgICByZXR1cm47CkBA
IC0zMzcxLDggKzMzNDksNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRTY3JvbGxDb3JuZXIoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZQogCiB2b2lkIEZyYW1l
Vmlldzo6cGFpbnRTY3JvbGxiYXIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIq
IGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBib29sIG5lZWRzQmFja2dvcnVuZCA9
IGJhci0+aXNDdXN0b21TY3JvbGxiYXIoKSAmJiAobV9mcmFtZS0+cGFnZSgpICYmIG1fZnJhbWUt
PnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSk7Ci0gICAgaWYgKG5lZWRzQmFja2dvcnVu
ZCkgeworICAgIGlmIChiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCkgJiYgaXNNYWluRnJhbWVWaWV3
KCkpIHsKICAgICAgICAgSW50UmVjdCB0b0ZpbGwgPSBiYXItPmZyYW1lUmVjdCgpOwogICAgICAg
ICB0b0ZpbGwuaW50ZXJzZWN0KHJlY3QpOwogICAgICAgICBjb250ZXh0LT5maWxsUmVjdCh0b0Zp
bGwsIGJhc2VCYWNrZ3JvdW5kQ29sb3IoKSwgQ29sb3JTcGFjZURldmljZVJHQik7CkBAIC0zNzE4
LDExICszNjk1LDggQEAgdm9pZCBGcmFtZVZpZXc6OnBhaW50T3ZlcmhhbmdBcmVhcyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGhvcmkKICAgICBpZiAobV9mcmFtZS0+
ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUGFnZSogcGFn
ZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAocGFnZS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFt
ZSkgewotICAgICAgICBpZiAocGFnZS0+Y2hyb21lKCkuY2xpZW50KCktPnBhaW50Q3VzdG9tT3Zl
cmhhbmdBcmVhKGNvbnRleHQsIGhvcml6b250YWxPdmVyaGFuZ0FyZWEsIHZlcnRpY2FsT3Zlcmhh
bmdBcmVhLCBkaXJ0eVJlY3QpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBpZiAo
aXNNYWluRnJhbWVWaWV3KCkgJiYgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS0+
cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoY29udGV4dCwgaG9yaXpvbnRhbE92ZXJoYW5nQXJlYSwg
dmVydGljYWxPdmVyaGFuZ0FyZWEsIGRpcnR5UmVjdCkpCisgICAgICAgIHJldHVybjsKIAogICAg
IFNjcm9sbFZpZXc6OnBhaW50T3ZlcmhhbmdBcmVhcyhjb250ZXh0LCBob3Jpem9udGFsT3Zlcmhh
bmdBcmVhLCB2ZXJ0aWNhbE92ZXJoYW5nQXJlYSwgZGlydHlSZWN0KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCmluZGV4IDQzMWIyOTMuLmI3NjMxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aApAQCAtNDU5LDYgKzQ1OSw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFt
ZVZpZXcoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBib29sIGlzTWFp
bkZyYW1lVmlldygpIGNvbnN0OworCiAgICAgZnJpZW5kIGNsYXNzIFJlbmRlcldpZGdldDsKICAg
ICBib29sIHVzZVNsb3dSZXBhaW50cyhib29sIGNvbnNpZGVyT3ZlcmxhcCA9IHRydWUpIGNvbnN0
OwogICAgIGJvb2wgdXNlU2xvd1JlcGFpbnRzSWZOb3RPdmVybGFwcGVkKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="229853"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>