<?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>27304</bug_id>
          
          <creation_ts>2009-07-15 09:31:24 -0700</creation_ts>
          <short_desc>WebKit should provide usage and eligibility information about the page cache</short_desc>
          <delta_ts>2009-07-15 10:32:52 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131917</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-07-15 09:31:24 -0700</bug_when>
    <thetext>WebKit should provide usage and eligibility information about the page cache.

This will help a client provide a debug window into the page cache to spot common disqualifiers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131918</commentid>
    <comment_count>1</comment_count>
      <attachid>32791</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-07-15 09:35:05 -0700</bug_when>
    <thetext>Created attachment 32791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131923</commentid>
    <comment_count>2</comment_count>
      <attachid>32791</attachid>
    <who name="">mitz</who>
    <bug_when>2009-07-15 09:46:05 -0700</bug_when>
    <thetext>Comment on attachment 32791
Patch

&gt; +        (WebCore::CachedFrame::childFrameCount):

Since this is recursive, I think a better name would be descendantFrameCount. A function that returns 1 + number of descendants (i.e. total number of frames in the subtree) may be simpler (and easier to use in PageCache::frameCount!).

&gt; +        (+[WebCoreStatistics numberCachedPages]):
&gt; +        (+[WebCoreStatistics numberCachedFrames]):
&gt; +        (+[WebCoreStatistics numberAutoreleasedPages]):

I think either “numberOf*” or “*Count” would be better names.

