<?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>62675</bug_id>
          
          <creation_ts>2011-06-14 16:10:46 -0700</creation_ts>
          <short_desc>Minimize memory due to layer backing stores for pages in the Page Cache</short_desc>
          <delta_ts>2011-06-20 17:02:04 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>psolanki</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>simonjam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>420810</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-14 16:10:46 -0700</bug_when>
    <thetext>Pages in the PageCache preserve their layers and backing stores and
can consume a lot of memory. In situations where we need to handle
low memory conditions we can still keep the Document in memory if
we save enough memory by just clearing the backing stores + layers.
This can also be done proactively when a page enters the PageCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420817</commentid>
    <comment_count>1</comment_count>
      <attachid>97183</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-14 16:21:46 -0700</bug_when>
    <thetext>Created attachment 97183
[TEST] Test Page for numerous layers and iframes with layers.

Test case I used. I saw ~90MB of CoreAnimation memory with Desktop Safari.
With my patch, and the feature enabled, that memory dropped to 4KB when
going to about:blank, and restored to 90 when going back to the page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420820</commentid>
    <comment_count>2</comment_count>
      <attachid>97185</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-14 16:23:51 -0700</bug_when>
    <thetext>Created attachment 97185
[PATCH] Clear Backing Stores entering Page Cache

First attempt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420825</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-14 16:26:18 -0700</bug_when>
    <thetext>Attachment 97185 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/rendering/RenderLayer.cpp:3648:  l is incorrectly named. Don&apos;t use the single letter &apos;l&apos; as an identifier name.  [readability/naming] [4]
Total errors found: 1 in 9 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>420839</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-14 16:34:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/8652717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422794</commentid>
    <comment_count>5</comment_count>
      <attachid>97185</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-17 11:48:46 -0700</bug_when>
    <thetext>Comment on attachment 97185
[PATCH] Clear Backing Stores entering Page Cache

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        This only affects memory usage and is disabled by default, so no test.

It would be nice to have a test that puts a composited page in the BF cache, brings it back, then calls layerTreeAsText(). That way at least platforms that enable the option will have test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422800</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-06-17 11:51:48 -0700</bug_when>
    <thetext>Actually, it would be good to test that this doesn&apos;t break WebGL and &lt;video&gt; if enabled on desktop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423251</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-18 13:43:25 -0700</bug_when>
    <thetext>Attachment 97185 was posted by a committer and has review+, assigning to Joseph Pecoraro for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423888</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-20 13:00:32 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Actually, it would be good to test that this doesn&apos;t break WebGL and &lt;video&gt; if enabled on desktop.

Verified manually that this didn&apos;t break WebGL, &lt;video&gt;, and &lt;audio&gt; when enabled on Desktop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424046</commentid>
    <comment_count>9</comment_count>
      <attachid>97883</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-20 16:17:09 -0700</bug_when>
    <thetext>Created attachment 97883
[PATCH] LayoutTest for this

This is a LayoutTest that dumps the layer tree after restoring
a page with composited iframes from the page cache. Testing
this with pageCache()-&gt;shouldClearBackingStores() enabled
had the exact same results, which is what we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424048</commentid>
    <comment_count>10</comment_count>
      <attachid>97883</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 16:18:34 -0700</bug_when>
    <thetext>Comment on attachment 97883
[PATCH] LayoutTest for this

Test looks OK. Will this work on all platforms? If not, then doesn’t it need platform-specific results or skip list items?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424049</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-20 16:22:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 97883 [details])
&gt; Test looks OK. Will this work on all platforms? If not, then doesn’t it need
&gt; platform-specific results or skip list items?

