<?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>62060</bug_id>
          
          <creation_ts>2011-06-03 15:29:17 -0700</creation_ts>
          <short_desc>Need to enable font cache purging in MemoryPressureHandler</short_desc>
          <delta_ts>2011-06-07 13:49:19 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>415239</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-06-03 15:29:17 -0700</bug_when>
    <thetext>This was split out from https://bugs.webkit.org/show_bug.cgi?id=61875.

Need to add call to fontCache()-&gt;purgeInactiveFontData(); in MemoryPressureHandler::respondToMemoryPressure().

There is another change discovered to add as well, prevent the ::install() method from multiple invocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415254</commentid>
    <comment_count>1</comment_count>
      <attachid>95976</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-06-03 15:52:43 -0700</bug_when>
    <thetext>Created attachment 95976
Patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416000</commentid>
    <comment_count>2</comment_count>
      <attachid>95976</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-06 14:16:53 -0700</bug_when>
    <thetext>Comment on attachment 95976
Patch for review

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

r- because I don&apos;t think it&apos;s good to have two tests for the same thing.

&gt; Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm:67
&gt; +    if (m_installed)
&gt; +        return;
&gt; +    
&gt;      if (!_cache_event_source) {
&gt;          dispatch_async(dispatch_get_main_queue(), ^{
&gt;              _cache_event_source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VM, 0, DISPATCH_VM_PRESSURE, dispatch_get_main_queue());

There is an existing &quot;I&apos;ve been installed&quot; test: &quot;if (!_cache_event_source)&quot;. You&apos;re adding a second: &quot;if (m_installed)&quot;. I don&apos;t think it&apos;s good to have two tests for the same thing.

Why isn&apos;t the current test sufficient? Is it because initialization is asynchronous, so multiple calls to install() can occur before initialization? If so, you can avoid two tests for the same thing either by removing the initialization delay, or by keeping the delay and adding a null check for _cache_event_source inside the delayed code.

BTW, an early return after the _cache_event_source test would reduce the indentation level of this code, making it more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416007</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-06 14:30:03 -0700</bug_when>
    <thetext>...another option is to have install() initialize the memoryPressureHandler singleton, and have the singleton&apos;s constructor do all the dispatch registration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416093</commentid>
    <comment_count>4</comment_count>
      <attachid>96145</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-06-06 16:05:17 -0700</bug_when>
    <thetext>Created attachment 96145
Updated patch with changes in response to reviewer&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416646</commentid>
    <comment_count>5</comment_count>
      <attachid>96145</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-07 11:12:44 -0700</bug_when>
    <thetext>Comment on attachment 96145
Updated patch with changes in response to reviewer&apos;s comments

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416767</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-06-07 13:49:19 -0700</bug_when>
    <thetext>Committed r88261: &lt;http://trac.webkit.org/changeset/88261&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95976</attachid>
            <date>2011-06-03 15:52:43 -0700</date>
            <delta_ts>2011-06-06 16:05:17 -0700</delta_ts>
            <desc>Patch for review</desc>
            <filename>62060.patch</filename>
            <type>text/plain</type>
            <size>3575</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MDcxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDYtMDMgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTmVlZCB0byBlbmFibGUgZm9udCBjYWNoZSBwdXJnaW5nIGlu
IE1lbW9yeVByZXNzdXJlSGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIwNjAKKworICAgICAgICBJbXByb3ZlIG1lb3J5IHVzYWdlIHVuZGVy
IHByZXNzdXJlLgorICAgICAgICBBZGQgY2FsbCB0byBmb250Q2FjaGUoKS0+cHVyZ2VJbmFjdGl2
ZUZvbnREYXRhKCkgaW4gcmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUoKS4KKyAgICAgICAgQWRkIHBy
b3RlY3Rpb24gdG8gTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkgYmVpbmcgY2FsbGVk
IG11bHRwaWxlIHRpbWVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyBmdW50aW9uYWxpdHkg
d2Fzbid0IGNoYW5nZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVz
c3VyZSk6CisKIDIwMTEtMDYtMDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAkocmV2aXNpb24gODgwMTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiwxMCBAQCBNZW1vcnlQcmVzc3VyZUhhbmRsZXImIG1l
bW9yeVByZXNzdXJlSGFuCiAgICAgcmV0dXJuIHN0YXRpY01lbW9yeVByZXNzdXJlSGFuZGxlcjsK
IH0KIAotTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXIoKSB7IH0K
K01lbW9yeVByZXNzdXJlSGFuZGxlcjo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkgCisgICAgOiBt
X2luc3RhbGxlZChmYWxzZSkKK3sKK30KIAogI2lmICFQTEFURk9STShNQUMpIHx8IGRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgfHwgZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQp
CiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpIHsgfQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgJKHJldmlzaW9u
IDg4MDEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDggQEAgcHJpdmF0ZToKICAgICB+TWVtb3J5
UHJlc3N1cmVIYW5kbGVyKCk7CiAKICAgICB2b2lkIHJlc3BvbmRUb01lbW9yeVByZXNzdXJlKCk7
CisgICAgCisgICAgYm9vbCBtX2luc3RhbGxlZDsKIH07CiAgCiAvLyBGdW5jdGlvbiB0byBvYnRh
aW4gdGhlIGdsb2JhbCBtZW1vcnkgcHJlc3N1cmUgb2JqZWN0LgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1t
CShyZXZpc2lvbiA4ODAxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQ
cmVzc3VyZUhhbmRsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNp
bXBvcnQgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgogCiAjaW1wb3J0IDxXZWJDb3JlL0dDQ29u
dHJvbGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Gb250Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTWVtb3J5Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNhY2hlLmg+CiAjaW1wb3J0
IDx3dGYvRmFzdE1hbGxvYy5oPgpAQCAtNTgsNiArNTksOSBAQCBzdGF0aWMgZGlzcGF0Y2hfc291
cmNlX3QgX2NhY2hlX2V2ZW50X3NvCiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0
YWxsKCkKIHsKKyAgICBpZiAobV9pbnN0YWxsZWQpCisgICAgICAgIHJldHVybjsKKyAgICAKICAg
ICBpZiAoIV9jYWNoZV9ldmVudF9zb3VyY2UpIHsKICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgICAgIF9jYWNoZV9ldmVudF9zb3Vy
Y2UgPSBkaXNwYXRjaF9zb3VyY2VfY3JlYXRlKERJU1BBVENIX1NPVVJDRV9UWVBFX1ZNLCAwLCBE
SVNQQVRDSF9WTV9QUkVTU1VSRSwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSk7CkBAIC04Miw2
ICs4Niw4IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKICAgICAgICAg
fSk7CiAgICAgfQogI2VuZGlmCisKKyAgICBtX2luc3RhbGxlZCA9IHRydWU7CiB9CiAKIHZvaWQg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9NZW1vcnlQcmVzc3VyZSgpCkBAIC05Niw2
ICsxMDIsOCBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9uZFRvTWVtCiAgICAg
W25zdXJsQ2FjaGUgc2V0TWVtb3J5Q2FwYWNpdHk6W25zdXJsQ2FjaGUgY3VycmVudE1lbW9yeVVz
YWdlXS8yXTsKICAgICBbbnN1cmxDYWNoZSBzZXRNZW1vcnlDYXBhY2l0eTpzYXZlZE5zdXJsQ2Fj
aGVNZW1vcnlDYXBhY2l0eV07CiAgCisgICAgZm9udENhY2hlKCktPnB1cmdlSW5hY3RpdmVGb250
RGF0YSgpOworCiAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmVUb1BlcmNlbnRhZ2UoMC41Zik7CiAK
ICAgICBnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE5vdygpOwo=
</data>
<flag name="review"
          id="89581"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96145</attachid>
            <date>2011-06-06 16:05:17 -0700</date>
            <delta_ts>2011-06-07 11:12:44 -0700</delta_ts>
            <desc>Updated patch with changes in response to reviewer&apos;s comments</desc>
            <filename>62060-2.patch</filename>
            <type>text/plain</type>
            <size>5496</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MTM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDYtMDYgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTmVlZCB0byBlbmFibGUgZm9udCBjYWNoZSBwdXJnaW5nIGlu
IE1lbW9yeVByZXNzdXJlSGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIwNjAKKworICAgICAgICBJbXByb3ZlIG1lbW9yeSB1c2FnZSB1bmRl
ciBwcmVzc3VyZS4KKyAgICAgICAgQWRkZWQgY2FsbCB0byBmb250Q2FjaGUoKS0+cHVyZ2VJbmFj
dGl2ZUZvbnREYXRhKCkgaW4gCisgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9u
ZFRvTWVtb3J5UHJlc3N1cmUoKS4gIEFkZGVkIHByb3RlY3Rpb24gdG8gCisgICAgICAgIE1lbW9y
eVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpIGJlaW5nIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4K
KworICAgICAgICBObyBuZXcgdGVzdHMgYXMgZnVudGlvbmFsaXR5IHdhc24ndCBjaGFuZ2VkLgor
CisgICAgICAgICogcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUpOgorCiAyMDExLTA2
LTA1ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCShyZXZp
c2lvbiA4ODAxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDEwIEBAIE1lbW9yeVByZXNzdXJl
SGFuZGxlciYgbWVtb3J5UHJlc3N1cmVIYW4KICAgICByZXR1cm4gc3RhdGljTWVtb3J5UHJlc3N1
cmVIYW5kbGVyOwogfQogCi1NZW1vcnlQcmVzc3VyZUhhbmRsZXI6Ok1lbW9yeVByZXNzdXJlSGFu
ZGxlcigpIHsgfQorTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXIo
KSAKKyAgICA6IG1faW5zdGFsbGVkKGZhbHNlKQoreworfQogCiAjaWYgIVBMQVRGT1JNKE1BQykg
fHwgZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSB8fCBkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkgeyB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIu
aAkocmV2aXNpb24gODgwMTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVz
c3VyZUhhbmRsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsOCBAQCBwcml2YXRlOgog
ICAgIH5NZW1vcnlQcmVzc3VyZUhhbmRsZXIoKTsKIAogICAgIHZvaWQgcmVzcG9uZFRvTWVtb3J5
UHJlc3N1cmUoKTsKKyAgICAKKyAgICBib29sIG1faW5zdGFsbGVkOwogfTsKICAKIC8vIEZ1bmN0
aW9uIHRvIG9idGFpbiB0aGUgZ2xvYmFsIG1lbW9yeSBwcmVzc3VyZSBvYmplY3QuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhh
bmRsZXJNYWMubW0JKHJldmlzaW9uIDg4MDEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsNyBAQAogI2ltcG9ydCAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAKICNpbXBvcnQgPFdl
YkNvcmUvR0NDb250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDYWNoZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlQ2FjaGUu
aD4KICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CkBAIC01OCwzMCArNTksMzEgQEAgc3RhdGlj
IGRpc3BhdGNoX3NvdXJjZV90IF9jYWNoZV9ldmVudF9zbwogCiB2b2lkIE1lbW9yeVByZXNzdXJl
SGFuZGxlcjo6aW5zdGFsbCgpCiB7Ci0gICAgaWYgKCFfY2FjaGVfZXZlbnRfc291cmNlKSB7Ci0g
ICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAg
ICAgICAgICBfY2FjaGVfZXZlbnRfc291cmNlID0gZGlzcGF0Y2hfc291cmNlX2NyZWF0ZShESVNQ
QVRDSF9TT1VSQ0VfVFlQRV9WTSwgMCwgRElTUEFUQ0hfVk1fUFJFU1NVUkUsIGRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCkpOwotICAgICAgICAgICAgaWYgKF9jYWNoZV9ldmVudF9zb3VyY2UpIHsK
LSAgICAgICAgICAgICAgICBkaXNwYXRjaF9zZXRfY29udGV4dChfY2FjaGVfZXZlbnRfc291cmNl
LCB0aGlzKTsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRs
ZXIoX2NhY2hlX2V2ZW50X3NvdXJjZSwgXnsgbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkucmVzcG9u
ZFRvTWVtb3J5UHJlc3N1cmUoKTt9KTsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaF9yZXN1bWUo
X2NhY2hlX2V2ZW50X3NvdXJjZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0pOwotICAgIH0K
KyAgICBpZiAobV9pbnN0YWxsZWQpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBkaXNwYXRj
aF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICBfY2FjaGVfZXZl
bnRfc291cmNlID0gZGlzcGF0Y2hfc291cmNlX2NyZWF0ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9W
TSwgMCwgRElTUEFUQ0hfVk1fUFJFU1NVUkUsIGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkpOwor
ICAgICAgICBpZiAoX2NhY2hlX2V2ZW50X3NvdXJjZSkgeworICAgICAgICAgICAgZGlzcGF0Y2hf
c2V0X2NvbnRleHQoX2NhY2hlX2V2ZW50X3NvdXJjZSwgdGhpcyk7CisgICAgICAgICAgICBkaXNw
YXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoX2NhY2hlX2V2ZW50X3NvdXJjZSwgXnsgbWVt
b3J5UHJlc3N1cmVIYW5kbGVyKCkucmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUoKTt9KTsKKyAgICAg
ICAgICAgIGRpc3BhdGNoX3Jlc3VtZShfY2FjaGVfZXZlbnRfc291cmNlKTsKKyAgICAgICAgfQor
ICAgIH0pOwogCiAjaWZuZGVmIE5ERUJVRwotICAgIGlmICghX2NhY2hlX2V2ZW50X3NvdXJjZTIp
IHsKLSAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsK
LSAgICAgICAgICAgIF9jYWNoZV9ldmVudF9zb3VyY2UyID0gZGlzcGF0Y2hfc291cmNlX2NyZWF0
ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9TSUdOQUwsIFNJR1VTUjIsIDAsIGRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCkpOwotICAgICAgICAgICAgaWYgKF9jYWNoZV9ldmVudF9zb3VyY2UyKSB7Ci0g
ICAgICAgICAgICAgICAgZGlzcGF0Y2hfc2V0X2NvbnRleHQoX2NhY2hlX2V2ZW50X3NvdXJjZTIs
IHRoaXMpOwotICAgICAgICAgICAgICAgIGRpc3BhdGNoX3NvdXJjZV9zZXRfZXZlbnRfaGFuZGxl
cihfY2FjaGVfZXZlbnRfc291cmNlMiwgXnsgbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkucmVzcG9u
ZFRvTWVtb3J5UHJlc3N1cmUoKTt9KTsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaF9yZXN1bWUo
X2NhY2hlX2V2ZW50X3NvdXJjZTIpOwotICAgICAgICAgICAgICAgIHNpZ25hbCgoaW50KVNJR1VT
UjIsIFNJR19JR04pOwotICAgICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICB9CisgICAgZGlz
cGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKKyAgICAgICAgX2NhY2hl
X2V2ZW50X3NvdXJjZTIgPSBkaXNwYXRjaF9zb3VyY2VfY3JlYXRlKERJU1BBVENIX1NPVVJDRV9U
WVBFX1NJR05BTCwgU0lHVVNSMiwgMCwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSk7CisgICAg
ICAgIGlmIChfY2FjaGVfZXZlbnRfc291cmNlMikgeworICAgICAgICAgICAgZGlzcGF0Y2hfc2V0
X2NvbnRleHQoX2NhY2hlX2V2ZW50X3NvdXJjZTIsIHRoaXMpOworICAgICAgICAgICAgZGlzcGF0
Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVyKF9jYWNoZV9ldmVudF9zb3VyY2UyLCBeeyBtZW1v
cnlQcmVzc3VyZUhhbmRsZXIoKS5yZXNwb25kVG9NZW1vcnlQcmVzc3VyZSgpO30pOworICAgICAg
ICAgICAgZGlzcGF0Y2hfcmVzdW1lKF9jYWNoZV9ldmVudF9zb3VyY2UyKTsKKyAgICAgICAgICAg
IHNpZ25hbCgoaW50KVNJR1VTUjIsIFNJR19JR04pOworICAgICAgICB9CisgICAgfSk7CiAjZW5k
aWYKKworICAgIG1faW5zdGFsbGVkID0gdHJ1ZTsKIH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhh
bmRsZXI6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlKCkKQEAgLTk2LDYgKzk4LDggQEAgdm9pZCBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnJlc3BvbmRUb01lbQogICAgIFtuc3VybENhY2hlIHNldE1l
bW9yeUNhcGFjaXR5Oltuc3VybENhY2hlIGN1cnJlbnRNZW1vcnlVc2FnZV0vMl07CiAgICAgW25z
dXJsQ2FjaGUgc2V0TWVtb3J5Q2FwYWNpdHk6c2F2ZWROc3VybENhY2hlTWVtb3J5Q2FwYWNpdHld
OwogIAorICAgIGZvbnRDYWNoZSgpLT5wdXJnZUluYWN0aXZlRm9udERhdGEoKTsKKwogICAgIG1l
bW9yeUNhY2hlKCktPnBydW5lVG9QZXJjZW50YWdlKDAuNWYpOwogCiAgICAgZ2NDb250cm9sbGVy
KCkuZ2FyYmFnZUNvbGxlY3ROb3coKTsK
</data>
<flag name="review"
          id="89777"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>