&gt; +        * WebView/WebFrame.mm:
&gt; +        (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
&gt; +          why the frame is not cacheable.

What if the frame is cacheable?

&gt; +    FrameLoader* fl = _private-&gt;coreFrame-&gt;loader();
&gt; +    DocumentLoader* dl = fl-&gt;documentLoader();

Please use “frameLoader” and “documentLoader” as variable names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131933</commentid>
    <comment_count>3</comment_count>
      <attachid>32791</attachid>
    <who name="">mitz</who>
    <bug_when>2009-07-15 10:08:31 -0700</bug_when>
    <thetext>Comment on attachment 32791
Patch

r=me if you address the above comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131948</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2009-07-15 10:32:52 -0700</bug_when>
    <thetext>Sending        WebCore/ChangeLog
Sending        WebCore/WebCore.base.exp
Sending        WebCore/history/CachedFrame.cpp
Sending        WebCore/history/CachedFrame.h
Sending        WebCore/history/PageCache.cpp
Sending        WebCore/history/PageCache.h
Sending        WebKit/mac/ChangeLog
Sending        WebKit/mac/Misc/WebCoreStatistics.h
Sending        WebKit/mac/Misc/WebCoreStatistics.mm
Sending        WebKit/mac/WebKit.exp
Sending        WebKit/mac/WebView/WebFrame.mm
Sending        WebKit/mac/WebView/WebFramePrivate.h
Transmitting file data ............
Committed revision 45923.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32791</attachid>
            <date>2009-07-15 09:35:05 -0700</date>
            <delta_ts>2009-07-15 10:08:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11878</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTkxNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDctMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzMwNAorICAgICAgICBXZWJL
aXQgc2hvdWxkIHByb3ZpZGUgdXNhZ2UgYW5kIGVsaWdpYmlsaXR5IGluZm9ybWF0aW9uIGFib3V0
IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKKworICAgICAg
ICAqIGhpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJh
bWU6OmNoaWxkRnJhbWVDb3VudCk6CisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5oOgor
CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjpmcmFtZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6YXV0b3Jl
bGVhc2VkUGFnZUNvdW50KToKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpwYWdlQ291bnQpOgorCiAyMDA5LTA3LTE1ICBEaW1pdHJp
IEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
YnVpbGQgZml4LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAkocmV2aXNpb24gNDU5MTQpCisrKyBXZWJDb3JlL1dl
YkNvcmUuYmFzZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNiw2ICs0MzYsNyBAQCBfX1pON1dl
YkNvcmUyMVdpbmRvd3NMYXRpbjFFbmNvZGluZ0V2CiBfX1pON1dlYkNvcmUyMWZpbmRFdmVudFdp
dGhLZXlTdGF0ZUVQTlNfNUV2ZW50RQogX19aTjdXZWJDb3JlMjFpc0JhY2tGb3J3YXJkTG9hZFR5
cGVFTlNfMTNGcmFtZUxvYWRUeXBlRQogX19aTjdXZWJDb3JlMjFyZXBvcnRUaHJlYWRWaW9sYXRp
b25FUEtjTlNfMjBUaHJlYWRWaW9sYXRpb25Sb3VuZEUKK19fWk43V2ViQ29yZTIyU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDI2Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNFdgogX19aTjdXZWJDb3Jl
MjJhcHBsaWNhdGlvbklzQXBwbGVNYWlsRXYKIF9fWk43V2ViQ29yZTIyY3JlYXRlRnJhZ21lbnRG
cm9tVGV4dEVQTlNfNVJhbmdlRVJLTlNfNlN0cmluZ0UKIF9fWk43V2ViQ29yZTIyZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbkVQTlNfMTJSZW5kZXJPYmplY3RFCkBAIC02NzAsNiArNjcxLDcgQEAgX19a
TjdXZWJDb3JlOFNldHRpbmdzNDFzZXROZWVkc0tleWJvYXJkRQogX19aTjdXZWJDb3JlOGJsYW5r
VVJMRXYKIF9fWk43V2ViQ29yZThtYWtlUkdCQUVpaWlpCiBfX1pON1dlYkNvcmU4cGFyc2VVUkxF
UktOU182U3RyaW5nRQorX19aTjdXZWJDb3JlOURPTVdpbmRvdzE2aGFzRXZlbnRMaXN0ZW5lckVS
S05TXzEyQXRvbWljU3RyaW5nRQogX19aTjdXZWJDb3JlOURPTVdpbmRvdzMwZGlzcGF0Y2hBbGxQ
ZW5kaW5nVW5sb2FkRXZlbnRzRXYKIF9fWk43V2ViQ29yZTlET01XaW5kb3czNmRpc3BhdGNoQWxs
UGVuZGluZ0JlZm9yZVVubG9hZEV2ZW50c0V2CiBfX1pON1dlYkNvcmU5RmxvYXRSZWN0QzFFUks3
X05TUmVjdApAQCAtOTY3LDYgKzk2OSw4IEBAIF9fWk5LN1dlYkNvcmU5RnJhbWVUcmVlNGZpbmRF
UktOU18xMkF0b20KIF9fWk5LN1dlYkNvcmU5RnJhbWVUcmVlNWNoaWxkRVJLTlNfMTJBdG9taWNT
dHJpbmdFCiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTZwYXJlbnRFYgogX19aTks3V2ViQ29yZTlG
cmFtZVZpZXcxMW5lZWRzTGF5b3V0RXYKK19fWk5LN1dlYkNvcmU5UGFnZUNhY2hlMTBmcmFtZUNv
dW50RXYKK19fWk5LN1dlYkNvcmU5UGFnZUNhY2hlMjFhdXRvcmVsZWFzZWRQYWdlQ291bnRFdgog
X19aTks3V2ViQ29yZTlUaW1lckJhc2U4aXNBY3RpdmVFdgogX19aVFZON1dlYkNvcmUxMkNocm9t
ZUNsaWVudEUKIF9fWlRWTjdXZWJDb3JlMTdGaWxlQ2hvb3NlckNsaWVudEUKSW5kZXg6IFdlYkNv
cmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9oaXN0b3J5
L0NhY2hlZEZyYW1lLmNwcAkocmV2aXNpb24gNDU5MTQpCisrKyBXZWJDb3JlL2hpc3RvcnkvQ2Fj
aGVkRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNCArMTU1LDE0IEBAIENhY2hlZEZy
YW1lUGxhdGZvcm1EYXRhKiBDYWNoZWRGcmFtZTo6Y2EKICAgICByZXR1cm4gbV9jYWNoZWRGcmFt
ZVBsYXRmb3JtRGF0YS5nZXQoKTsKIH0KIAoraW50IENhY2hlZEZyYW1lOjpjaGlsZEZyYW1lQ291
bnQoKSBjb25zdAoreworICAgIGludCBjb3VudCA9IG1fY2hpbGRGcmFtZXMuc2l6ZSgpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jaGlsZEZyYW1lcy5zaXplKCk7ICsraSkKKyAgICAg
ICAgY291bnQgKz0gbV9jaGlsZEZyYW1lc1tpXS0+Y2hpbGRGcmFtZUNvdW50KCk7CisgICAgCisg
ICAgcmV0dXJuIGNvdW50OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3Rvcnkv
Q2FjaGVkRnJhbWUuaAkocmV2aXNpb24gNDU5MTQpCisrKyBXZWJDb3JlL2hpc3RvcnkvQ2FjaGVk
RnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKik7
CiAgICAgQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEqIGNhY2hlZEZyYW1lUGxhdGZvcm1EYXRhKCk7
CisgICAgCisgICAgaW50IGNoaWxkRnJhbWVDb3VudCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IENhY2hlZEZyYW1lKEZyYW1lKik7CkluZGV4OiBXZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24g
NDU5MTQpCisrKyBXZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjMsNiArNjMsMjMgQEAgdm9pZCBQYWdlQ2FjaGU6OnNldENhcGFjaXR5KGludCBjYXBhY2l0
eQogICAgIHBydW5lKCk7CiB9CiAKK2ludCBQYWdlQ2FjaGU6OmZyYW1lQ291bnQoKSBjb25zdAor
eworICAgIGludCBmcmFtZUNvdW50ID0gMDsKKyAgICBmb3IgKEhpc3RvcnlJdGVtKiBjdXJyZW50
ID0gbV9oZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+bV9uZXh0KSB7CisgICAgICAg
ICsrZnJhbWVDb3VudDsKKyAgICAgICAgQVNTRVJUKGN1cnJlbnQtPm1fY2FjaGVkUGFnZSk7Cisg
ICAgICAgIGZyYW1lQ291bnQgKz0gY3VycmVudC0+bV9jYWNoZWRQYWdlID8gY3VycmVudC0+bV9j
YWNoZWRQYWdlLT5jYWNoZWRNYWluRnJhbWUoKS0+Y2hpbGRGcmFtZUNvdW50KCkgOiAwOworICAg
IH0KKyAgICAKKyAgICByZXR1cm4gZnJhbWVDb3VudDsKK30KKworaW50IFBhZ2VDYWNoZTo6YXV0
b3JlbGVhc2VkUGFnZUNvdW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hdXRvcmVsZWFzZVNl
dC5zaXplKCk7Cit9CisKIHZvaWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRl
bT4gcHJwSXRlbSwgUGFzc1JlZlB0cjxDYWNoZWRQYWdlPiBjYWNoZWRQYWdlKQogewogICAgIEFT
U0VSVChwcnBJdGVtKTsKSW5kZXg6IFdlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgJKHJldmlzaW9uIDQ1OTE0KQorKysg
V2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENhY2hlZFBhZ2UqIGdldChIaXN0b3J5
SXRlbSogaXRlbSkgeyByZXR1cm4gaXRlbSA/IGl0ZW0tPm1fY2FjaGVkUGFnZS5nZXQoKSA6IDA7
IH0KIAogICAgICAgICB2b2lkIHJlbGVhc2VBdXRvcmVsZWFzZWRQYWdlc05vdygpOworICAgICAg
ICAKKyAgICAgICAgaW50IHBhZ2VDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAg
ICAgICBpbnQgZnJhbWVDb3VudCgpIGNvbnN0OworICAgICAgICBpbnQgYXV0b3JlbGVhc2VkUGFn
ZUNvdW50KCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hTZXQ8
UmVmUHRyPENhY2hlZFBhZ2U+ID4gQ2FjaGVkUGFnZVNldDsKSW5kZXg6IFdlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NTkx
NikKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMDktMDctMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzMwNAorICAgICAgICBXZWJLaXQgc2hvdWxkIHBy
b3ZpZGUgdXNhZ2UgYW5kIGVsaWdpYmlsaXR5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYWdlIGNh
Y2hlLgorCisgICAgICAgICogTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5oOgorICAgICAgICAqIE1p
c2MvV2ViQ29yZVN0YXRpc3RpY3MubW06CisgICAgICAgICgrW1dlYkNvcmVTdGF0aXN0aWNzIG51
bWJlckNhY2hlZFBhZ2VzXSk6CisgICAgICAgICgrW1dlYkNvcmVTdGF0aXN0aWNzIG51bWJlckNh
Y2hlZEZyYW1lc10pOgorICAgICAgICAoK1tXZWJDb3JlU3RhdGlzdGljcyBudW1iZXJBdXRvcmVs
ZWFzZWRQYWdlc10pOgorICAgICAgICAqIFdlYktpdC5leHA6CisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfY2FjaGVhYmlsaXR5RGljdGlvbmFy
eV0pOiBSZXR1cm5zIGEgZGljdGlvbmFyeSB3aXRoIGFsbCB0aGUgZGF0YSBhYm91dAorICAgICAg
ICAgIHdoeSB0aGUgZnJhbWUgaXMgbm90IGNhY2hlYWJsZS4KKyAgICAgICAgKiBXZWJWaWV3L1dl
YkZyYW1lUHJpdmF0ZS5oOgorCiAyMDA5LTA3LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4sIEFkYW0g
Um9iZW4uCkluZGV4OiBXZWJLaXQvbWFjL1dlYktpdC5leHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L21hYy9XZWJLaXQuZXhwCShyZXZpc2lvbiA0NTkxNCkKKysrIFdlYktpdC9tYWMvV2ViS2l0LmV4
cAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsMTMgQEAgX1dlYkVsZW1lbnRMaW5rTGFiZWxL
ZXkKIF9XZWJFbGVtZW50TGlua1RhcmdldEZyYW1lS2V5CiBfV2ViRWxlbWVudExpbmtUaXRsZUtl
eQogX1dlYkVsZW1lbnRMaW5rVVJMS2V5CitfV2ViRnJhbWVDYW5TdXNwZW5kQWN0aXZlRE9NT2Jq
ZWN0cworX1dlYkZyYW1lSGFzUGx1Z2lucworX1dlYkZyYW1lSGFzVW5sb2FkTGlzdGVuZXIKK19X
ZWJGcmFtZU1haW5Eb2N1bWVudEVycm9yCitfV2ViRnJhbWVVc2VzQXBwbGljYXRpb25DYWNoZQor
X1dlYkZyYW1lVXNlc0RhdGFiYXNlcworX1dlYkZyYW1lVXNlc0dlb2xvY2F0aW9uCiBfV2ViSGlz
dG9yeUFsbEl0ZW1zUmVtb3ZlZE5vdGlmaWNhdGlvbgogX1dlYkhpc3RvcnlJdGVtQ2hhbmdlZE5v
dGlmaWNhdGlvbgogX1dlYkhpc3RvcnlJdGVtc0FkZGVkTm90aWZpY2F0aW9uCkluZGV4OiBXZWJL
aXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFj
L01pc2MvV2ViQ29yZVN0YXRpc3RpY3MuaAkocmV2aXNpb24gNDU5MTQpCisrKyBXZWJLaXQvbWFj
L01pc2MvV2ViQ29yZVN0YXRpc3RpY3MuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTAg
QEAKICsgKE5TRGljdGlvbmFyeSAqKW1lbW9yeVN0YXRpc3RpY3M7CiArICh2b2lkKXJldHVybkZy
ZWVNZW1vcnlUb1N5c3RlbTsKIAorKyAoaW50KW51bWJlckNhY2hlZFBhZ2VzOworKyAoaW50KW51
bWJlckNhY2hlZEZyYW1lczsKKysgKGludCludW1iZXJBdXRvcmVsZWFzZWRQYWdlczsKKwogLy8g
RGVwcmVjYXRlZCwgYnV0IHVzZWQgYnkgb2xkZXIgdmVyc2lvbnMgb2YgU2FmYXJpLgogKyAodm9p
ZCllbXB0eUNhY2hlOwogKyAodm9pZClzZXRDYWNoZURpc2FibGVkOihCT09MKWRpc2FibGVkOwpJ
bmRleDogV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5tbQkocmV2aXNpb24gNDU5MTQpCisr
KyBXZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MubW0JKHdvcmtpbmcgY29weSkKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvR2x5cGhQYWdlVHJlZU5vZGUuaD4KICNp
bXBvcnQgPFdlYkNvcmUvSWNvbkRhdGFiYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0pTRE9NV2lu
ZG93Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9S
ZW5kZXJUcmVlQXNUZXh0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KIApAQCAt
MTkyLDYgKzE5MywyMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBXVEY6OnJlbGVh
c2VGYXN0TWFsbG9jRnJlZU1lbW9yeSgpOwogfQogCisrIChpbnQpbnVtYmVyQ2FjaGVkUGFnZXMK
K3sKKyAgICByZXR1cm4gcGFnZUNhY2hlKCktPnBhZ2VDb3VudCgpOworfQorCisrIChpbnQpbnVt
YmVyQ2FjaGVkRnJhbWVzCit7CisgICAgcmV0dXJuIHBhZ2VDYWNoZSgpLT5mcmFtZUNvdW50KCk7
Cit9CisKKysgKGludCludW1iZXJBdXRvcmVsZWFzZWRQYWdlcworeworICAgIHJldHVybiBwYWdl
Q2FjaGUoKS0+YXV0b3JlbGVhc2VkUGFnZUNvdW50KCk7Cit9CisKIC8vIERlcHJlY2F0ZWQKICsg
KHNpemVfdClqYXZhU2NyaXB0Tm9HQ0FsbG93ZWRPYmplY3RzQ291bnQKIHsKSW5kZXg6IFdlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRnJhbWUubW0JKHJldmlzaW9uIDQ1OTE0KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL0RvY0xvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudEZyYWdtZW50Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0V2ZW50SGFuZGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5h
bWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1l
TG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVHJlZS5oPgpAQCAtMTMxLDYgKzEzMiwx
NCBAQCBOU1N0cmluZyAqV2ViUGFnZUNhY2hlRW50cnlEYXRlS2V5ID0gQCJXCiBOU1N0cmluZyAq
V2ViUGFnZUNhY2hlRGF0YVNvdXJjZUtleSA9IEAiV2ViUGFnZUNhY2hlRGF0YVNvdXJjZUtleSI7
CiBOU1N0cmluZyAqV2ViUGFnZUNhY2hlRG9jdW1lbnRWaWV3S2V5ID0gQCJXZWJQYWdlQ2FjaGVE
b2N1bWVudFZpZXdLZXkiOwogCitOU1N0cmluZyAqV2ViRnJhbWVNYWluRG9jdW1lbnRFcnJvciA9
IEAiV2ViRnJhbWVNYWluRG9jdW1lbnRFcnJvcktleSI7CitOU1N0cmluZyAqV2ViRnJhbWVIYXNQ
bHVnaW5zID0gQCJXZWJGcmFtZUhhc1BsdWdpbnNLZXkiOworTlNTdHJpbmcgKldlYkZyYW1lSGFz
VW5sb2FkTGlzdGVuZXIgPSBAIldlYkZyYW1lSGFzVW5sb2FkTGlzdGVuZXJLZXkiOworTlNTdHJp
bmcgKldlYkZyYW1lVXNlc0RhdGFiYXNlcyA9IEAiV2ViRnJhbWVVc2VzRGF0YWJhc2VzS2V5IjsK
K05TU3RyaW5nICpXZWJGcmFtZVVzZXNHZW9sb2NhdGlvbiA9IEAiV2ViRnJhbWVVc2VzR2VvbG9j
YXRpb25LZXkiOworTlNTdHJpbmcgKldlYkZyYW1lVXNlc0FwcGxpY2F0aW9uQ2FjaGUgPSBAIldl
YkZyYW1lVXNlc0FwcGxpY2F0aW9uQ2FjaGVLZXkiOworTlNTdHJpbmcgKldlYkZyYW1lQ2FuU3Vz
cGVuZEFjdGl2ZURPTU9iamVjdHMgPSBAIldlYkZyYW1lQ2FuU3VzcGVuZEFjdGl2ZURPTU9iamVj
dHNLZXkiOworCiAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gdGhpcyBrZXkgYmVjb21lcyBwdWJsaWNs
eSBkZWZpbmVkCiBOU1N0cmluZyAqTlNBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
QXR0cmlidXRlID0gQCJBWEVuaGFuY2VkVXNlckludGVyZmFjZSI7CiAKQEAgLTExNTEsNiArMTE2
MCw0MCBAQCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFTb3VyY2UoCiAgICAgW3Nl
bGYgX3JlcGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQ6ZnJhZ21lbnQgc2VsZWN0UmVwbGFjZW1l
bnQ6c2VsZWN0UmVwbGFjZW1lbnQgc21hcnRSZXBsYWNlOnNtYXJ0UmVwbGFjZSBtYXRjaFN0eWxl
Ok5PXTsKIH0KIAorLSAoTlNNdXRhYmxlRGljdGlvbmFyeSAqKV9jYWNoZWFiaWxpdHlEaWN0aW9u
YXJ5Cit7CisgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqcmVzdWx0ID0gW05TTXV0YWJsZURpY3Rp
b25hcnkgZGljdGlvbmFyeV07CisgICAgCisgICAgRnJhbWVMb2FkZXIqIGZsID0gX3ByaXZhdGUt
PmNvcmVGcmFtZS0+bG9hZGVyKCk7CisgICAgRG9jdW1lbnRMb2FkZXIqIGRsID0gZmwtPmRvY3Vt
ZW50TG9hZGVyKCk7CisgICAgaWYgKGRsICYmICFkbC0+bWFpbkRvY3VtZW50RXJyb3IoKS5pc051
bGwoKSkKKyAgICAgICAgW3Jlc3VsdCBzZXRPYmplY3Q6KE5TRXJyb3IgKilkbC0+bWFpbkRvY3Vt
ZW50RXJyb3IoKSBmb3JLZXk6V2ViRnJhbWVNYWluRG9jdW1lbnRFcnJvcl07CisgICAgICAgIAor
ICAgIGlmIChmbC0+Y29udGFpbnNQbHVnaW5zKCkpCisgICAgICAgIFtyZXN1bHQgc2V0T2JqZWN0
OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktleTpXZWJGcmFtZUhhc1BsdWdpbnNd
OworICAgIAorICAgIGlmIChET01XaW5kb3cqIGRvbVdpbmRvdyA9IF9wcml2YXRlLT5jb3JlRnJh
bWUtPmRvbVdpbmRvdygpKSB7CisgICAgICAgIGlmIChkb21XaW5kb3ctPmhhc0V2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50KSkKKyAgICAgICAgICAgIFtyZXN1bHQgc2V0T2Jq
ZWN0OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktleTpXZWJGcmFtZUhhc1VubG9h
ZExpc3RlbmVyXTsKKyAgICAgICAgICAgIAorICAgICAgICBpZiAoZG9tV2luZG93LT5vcHRpb25h
bEFwcGxpY2F0aW9uQ2FjaGUoKSkKKyAgICAgICAgICAgIFtyZXN1bHQgc2V0T2JqZWN0OltOU051
bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktleTpXZWJGcmFtZVVzZXNBcHBsaWNhdGlvbkNh
Y2hlXTsKKyAgICB9CisgICAgCisgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IF9wcml2YXRl
LT5jb3JlRnJhbWUtPmRvY3VtZW50KCkpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LT5oYXNPcGVu
RGF0YWJhc2VzKCkpCisgICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSBmb3JLZXk6V2ViRnJhbWVVc2VzRGF0YWJhc2VzXTsKKyAgICAgICAg
ICAgIAorICAgICAgICBpZiAoZG9jdW1lbnQtPnVzaW5nR2VvbG9jYXRpb24oKSkKKyAgICAgICAg
ICAgIFtyZXN1bHQgc2V0T2JqZWN0OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktl
eTpXZWJGcmFtZVVzZXNHZW9sb2NhdGlvbl07CisgICAgICAgICAgICAKKyAgICAgICAgaWYgKCFk
b2N1bWVudC0+Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoKSkKKyAgICAgICAgICAgIFtyZXN1
bHQgc2V0T2JqZWN0OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktleTpXZWJGcmFt
ZUNhblN1c3BlbmRBY3RpdmVET01PYmplY3RzXTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRnJhbWUKSW5kZXg6IFdlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWVQcml2YXRlLmgJKHJldmlzaW9uIDQ1OTE0KQorKysgV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSwx
NCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlBhZ2VDYWNoZUVudHJ5RGF0ZUtlCiBleHRlcm4gTlNT
dHJpbmcgKldlYlBhZ2VDYWNoZURhdGFTb3VyY2VLZXk7CiBleHRlcm4gTlNTdHJpbmcgKldlYlBh
Z2VDYWNoZURvY3VtZW50Vmlld0tleTsKIAorZXh0ZXJuIE5TU3RyaW5nICpXZWJGcmFtZU1haW5E
b2N1bWVudEVycm9yOworZXh0ZXJuIE5TU3RyaW5nICpXZWJGcmFtZUhhc1BsdWdpbnM7CitleHRl
cm4gTlNTdHJpbmcgKldlYkZyYW1lSGFzVW5sb2FkTGlzdGVuZXI7CitleHRlcm4gTlNTdHJpbmcg
KldlYkZyYW1lVXNlc0RhdGFiYXNlczsKK2V4dGVybiBOU1N0cmluZyAqV2ViRnJhbWVVc2VzR2Vv
bG9jYXRpb247CitleHRlcm4gTlNTdHJpbmcgKldlYkZyYW1lVXNlc0FwcGxpY2F0aW9uQ2FjaGU7
CitleHRlcm4gTlNTdHJpbmcgKldlYkZyYW1lQ2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHM7CisK
IHR5cGVkZWYgZW51bSB7CiAgICAgV2ViRnJhbWVMb2FkVHlwZVN0YW5kYXJkLAogICAgIFdlYkZy
YW1lTG9hZFR5cGVCYWNrLApAQCAtMTAwLDQgKzEwOCw1IEBAIHR5cGVkZWYgZW51bSB7CiAtICh2
b2lkKV9yZXBsYWNlU2VsZWN0aW9uV2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dCBzZWxlY3RSZXBs
YWNlbWVudDooQk9PTClzZWxlY3RSZXBsYWNlbWVudCBzbWFydFJlcGxhY2U6KEJPT0wpc21hcnRS
ZXBsYWNlOwogLSAodm9pZClfcmVwbGFjZVNlbGVjdGlvbldpdGhNYXJrdXBTdHJpbmc6KE5TU3Ry
aW5nICopbWFya3VwU3RyaW5nIGJhc2VVUkxTdHJpbmc6KE5TU3RyaW5nICopYmFzZVVSTFN0cmlu
ZyBzZWxlY3RSZXBsYWNlbWVudDooQk9PTClzZWxlY3RSZXBsYWNlbWVudCBzbWFydFJlcGxhY2U6
KEJPT0wpc21hcnRSZXBsYWNlOwogCistIChOU011dGFibGVEaWN0aW9uYXJ5ICopX2NhY2hlYWJp
bGl0eURpY3Rpb25hcnk7CiBAZW5kCg==
</data>
<flag name="review"
          id="17160"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>