It probably does. I wasn&apos;t sure so I was going to let the EWS tell me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424087</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-20 16:58:24 -0700</bug_when>
    <thetext>Looked good for EWS ports. Also, LayoutTests/composited/* has a lot of
cross-platform expected results for layer tree dumps. I&apos;ll land with the
test in its current spot and watch the build-bots in case I need to make a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424090</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-20 17:02:04 -0700</bug_when>
    <thetext>Landed the patch + test together in: r89316
http://trac.webkit.org/changeset/89316</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>97183</attachid>
            <date>2011-06-14 16:21:46 -0700</date>
            <delta_ts>2011-06-14 16:21:46 -0700</delta_ts>
            <desc>[TEST] Test Page for numerous layers and iframes with layers.</desc>
            <filename>page-cache-memory-test.zip</filename>
            <type>application/zip</type>
            <size>2812</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAF2Czj4AAAAAAAAAAAAAAAAXABAAcGFnZS1jYWNoZS1tZW1vcnktdGVzdC9VWAwA
gsb3TWHs9031ARQAUEsDBBQACAAIAGGCzj4AAAAAAAAAAAAAAAAgABAAcGFnZS1jYWNoZS1tZW1v
cnktdGVzdC8uRFNfU3RvcmVVWAwAiez3TWbs9031ARQA7Zg7DsIwEERnjQtLNC4p3XAAbmBFyQm4
AAVXoPfRIdoRshRSUCWCeZL1Vop/aRxPANjwuF+ADCDBjTM+ktgWhK42ziGEEEKIfWOudNx2G0KI
HTKfD4WudHMbnwc6dmMyXehKN7exX6AjnehMF7rSzc1Dyxg+jCsbE4oxhVih61evLMTfcHDl+fs/
YTX/CyF+GIvjdRzwDgTLDq926+qG9UtA8J+Fp25soSvd3LoICLEVT1BLBwhqAIhtsgAAAAQYAABQ
SwMECgAAAAAAc4LOPgAAAAAAAAAAAAAAAAkAEABfX01BQ09TWC9VWAwAiez3TYns9031ARQAUEsD
BAoAAAAAAHOCzj4AAAAAAAAAAAAAAAAgABAAX19NQUNPU1gvcGFnZS1jYWNoZS1tZW1vcnktdGVz
dC9VWAwAiez3TYns9031ARQAUEsDBBQACAAIAGGCzj4AAAAAAAAAAAAAAAArABAAX19NQUNPU1gv
cGFnZS1jYWNoZS1tZW1vcnktdGVzdC8uXy5EU19TdG9yZVVYDACJ7PdNZuz3TfUBFABjYBVjZ2Bi
YPBNTFbwD1aIUIACkBgDJxAbAbECEIP4QQxIwIEBOwAAUEsHCNyRj7goAAAAUgAAAFBLAwQUAAgA
CABqgs4+AAAAAAAAAAAAAAAAJQAQAHBhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvdGVzdC1jYXNlLmh0
bWxVWAwAiez3TXjs9031ARQA7Zi9kpswEIB7P8UezeFJQOQybjiZJpc6KdKkFGhBGmOJkYSxJ3Pv
HmE4B99PnxlLMAjtov12VysV0LunH99+/f75HYTbt8WKvnTIeLEC36h1pxand1kbtkf4cx6MrdSG
o8nhS9YdwepWcihbVu0eL190jHOpmhw23fGfdM9MI1UOD9lSKlA2wnlrmyvxILkTOXzNrqTJgOVO
uqTUx8QKxvWQQ+av0eTSiefVuUsrrRyTCs3C/U5b6aT2jhhsmZMHvJ6jD2hadnp3Bit9vL3DN35u
3o3pWup09yojLdbulaj0MTRG94onlW61T7NpShZnn2G+04f1i7/nlSKLpaK2MrJz0yCue1WNbsfr
RSyEwBOWfQODQAUDAjMIjfarBVI5TXTvQNfgBPpVbLBilcB0Ea3yOU+1GnVW6AG2cMGg5wBr0bj4
ftTlcA+fANMOjZXWIV8/zk6/MSUkx49MjbqPTT2v4zkfPhNz9JRMlUxLzU9zZrqCMhAG623ESh9k
7qtF7aJiMaCEFZR0xVQH9C5JfIlDkswWuDxA1TJrt9GlrKKCztvDmmobObQumQTpuKe8mkzDYjl9
rrBR66XzM0ACJED+F0g4AgIkQG4aEo6AAAmQm4aEIyBAAuSmIeEICJAAuWnIipLpRyIl04/yv1BL
BwgNM06c7QEAAEAXAABQSwMEFAAIAAgAaoLOPgAAAAAAAAAAAAAAADAAEABfX01BQ09TWC9wYWdl
LWNhY2hlLW1lbW9yeS10ZXN0Ly5fdGVzdC1jYXNlLmh0bWxVWAwAiez3TXjs9031ARQAY2AVY2dg
YmDwTUxW8A9WiFCAApAYAycQGwFxJxCD+LsZiAKOISFBzN6B6VAdM4BYGU0JI0JcNDk/Vy83Mbko
PzexJLVYLzmxKLWEoZoL5Irk/JzS3DwFWwVDE2uwQE5mXiqIa27NVQsAUEsHCGSNFHRpAAAAuwAA
AFBLAwQUAAgACACNjc0+AAAAAAAAAAAAAAAAJwAQAHBhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvdGVz
dC1pZnJhbWUuaHRtbFVYDACJ7PdN6a72TfUBFAB9ULtuwzAM3P0VjKd0cO0U6OLIXpLMydCl3SSL
sYTIUiAxLxT999pKjKJN0IU8HMkjj2yyXC/e3jcrUNSZOmFjQi7rBIAFuhgcEIBw8gKfEQIo1K2i
El6LYn+e38iTlqT+cII3u9a7g5VZ44zzJQRtjuiv9a8Yn4U73ym/PFD+xXXct9qWMPt/nTAHHKvZ
CcVOU0ae27B1vishQsMJP6bF089RLL85Z/n1F2ywX1exgUl9BC2rVG8977DfZAktpdAYHkKV9nbS
muV91zAfBwed+NpvUEsHCMX8DyfTAAAAcgEAAFBLAwQUAAgACACNjc0+AAAAAAAAAAAAAAAAMgAQ
AF9fTUFDT1NYL3BhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvLl90ZXN0LWlmcmFtZS5odG1sVVgMAIns
903prvZN9QEUAGNgFWNnYGJg8E1MVvAPVohQgAKQGAMnEBsBcScQg/i7GYgCjiEhQczegTVQHTOA
WBlNCSNCXDQ5P1cvNzG5KD83sSS1WC85sSi1hKGaC+SK5Pyc0tw8BVsFQwNrsEBOZl4qiGtmzVUL
AFBLBwgb5DlMaQAAALsAAABQSwECFQMKAAAAAABdgs4+AAAAAAAAAAAAAAAAFwAMAAAAAAAAAABA
7UEAAAAAcGFnZS1jYWNoZS1tZW1vcnktdGVzdC9VWAgAgsb3TWHs901QSwECFQMUAAgACABhgs4+
agCIbbIAAAAEGAAAIAAMAAAAAAAAAABApIFFAAAAcGFnZS1jYWNoZS1tZW1vcnktdGVzdC8uRFNf
U3RvcmVVWAgAiez3TWbs901QSwECFQMKAAAAAABzgs4+AAAAAAAAAAAAAAAACQAMAAAAAAAAAABA
/UFVAQAAX19NQUNPU1gvVVgIAIns902J7PdNUEsBAhUDCgAAAAAAc4LOPgAAAAAAAAAAAAAAACAA
DAAAAAAAAAAAQP1BjAEAAF9fTUFDT1NYL3BhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvVVgIAIns902J
7PdNUEsBAhUDFAAIAAgAYYLOPtyRj7goAAAAUgAAACsADAAAAAAAAAAAQKSB2gEAAF9fTUFDT1NY
L3BhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvLl8uRFNfU3RvcmVVWAgAiez3TWbs901QSwECFQMUAAgA
CABqgs4+DTNOnO0BAABAFwAAJQAMAAAAAAAAAABApIFrAgAAcGFnZS1jYWNoZS1tZW1vcnktdGVz
dC90ZXN0LWNhc2UuaHRtbFVYCACJ7PdNeOz3TVBLAQIVAxQACAAIAGqCzj5kjRR0aQAAALsAAAAw
AAwAAAAAAAAAAECkgbsEAABfX01BQ09TWC9wYWdlLWNhY2hlLW1lbW9yeS10ZXN0Ly5fdGVzdC1j
YXNlLmh0bWxVWAgAiez3TXjs901QSwECFQMUAAgACACNjc0+xfwPJ9MAAAByAQAAJwAMAAAAAAAA
AABApIGSBQAAcGFnZS1jYWNoZS1tZW1vcnktdGVzdC90ZXN0LWlmcmFtZS5odG1sVVgIAIns903p
rvZNUEsBAhUDFAAIAAgAjY3NPhvkOUxpAAAAuwAAADIADAAAAAAAAAAAQKSBygYAAF9fTUFDT1NY
L3BhZ2UtY2FjaGUtbWVtb3J5LXRlc3QvLl90ZXN0LWlmcmFtZS5odG1sVVgIAIns903prvZNUEsF
BgAAAAAJAAkAQwMAAKMHAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97185</attachid>
            <date>2011-06-14 16:23:51 -0700</date>
            <delta_ts>2011-06-17 11:48:46 -0700</delta_ts>
            <desc>[PATCH] Clear Backing Stores entering Page Cache</desc>
            <filename>minimize-mem-1.patch</filename>
            <type>text/plain</type>
            <size>8522</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzOTgzYWM2Li4wOWMyMGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMg
QEAKKzIwMTEtMDYtMTQgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5pbWl6ZSBt
ZW1vcnkgZHVlIHRvIGxheWVyIGJhY2tpbmcgc3RvcmVzIGZvciBwYWdlcyBpbiB0aGUgUGFnZSBD
YWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2
NzUKKworICAgICAgICBXaGVuIGEgcGFnZSBlbnRlcnMgdGhlIHBhZ2UgY2FjaGUgdGhlcmUgaXMg
bm93IGFuIG9wdGlvbiBvbgorICAgICAgICB0aGUgUGFnZUNhY2hlIHNpbmdsZXRvbiB0byBjbGVh
ciB0aGUgYmFja2luZyBzdG9yZXMgYW5kIGxheWVycworICAgICAgICBvZiB0aGUgY2FjaGVkIHBh
Z2UuIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBtaW5pbWl6ZSB0aGUgYW1vdW50CisgICAgICAgIG9m
IG1lbW9yeSB0aGUgc3RvcmVkIHBhZ2UgY29uc3VtZXMuCisKKyAgICAgICAgVGhpcyBvbmx5IGFm
ZmVjdHMgbWVtb3J5IHVzYWdlIGFuZCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBzbyBubyB0ZXN0
LgorCisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5oOgorICAgICAgICAqIGhpc3Rvcnkv
Q2FjaGVkRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJhbWVCYXNlOjpDYWNo
ZWRGcmFtZUJhc2UpOgorICAgICAgICBTYXZlIHdoZXRoZXIgb3Igbm90IHRoZSBwYWdlIGhhZCBj
b21wb3NpdGVkIGNvbnRlbnQgb3Igbm90CisgICAgICAgIGluIGEgbmV3IGluc3RhbmNlIHZhcmlh
YmxlLCBtX2lzQ29tcG9zaXRlZC4KKworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJhbWVCYXNl
OjpyZXN0b3JlKToKKyAgICAgICAgV2hlbiByZXN0b3JpbmcsIHJlYnVpbGQgdGhlIGNvbXBvc2l0
aW5nIHRyZWUgaWYgaXQgbWF5IGhhdmUKKyAgICAgICAgYmVlbiBkZXN0cm95ZWQuCisKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpDYWNoZWRGcmFtZSk6CisgICAgICAgIFdoZW4gc2F2
aW5nLCBjbGVhciB0aGUgYmFja2luZyBzdG9yZXMgaWYgdGhlIHBhZ2UgaXMgaW4KKyAgICAgICAg
Y29tcG9zaXRpbmcgbW9kZSwgYW5kIHRoZSBQYWdlQ2FjaGUgc2V0dGluZyBzYXlzIHRvLgorICAg
ICAgICAKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlQ2FjaGU6OlBhZ2VDYWNoZSk6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6c2hvdWxkQ2xlYXJCYWNraW5nU3RvcmVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6c2V0U2hvdWxkQ2xlYXJCYWNraW5nU3RvcmVz
KToKKyAgICAgICAgQSBzZXR0aW5nIHRvIG9wdC1pbiB0byB0aGUgbmV3IGJlaGF2aW9yIG9mIGNs
ZWFyaW5nCisgICAgICAgIHRoZSBiYWNraW5nIHN0b3Jlcy4KKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpjbGVhckJhY2tpbmdTdG9yZXMpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpyZXN0b3JlQmFja2luZ1N0b3Jlcyk6CisgICAgICAgIFRvIGNsZWFyIGFsbCBiYWNr
aW5nIHN0b3JlcyB3ZSBkaXNhYmxlIGNvbXBvc2l0aW5nCisgICAgICAgIGZvciB0aGUgZnJhbWUs
IHRvIGRldGFjaCB0aGUgcm9vdCBwbGF0Zm9ybSBsYXllciwKKyAgICAgICAgYW5kIHJlY3Vyc2l2
ZWx5IGNsZWFyIGJhY2tpbmcgc3RvcmVzIGZyb20gdGhlIHJvb3QKKyAgICAgICAgbGF5ZXIgb2Yg
dGhlIEZyYW1lVmlldy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6Y2xlYXJCYWNraW5nSW5jbHVkaW5nRGVzY2VuZGFudHMpOgorICAgICAgICBSZWN1
cnNpdmVseSBjYWxsIGNsZWFyQmFja2luZy4KKwogMjAxMS0wNi0xMyAgRGltaXRyaSBHbGF6a292
ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4ODcwNC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJh
bWUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKaW5kZXggZmUz
ZTI1Ni4uNmQ1Mzk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRG
cmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKQEAg
LTUyLDYgKzUyLDEwIEBACiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjZW5kaWYKIAorI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyNpbmNsdWRlICJQYWdlQ2FjaGUuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZm5kZWYgTkRFQlVHCkBAIC02OSw2ICs3
Myw5IEBAIENhY2hlZEZyYW1lQmFzZTo6Q2FjaGVkRnJhbWVCYXNlKEZyYW1lKiBmcmFtZSkKICAg
ICAsIG1fbW91c2VQcmVzc05vZGUoZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5tb3VzZVByZXNzTm9k
ZSgpKQogICAgICwgbV91cmwoZnJhbWUtPmRvY3VtZW50KCktPnVybCgpKQogICAgICwgbV9pc01h
aW5GcmFtZSghZnJhbWUtPnRyZWUoKS0+cGFyZW50KCkpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQorICAgICwgbV9pc0NvbXBvc2l0ZWQoZnJhbWUtPnZpZXcoKS0+aGFzQ29tcG9z
aXRlZENvbnRlbnQoKSkKKyNlbmRpZgogewogfQogCkBAIC0xMDUsNiArMTEyLDExIEBAIHZvaWQg
Q2FjaGVkRnJhbWVCYXNlOjpyZXN0b3JlKCkKICAgICAvLyBjYWNoZWQgcGFnZS4KICAgICBmcmFt
ZS0+c2NyaXB0KCktPnVwZGF0ZVBsYXRmb3JtU2NyaXB0T2JqZWN0cygpOwogCisjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmIChtX2lzQ29tcG9zaXRlZCkKKyAgICAgICAg
ZnJhbWUtPnZpZXcoKS0+cmVzdG9yZUJhY2tpbmdTdG9yZXMoKTsKKyNlbmRpZgorCiAgICAgZnJh
bWUtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlkUmVzdG9yZUZyb21QYWdlQ2FjaGUoKTsKIAogICAg
IC8vIFJlY29uc3RydWN0IHRoZSBGcmFtZVRyZWUKQEAgLTE2NCw2ICsxNzYsMTEgQEAgQ2FjaGVk
RnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lKiBmcmFtZSkKIAogICAgIGZyYW1lLT5sb2FkZXIoKS0+
Y2xpZW50KCktPnNhdmVQbGF0Zm9ybURhdGFUb0NhY2hlZEZyYW1lKHRoaXMpOwogCisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmIChtX2lzQ29tcG9zaXRlZCAmJiBwYWdl
Q2FjaGUoKS0+c2hvdWxkQ2xlYXJCYWNraW5nU3RvcmVzKCkpCisgICAgICAgIGZyYW1lLT52aWV3
KCktPmNsZWFyQmFja2luZ1N0b3JlcygpOworI2VuZGlmCisKICAgICAvLyBEZWNvbnN0cnVjdCB0
aGUgRnJhbWVUcmVlLCB0byByZXN0b3JlIGl0IGxhdGVyLgogICAgIC8vIFdlIGRvIHRoaXMgZm9y
IHR3byByZWFzb25zOgogICAgIC8vIDEgLSBXZSByZXVzZSB0aGUgbWFpbiBmcmFtZSwgc28gd2hl
biBpdCBuYXZpZ2F0ZXMgdG8gYSBuZXcgcGFnZSBsb2FkIGl0IG5lZWRzIHRvIHN0YXJ0IHdpdGgg
YSBibGFuayBGcmFtZVRyZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0Nh
Y2hlZEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmgKaW5kZXgg
YjBkMGQyOS4uOTk2YWJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNo
ZWRGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuaApAQCAt
NjQsNiArNjQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgT3duUHRyPFNjcmlwdENhY2hlZEZyYW1lRGF0
YT4gbV9jYWNoZWRGcmFtZVNjcmlwdERhdGE7CiAgICAgT3duUHRyPENhY2hlZEZyYW1lUGxhdGZv
cm1EYXRhPiBtX2NhY2hlZEZyYW1lUGxhdGZvcm1EYXRhOwogICAgIGJvb2wgbV9pc01haW5GcmFt
ZTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgYm9vbCBtX2lzQ29tcG9z
aXRlZDsKKyNlbmRpZgogICAgIAogICAgIENhY2hlZEZyYW1lVmVjdG9yIG1fY2hpbGRGcmFtZXM7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IGYwZmRjMjQuLmUyZmY4
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTI0MCw2ICsyNDAsOSBA
QCBQYWdlQ2FjaGU6OlBhZ2VDYWNoZSgpCiAgICAgLCBtX2hlYWQoMCkKICAgICAsIG1fdGFpbCgw
KQogICAgICwgbV9hdXRvcmVsZWFzZVRpbWVyKHRoaXMsICZQYWdlQ2FjaGU6OnJlbGVhc2VBdXRv
cmVsZWFzZWRQYWdlc05vd09yUmVzY2hlZHVsZSkKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCisgICAgLCBtX3Nob3VsZENsZWFyQmFja2luZ1N0b3JlcyhmYWxzZSkKKyNlbmRpZgog
ewogfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggYWM0M2UyMy4uYWQ1
MzMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC02MCw2ICs2MCwxMSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBtYXJrUGFnZXNGb3JWaXN0ZWRMaW5r
U3R5bGVSZWNhbGMoKTsKIAorI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAg
ICAgYm9vbCBzaG91bGRDbGVhckJhY2tpbmdTdG9yZXMoKSBjb25zdCB7IHJldHVybiBtX3Nob3Vs
ZENsZWFyQmFja2luZ1N0b3JlczsgfQorICAgICAgICB2b2lkIHNldFNob3VsZENsZWFyQmFja2lu
Z1N0b3Jlcyhib29sIGZsYWcpIHsgbV9zaG91bGRDbGVhckJhY2tpbmdTdG9yZXMgPSBmbGFnOyB9
CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8
Q2FjaGVkUGFnZT4gPiBDYWNoZWRQYWdlU2V0OwogCkBAIC04NSw2ICs5MCwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIAogICAgICAgICBUaW1lcjxQYWdlQ2FjaGU+IG1fYXV0b3Jl
bGVhc2VUaW1lcjsKICAgICAgICAgQ2FjaGVkUGFnZVNldCBtX2F1dG9yZWxlYXNlU2V0OworCisj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgICAgICBib29sIG1fc2hvdWxkQ2xl
YXJCYWNraW5nU3RvcmVzOworI2VuZGlmCiAgICAgIH07CiAKICAgICAvLyBGdW5jdGlvbiB0byBv
YnRhaW4gdGhlIGdsb2JhbCBwYWdlIGNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IDI2NjkxNWEuLjU3YWYxYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYz
Niw2ICs2MzYsMzAgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKCkK
ICNlbmRpZgogfQogCit2b2lkIEZyYW1lVmlldzo6Y2xlYXJCYWNraW5nU3RvcmVzKCkKK3sKKyAg
ICBSZW5kZXJWaWV3KiByb290ID0gbV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCk7CisgICAgaWYg
KCFyb290KQorICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJMYXllckNvbXBvc2l0b3IqIGNv
bXBvc2l0b3IgPSByb290LT5jb21wb3NpdG9yKCk7CisgICAgQVNTRVJUKGNvbXBvc2l0b3ItPmlu
Q29tcG9zaXRpbmdNb2RlKCkpOworICAgIGNvbXBvc2l0b3ItPmVuYWJsZUNvbXBvc2l0aW5nTW9k
ZShmYWxzZSk7CisgICAgcm9vdC0+bGF5ZXIoKS0+Y2xlYXJCYWNraW5nSW5jbHVkaW5nRGVzY2Vu
ZGFudHMoKTsKK30KKwordm9pZCBGcmFtZVZpZXc6OnJlc3RvcmVCYWNraW5nU3RvcmVzKCkKK3sK
KyAgICBSZW5kZXJWaWV3KiByb290ID0gbV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCk7CisgICAg
aWYgKCFyb290KQorICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJMYXllckNvbXBvc2l0b3Iq
IGNvbXBvc2l0b3IgPSByb290LT5jb21wb3NpdG9yKCk7CisgICAgY29tcG9zaXRvci0+ZW5hYmxl
Q29tcG9zaXRpbmdNb2RlKHRydWUpOworICAgIGNvbXBvc2l0b3ItPnNldENvbXBvc2l0aW5nTGF5
ZXJzTmVlZFJlYnVpbGQoKTsKKyAgICBjb21wb3NpdG9yLT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5
ZXJVcGRhdGUoKTsKK30KKwogR3JhcGhpY3NMYXllciogRnJhbWVWaWV3OjpsYXllckZvckhvcml6
b250YWxTY3JvbGxiYXIoKSBjb25zdAogewogICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDJiYWQ1MjYu
LjcwODUyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTEyLDYgKzExMiw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKCk7CiAgICAgYm9vbCBzeW5j
Q29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSgpOwogCisgICAgdm9pZCBjbGVhckJhY2tpbmdT
dG9yZXMoKTsKKyAgICB2b2lkIHJlc3RvcmVCYWNraW5nU3RvcmVzKCk7CisKICAgICAvLyBDYWxs
ZWQgd2hlbiBjaGFuZ2VzIHRvIHRoZSBHcmFwaGljc0xheWVyIGhpZXJhcmNoeSBoYXZlIHRvIGJl
IHN5bmNocm9uaXplZCB3aXRoCiAgICAgLy8gY29udGVudCByZW5kZXJlZCB2aWEgdGhlIG5vcm1h
bCBwYWludGluZyBwYXRoLgogICAgIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9u
aXphdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXgg
YTU2NzlhMS4uYmQwM2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCkBAIC0zNjQxLDYgKzM2NDEsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2xlYXJCYWNraW5n
KCkKICAgICBtX2JhY2tpbmcuY2xlYXIoKTsKIH0KIAordm9pZCBSZW5kZXJMYXllcjo6Y2xlYXJC
YWNraW5nSW5jbHVkaW5nRGVzY2VuZGFudHMoKQoreworICAgIGNsZWFyQmFja2luZygpOworCisg
ICAgZm9yIChSZW5kZXJMYXllciogbCA9IGZpcnN0Q2hpbGQoKTsgbDsgbCA9IGwtPm5leHRTaWJs
aW5nKCkpCisgICAgICAgIGwtPmNsZWFyQmFja2luZ0luY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7Cit9
CisKIGJvb2wgUmVuZGVyTGF5ZXI6Omhhc0NvbXBvc2l0ZWRNYXNrKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9iYWNraW5nICYmIG1fYmFja2luZy0+aGFzTWFza0xheWVyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDdhODI5OGYuLmUyNGQyMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00MzMsNiArNDMzLDcgQEAgcHVibGlj
OgogICAgIFJlbmRlckxheWVyQmFja2luZyogYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFj
a2luZy5nZXQoKTsgfQogICAgIFJlbmRlckxheWVyQmFja2luZyogZW5zdXJlQmFja2luZygpOwog
ICAgIHZvaWQgY2xlYXJCYWNraW5nKCk7CisgICAgdm9pZCBjbGVhckJhY2tpbmdJbmNsdWRpbmdE
ZXNjZW5kYW50cygpOwogICAgIHZpcnR1YWwgR3JhcGhpY3NMYXllciogbGF5ZXJGb3JIb3Jpem9u
dGFsU2Nyb2xsYmFyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBHcmFwaGljc0xheWVyKiBsYXllckZv
clZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBHcmFwaGljc0xheWVyKiBs
YXllckZvclNjcm9sbENvcm5lcigpIGNvbnN0Owo=
</data>
<flag name="review"
          id="91049"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97883</attachid>
            <date>2011-06-20 16:17:09 -0700</date>
            <delta_ts>2011-06-20 16:18:34 -0700</delta_ts>
            <desc>[PATCH] LayoutTest for this</desc>
            <filename>test.patch</filename>
            <type>text/plain</type>
            <size>8354</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjU1ZTFiLi40YTZlM2E1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDYt
MjAgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5pbWl6ZSBtZW1vcnkgZHVlIHRv
IGxheWVyIGJhY2tpbmcgc3RvcmVzIGZvciBwYWdlcyBpbiB0aGUgUGFnZSBDYWNoZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NzUKKworICAgICAg
ICBUZXN0IHRoZSBsYXllciB0cmVlIG9mIGEgcGFnZSB3aXRoIGNvbXBvc2l0ZWQgY29udGVudCwK
KyAgICAgICAgaW5jbHVkaW5nIGNvbnRlbnQgaW4gaWZyYW1lcywgbG9va3MgbGlrZSB3ZSBleHBl
Y3QuCisgICAgICAgIEVuYWJsaW5nIGNsZWFyaW5nIGJhY2tpbmcgc3RvcmVzIGluIHRoZSBQYWdl
Q2FjaGUgc2hvdWxkCisgICAgICAgIHByb2R1Y2UgdGhlIHNhbWUgZXhwZWN0ZWQgcmVzdWx0cy4K
KworICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNh
Y2hlLWxheWVyLXRyZWUuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1l
cy9yZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvaWZyYW1lcy9yZXNvdXJjZXMvcGFnZS1jYWNoZS1pZnJhbWUuaHRtbDogQWRkZWQu
CisKIDIwMTEtMDYtMjAgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdF9leHBlY3RhdGlvbnMgZml4LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hl
LWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmVmMTE4NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9p
ZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMDMg
QEAKK0FMRVJUOiBwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitBTEVSVDogcGFnZWhpZGUgLSBl
bnRlcmluZyBjYWNoZQorQUxFUlQ6IHBhZ2VzaG93IC0gZnJvbSBjYWNoZQorVGhpcyB0ZXN0cyB0
aGF0IGxheWVycyBhcmUgcmVidWlsdCBwcm9wZXJseSBhZnRlciB0aGUgcGFnZSBpcyByZXN0b3Jl
ZCBmcm9tIHRoZSBwYWdlIGNhY2hlLgorCisKKworKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4
MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAo
Ym91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gNAorICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDUwLjAwKQorICAgICAgICAgIChib3Vu
ZHMgMzcwLjAwIDIyMC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
KGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChw
b3NpdGlvbiAzNS4wMCAzNS4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyODUuMDAg
MTM1LjAwKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAg
ICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGJvdW5kcyAzNTIuMDAgMzUyLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDM1Mi4wMCAzNTIuMDApCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw
b3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAyMDIuMDAgMjAyLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChk
cmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNm
b3JtIFswLjcxIDAuNzEgMC4wMCAwLjAwXSBbLTAuNzEgMC43MSAwLjAwIDAuMDBdIFswLjAwIDAu
MDAgMS4wMCAwLjAwXSBbMTAwLjAwIDEwMC4wMCAwLjAwIDEuMDBdKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDEzLjAwIDU1LjAwKQor
ICAgICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAx
KQorICAgICAgICApCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9u
IDguMDAgMjc0LjAwKQorICAgICAgICAgIChib3VuZHMgMzcwLjAwIDIyMC4wMCkKKyAgICAgICAg
ICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAzNS4wMCAzNS4wMCkKKyAgICAg
ICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgICAgICAgICAgKGJvdW5kcyAyODUuMDAgMTM1LjAwKQorICAgICAgICAgICAgICAgICAg
KGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyA1MDguMDAgNjA4LjAw
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDUwOC4wMCA2MDguMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4g
MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAxMDguMDAgMTAwLjAwKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAg
ICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMTMuMDAg
Mjc5LjAwKQorICAgICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXIt
dHJlZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNWU4ZjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2Fj
aGUtbGF5ZXItdHJlZS5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgaWZyYW1lIHsKKyAgICAgICAgYm9yZGVyOiAx
MHB4IHNvbGlkIGJsYWNrOworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgICAgIG1hcmdpbjog
MjBweDsKKyAgICAgICAgaGVpZ2h0OiAxNTBweDsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAg
ICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAyMHB4IGJsYWNrOworICAgIH0KKworICAgIC5j
b250YWluZXIgeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgfQorCisgICAgLm92
ZXJsYXkgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIHdpZHRoOiA1MHB4
OworICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgIHRvcDogNXB4OworICAgICAgICBsZWZ0
OiA1cHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsKKyAg
ICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgICAgPHA+CisgICAgICAgIFRo
aXMgdGVzdHMgdGhhdCBsYXllcnMgYXJlIHJlYnVpbHQgcHJvcGVybHkgYWZ0ZXIgdGhlIHBhZ2UK
KyAgICAgICAgaXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZS4KKyAgICA8L3A+CisKKyAg
ICA8IS0tIFNvbWUgaWZyYW1lcyB3aXRoIGNvbXBvc2l0ZWQgY29udGVudC4gLS0+CisgICAgPGRp
diBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9wYWdl
LWNhY2hlLWlmcmFtZS5odG1sIj48L2lmcmFtZT4KKyAgICAgICAgPGRpdiBjbGFzcz0ib3Zlcmxh
eSI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAg
ICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9sYXJnZS1jb21wb3NpdGVkLXN1YmZyYW1lLmh0bWwi
PjwvaWZyYW1lPgorICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5Ij48L2Rpdj4KKyAgICA8L2Rp
dj4KKworICAgIDwhLS0gRHVtcCB0aGUgbGF5ZXIgdHJlZSBvdXRwdXQgaGVyZS4gLS0+CisgICAg
PHByZSBpZD0ib3V0cHV0Ij48L3ByZT4KKworICAgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgICAgICAgIHZhciBvdXRwdXQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisgICAgICAgIG91dHB1dC5pbm5lclRl
eHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKKworICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgICAgICAgIAorICAgIH0KKworICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAg
IGFsZXJ0KCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsg
ImZyb20gY2FjaGUiKTsKKyAgICAgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoZmluaXNoVGVzdCwgMCk7CisgICAgfSwgZmFsc2UpOworCisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAg
YWxlcnQoInBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAi
ZW50ZXJpbmcgY2FjaGUiKTsKKyAgICB9LCBmYWxzZSk7CisKKyAgICAvLyBGb3JjZSBhIGJhY2sg
bmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcGFnZS1j
YWNoZS1oZWxwZXIuaHRtbCI7CisgICAgICAgIH0sIDApOworICAgIH0sIGZhbHNlKTsKKyAgICA8
L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvaWZyYW1lcy9yZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNjZGQ4YgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcmVzb3VyY2VzL3BhZ2Ut
Y2FjaGUtaGVscGVyLmh0bWwKQEAgLTAsMCArMSw4IEBACitUaGlzIHBhZ2Ugc2hvdWxkIGdvIGJh
Y2suCis8c2NyaXB0PgorICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9u
KCkgeworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICBoaXN0b3J5LmJhY2soKTsK
KyAgICB9LCAwKTsKKyAgfSwgZmFsc2UpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Jlc291cmNlcy9wYWdlLWNhY2hlLWlmcmFtZS5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9yZXNvdXJjZXMvcGFnZS1jYWNoZS1p
ZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDEwNmRhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9yZXNvdXJj
ZXMvcGFnZS1jYWNoZS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgIC5sYXllciB7CisgICAgICAgIHdp
ZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgYm9yZGVyOiAxcHgg
c29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIC13
ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMTAwcHgsIDApIHJvdGF0ZSg0NWRl
Zyk7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDwhLS0gQ29u
dGVudCB0aGF0IHJlcXVpcmVzIGEgbGF5ZXIuIC0tPgorICAgIDxkaXYgY2xhc3M9ImxheWVyIj48
cD5DaGVjayB0aGlzIG91dDwvcD48L2Rpdj4KKworICAgIDwhLS0gQ29udGVudCB0aGF0IGRvZXMg
bm90IHJlcXVpcmUgYSBsYXllci4gLS0+CisgICAgPGRpdj48cD5JIGZlZWwgc28gcmVndWxhci4u
LjwvcD48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="91968"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>