<?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>76088</bug_id>
          
          <creation_ts>2012-01-11 12:05:41 -0800</creation_ts>
          <short_desc>The common case of content type = text/plain is not optimized and the plugin database is initialized instead</short_desc>
          <delta_ts>2012-01-26 01:37:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Treat">manyoso</reporter>
          <assigned_to name="Adam Treat">manyoso</assigned_to>
          <cc>hausmann</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534105</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-01-11 12:05:41 -0800</bug_when>
    <thetext>Hi,

In the dom/DOMImplementation.cpp file you can find the following comment:

    // Everything else except text/plain can be overridden by plugins. In particular, Adobe SVG Viewer should be used for SV
    // Disallowing plug-ins to use text/plain prevents plug-ins from hijacking a fundamental type that the browser is expect
    // and also serves as an optimization to prevent loading the plug-in database in the common case.

Unfortunately, this has been regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which refactored a bunch of the plugin code.  Now, the plugin database is initialized before we handle text/plain.  This line in DOMImplementation.cpp trigger plugin initialization:

        pluginData = frame-&gt;page()-&gt;pluginData();

Here is the call stack:

#0  WebCore::PluginPackage::load (Each port&apos;s implementation which generally calls dlopen of some sort)
#1  0x7a00b27c in WebCore::PluginPackage::fetchInfo (Each port&apos;s implementation which calls PluginPackage::load)
#2  0x79ff9af0 in WebCore::PluginPackage::createPackage (path=..., lastModified=@0x4e68d0) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/PluginPackage.cpp:164
#3  0x79fed0d8 in WebCore::PluginDatabase::refresh (this=0x525038) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/PluginDatabase.cpp:154
#4  0x79fecc44 in WebCore::PluginDatabase::installedPlugins (populate=true) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/PluginDatabase.cpp:74
#5  0x7a00a28c in WebCore::PluginData::initPlugins (this=0x3bcd70) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/blackberry/PluginDataBlackBerry.cpp:29
#6  0x7991df44 in WebCore::PluginData::PluginData (this=0x3bcd70, page=0x397410) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/PluginData.cpp:36
#7  0x79816700 in WebCore::PluginData::create (page=0x397410) at /home/manyoso/Winchester/webkit/Source/WebCore/plugins/PluginData.h:53
#8  0x79813aac in WebCore::Page::pluginData (this=0x397410) at /home/manyoso/Winchester/webkit/Source/WebCore/page/Page.cpp:447

I&apos;m attaching a proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534119</commentid>
    <comment_count>1</comment_count>
      <attachid>122067</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-01-11 12:15:25 -0800</bug_when>
    <thetext>Created attachment 122067
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534127</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-01-11 12:17:48 -0800</bug_when>
    <thetext>I will further add that the DOMImplementation::createDocument still has misleading comments.

Currently, image types != pdf and video are *also* not allowed to be overridden by plugins, but they plugin database is still initialized before these content types are evaluated.

Should I fix this too or should I make it so plugins can override these too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534157</commentid>
    <comment_count>3</comment_count>
      <attachid>122077</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-01-11 12:49:12 -0800</bug_when>
    <thetext>Created attachment 122077
Revision based on feedback from andersca

I&apos;ve revised the patch to take into account that image types != PDF and HTML5 video are also not optimized to be handled before initializing plugins.  This is based on the assumption that these types should not be overridden by plugins which I think is correct and is currently the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534184</commentid>
    <comment_count>4</comment_count>
      <attachid>122077</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 13:08:13 -0800</bug_when>
    <thetext>Comment on attachment 122077
Revision based on feedback from andersca

Rejecting attachment 122077 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
u&apos;Anders Carlsson&apos;, u&apos;--...&quot; exit_code: 1

Parsed 2 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/dom/DOMImplementation.cpp
Hunk #1 FAILED at 311.
Hunk #2 succeeded at 322 (offset 3 lines).
1 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/dom/DOMImplementation.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Anders Carlsson&apos;, u&apos;--...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/11108552</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534224</commentid>
    <comment_count>5</comment_count>
      <attachid>122088</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2012-01-11 13:44:37 -0800</bug_when>
    <thetext>Created attachment 122088
Same patch on latest HEAD so it will apply

Just rebased on top of latest HEAD so commitbot can apply it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534245</commentid>
    <comment_count>6</comment_count>
      <attachid>122088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 14:13:39 -0800</bug_when>
    <thetext>Comment on attachment 122088
Same patch on latest HEAD so it will apply

Clearing flags on attachment: 122088

Committed r104746: &lt;http://trac.webkit.org/changeset/104746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534246</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 14:13:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534443</commentid>
    <comment_count>8</comment_count>
      <attachid>122088</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-11 17:27:30 -0800</bug_when>
    <thetext>Comment on attachment 122088
Same patch on latest HEAD so it will apply

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

&gt; Source/WebCore/dom/DOMImplementation.cpp:336
&gt; +    if (Image::supportsType(type) &amp;&amp; type != &quot;application/pdf&quot; &amp;&amp; type != &quot;text/pdf&quot;)

Most other PDF code in WebKit only supports application/pdf. It would be nice to clean this up one day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542954</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-26 01:33:12 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 122088 [details])
&gt; Clearing flags on attachment: 122088
&gt; 
&gt; Committed r104746: &lt;http://trac.webkit.org/changeset/104746&gt;

This change made iframes load PDFs as media documents, at least in OS X (where the media player supports PDFs), breaking PDF printing among other things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542957</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-26 01:37:19 -0800</bug_when>
    <thetext>Filed bug 77079.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122067</attachid>
            <date>2012-01-11 12:15:25 -0800</date>
            <delta_ts>2012-01-11 12:49:12 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>76088.patch</filename>
            <type>text/plain</type>
            <size>4386</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IDI4MWM4YjVhYTYwZTJiMjBhMWQwNGVjZjhhNmRlNzAwNGIyNDY1MDQKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBXZWQgSmFuIDExIDE1OjE5OjQyIDIw
MTIgLTA1MDAKCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYw
ODgKICAgIFRoZSBjb21tb24gY2FzZSBvZiBjb250ZW50IHR5cGUgPSB0ZXh0L3BsYWluIGlzIG5v
dCBvcHRpbWl6ZWQgYW5kIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlhbGl6ZWQgaW5zdGVh
ZAogICAgCiAgICBJbiB0aGUgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBmaWxlIHlvdSBjYW4g
ZmluZCB0aGUgY29tbWVudCB0aGF0IHRleHQvcGxhaW4gaXMKICAgIG9wdGltaXplZCBzbyB0aGF0
IHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgbm90IGxvYWRlZC4gVW5mb3J0dW5hdGVseSwgdGhpcyBo
YXMgYmVlbgogICAgcmVncmVzc2VkIHNpbmNlIHRoZSBwYXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTUgd2hpY2gKICAgIHJlZmFjdG9yZWQgYSBidW5j
aCBvZiB0aGUgcGx1Z2luIGNvZGUuICBOb3csIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlh
bGl6ZWQKICAgIGJlZm9yZSB3ZSBoYW5kbGUgdGV4dC9wbGFpbi4gIFRoaXMgbGluZSBpbiBET01J
bXBsZW1lbnRhdGlvbi5jcHAgdHJpZ2dlcnMKICAgIHRoZSBwbHVnaW4gaW5pdGlhbGl6YXRpb246
CiAgICAKICAgICAgICAgICAgcGx1Z2luRGF0YSA9IGZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEo
KTsKICAgIAogICAgVGhlIHNvbHV0aW9uIGlzIHRvIHJlZmFjdG9yIHNvIHRleHQvcGxhaW4gaXMg
aGFuZGxlZCBiZWZvcmUgdGhpcy4KICAgIAogICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CiAgICAKICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKICAgIChXZWJDb3JlOjpET01J
bXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQpOgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNDg1NzlkLi4x
NTVmMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDEtMTEgIEFkYW0gVHJl
YXQgIDxhdHJlYXRAcmltLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzYwODgKKyAgICAgICAgVGhlIGNvbW1vbiBjYXNlIG9mIGNvbnRlbnQg
dHlwZSA9IHRleHQvcGxhaW4gaXMgbm90IG9wdGltaXplZCBhbmQgdGhlIHBsdWdpbiBkYXRhYmFz
ZSBpcyBpbml0aWFsaXplZCBpbnN0ZWFkCisKKyAgICAgICAgSW4gdGhlIGRvbS9ET01JbXBsZW1l
bnRhdGlvbi5jcHAgZmlsZSB5b3UgY2FuIGZpbmQgdGhlIGNvbW1lbnQgdGhhdCB0ZXh0L3BsYWlu
IGlzCisgICAgICAgIG9wdGltaXplZCBzbyB0aGF0IHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgbm90
IGxvYWRlZC4gVW5mb3J0dW5hdGVseSwgdGhpcyBoYXMgYmVlbgorICAgICAgICByZWdyZXNzZWQg
c2luY2UgdGhlIHBhdGNoIGZvciBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgxNSB3aGljaAorICAgICAgICByZWZhY3RvcmVkIGEgYnVuY2ggb2YgdGhlIHBsdWdpbiBj
b2RlLiAgTm93LCB0aGUgcGx1Z2luIGRhdGFiYXNlIGlzIGluaXRpYWxpemVkCisgICAgICAgIGJl
Zm9yZSB3ZSBoYW5kbGUgdGV4dC9wbGFpbi4gIFRoaXMgbGluZSBpbiBET01JbXBsZW1lbnRhdGlv
bi5jcHAgdHJpZ2dlcnMKKyAgICAgICAgdGhlIHBsdWdpbiBpbml0aWFsaXphdGlvbjoKKworICAg
ICAgICAgICAgICAgIHBsdWdpbkRhdGEgPSBmcmFtZS0+cGFnZSgpLT5wbHVnaW5EYXRhKCk7CisK
KyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIHRvIHJlZmFjdG9yIHNvIHRleHQvcGxhaW4gaXMgaGFu
ZGxlZCBiZWZvcmUgdGhpcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQpOgorCiAyMDExLTA5LTE1ICBZdXRh
IEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlciBzaG91bGRuJ3QgaGF2ZSBhIFN0cmluZyBpbiBpdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCmluZGV4IGE4ZjAxZWEuLjk3
NDEzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcApAQCAtMzEx
LDYgKzMxMSwxMCBAQCBQYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3Jl
YXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZQogICAgIGlmICh0eXBlID09ICJ0
ZXh0L2h0bWwiKQogICAgICAgICByZXR1cm4gSFRNTERvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVy
bCk7CiAKKyAgICAvLyBQbHVnaW5zIGNhbm5vdCB0YWtlIHRleHQvcGxhaW4gZnJvbSB1cywgYW5k
IHdlIGRvbid0IGV2ZW4gbmVlZCB0byBpbml0aWFsaXplIHRoZSBwbHVnaW4gZGF0YWJhc2UgZm9y
IHRob3NlLgorICAgIGlmICh0eXBlID09ICJ0ZXh0L3BsYWluIikKKyAgICAgICAgcmV0dXJuIFRl
eHREb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOworCiAgICAgaWYgKHR5cGUgPT0gImFwcGxp
Y2F0aW9uL3hodG1sK3htbCIKICNpZiBFTkFCTEUoWEhUTUxNUCkKICAgICAgICAgfHwgdHlwZSA9
PSAiYXBwbGljYXRpb24vdm5kLndhcC54aHRtbCt4bWwiCkBAIC0zMjQsNiArMzI4LDggQEAgUGFz
c1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KGNvbnN0
IFN0cmluZyYgdHlwZSwgRnJhbWUKICAgICAgICAgcmV0dXJuIEZUUERpcmVjdG9yeURvY3VtZW50
OjpjcmVhdGUoZnJhbWUsIHVybCk7CiAjZW5kaWYKIAorICAgIC8vIFRoZSBwbHVnaW4gZGF0YWJh
c2UgaXMgaW5pdGlhbGl6ZWQgYXQgdGhpcyBwb2ludCBpZiBwbHVnaW5zIGFyZSBlbmFibGVkCisg
ICAgLy8gd2hpY2ggaXMgbm9uLXplcm8gb3ZlcmhlYWQuCiAgICAgUGx1Z2luRGF0YSogcGx1Z2lu
RGF0YSA9IDA7CiAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5wYWdlKCkgJiYgZnJhbWUtPmxvYWRl
cigpLT5zdWJmcmFtZUxvYWRlcigpLT5hbGxvd1BsdWdpbnMoTm90QWJvdXRUb0luc3RhbnRpYXRl
UGx1Z2luKSkKICAgICAgICAgcGx1Z2luRGF0YSA9IGZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEo
KTsKQEAgLTM0MSwxMCArMzQ3LDggQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVtZW50
YXRpb246OmNyZWF0ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUKICAgICAgICAg
IHJldHVybiBNZWRpYURvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVybCk7CiAjZW5kaWYKIAotICAg
IC8vIEV2ZXJ5dGhpbmcgZWxzZSBleGNlcHQgdGV4dC9wbGFpbiBjYW4gYmUgb3ZlcnJpZGRlbiBi
eSBwbHVnaW5zLiBJbiBwYXJ0aWN1bGFyLCBBZG9iZSBTVkcgVmlld2VyIHNob3VsZCBiZSB1c2Vk
IGZvciBTVkcsIGlmIGluc3RhbGxlZC4KLSAgICAvLyBEaXNhbGxvd2luZyBwbHVnLWlucyB0byB1
c2UgdGV4dC9wbGFpbiBwcmV2ZW50cyBwbHVnLWlucyBmcm9tIGhpamFja2luZyBhIGZ1bmRhbWVu
dGFsIHR5cGUgdGhhdCB0aGUgYnJvd3NlciBpcyBleHBlY3RlZCB0byBoYW5kbGUsCi0gICAgLy8g
YW5kIGFsc28gc2VydmVzIGFzIGFuIG9wdGltaXphdGlvbiB0byBwcmV2ZW50IGxvYWRpbmcgdGhl
IHBsdWctaW4gZGF0YWJhc2UgaW4gdGhlIGNvbW1vbiBjYXNlLgotICAgIGlmICh0eXBlICE9ICJ0
ZXh0L3BsYWluIiAmJiBwbHVnaW5EYXRhICYmIHBsdWdpbkRhdGEtPnN1cHBvcnRzTWltZVR5cGUo
dHlwZSkpIAorICAgIC8vIEF0IHRoaXMgcG9pbnQgYW55dGhpbmcgdGhhdCBjYW4gYmUgc3VwcG9y
dGVkIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHBsdWdpbnMKKyAgICBpZiAocGx1Z2luRGF0YSAmJiBw
bHVnaW5EYXRhLT5zdXBwb3J0c01pbWVUeXBlKHR5cGUpKQogICAgICAgICByZXR1cm4gUGx1Z2lu
RG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKICAgICBpZiAoaXNUZXh0TUlNRVR5cGUodHlw
ZSkpCiAgICAgICAgIHJldHVybiBUZXh0RG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122077</attachid>
            <date>2012-01-11 12:49:12 -0800</date>
            <delta_ts>2012-01-11 13:44:37 -0800</delta_ts>
            <desc>Revision based on feedback from andersca</desc>
            <filename>76088_1.patch</filename>
            <type>text/plain</type>
            <size>6180</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IDdlNGYxYjNhNjFkMzIwMjRiMjY3Mzg5NjI1ZmZlNmUyOTkyMWEzMWIKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBXZWQgSmFuIDExIDE1OjE5OjQyIDIw
MTIgLTA1MDAKCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYw
ODgKICAgIFRoZSBjb21tb24gY2FzZSBvZiBjb250ZW50IHR5cGUgPSB0ZXh0L3BsYWluIGlzIG5v
dCBvcHRpbWl6ZWQgYW5kIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlhbGl6ZWQgaW5zdGVh
ZAogICAgCiAgICBJbiB0aGUgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBmaWxlIHlvdSBjYW4g
ZmluZCB0aGUgY29tbWVudCB0aGF0IHRleHQvcGxhaW4gaXMKICAgIG9wdGltaXplZCBzbyB0aGF0
IHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgbm90IGxvYWRlZC4gVW5mb3J0dW5hdGVseSwgdGhpcyBo
YXMgYmVlbgogICAgcmVncmVzc2VkIHNpbmNlIHRoZSBwYXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTUgd2hpY2gKICAgIHJlZmFjdG9yZWQgYSBidW5j
aCBvZiB0aGUgcGx1Z2luIGNvZGUuICBOb3csIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlh
bGl6ZWQKICAgIGJlZm9yZSB3ZSBoYW5kbGUgdGV4dC9wbGFpbi4gIFRoaXMgbGluZSBpbiBET01J
bXBsZW1lbnRhdGlvbi5jcHAgdHJpZ2dlcnMKICAgIHRoZSBwbHVnaW4gaW5pdGlhbGl6YXRpb246
CiAgICAKICAgICAgICAgICAgcGx1Z2luRGF0YSA9IGZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEo
KTsKICAgIAogICAgVGhlIGNhc2Ugb2YgaW1hZ2UgdHlwZXMgIT0gUERGIGFuZCB0aGUgY2FzZSBv
ZiBIVE1MNSB2aWRlbyBjb250ZW50IHR5cGUgYXJlIGFsc28KICAgIG5vdCBvcHRpbWl6ZWQgdG8g
YmUgaGFuZGxlZCBiZWZvcmUgcGx1Z2luIGluaXRpYWxpemF0aW9uLgogICAgCiAgICBUaGUgc29s
dXRpb24gaXMgdG8gcmVmYWN0b3Igc28gYWxsIG9mIHRoZXNlIGNvbnRlbnQgdHlwZXMgYXJlIGhh
bmRsZWQgYmVmb3JlCiAgICB3ZSBpbml0aWFsaXplIHRoZSBwbHVnaW4gZGF0YWJhc2UuCiAgICAK
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICAqIGRvbS9ET01JbXBsZW1l
bnRhdGlvbi5jcHA6CiAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3Vt
ZW50KToKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ4NTc5ZC4uMDU5NTc3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDEyLTAxLTExICBBZGFtIFRyZWF0ICA8YXRyZWF0QHJpbS5jb20+CisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg4CisgICAg
ICAgIFRoZSBjb21tb24gY2FzZSBvZiBjb250ZW50IHR5cGUgPSB0ZXh0L3BsYWluIGlzIG5vdCBv
cHRpbWl6ZWQgYW5kIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlhbGl6ZWQgaW5zdGVhZAor
CisgICAgICAgIEluIHRoZSBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIGZpbGUgeW91IGNhbiBm
aW5kIHRoZSBjb21tZW50IHRoYXQgdGV4dC9wbGFpbiBpcworICAgICAgICBvcHRpbWl6ZWQgc28g
dGhhdCB0aGUgcGx1Z2luIGRhdGFiYXNlIGlzIG5vdCBsb2FkZWQuIFVuZm9ydHVuYXRlbHksIHRo
aXMgaGFzIGJlZW4KKyAgICAgICAgcmVncmVzc2VkIHNpbmNlIHRoZSBwYXRjaCBmb3IgaHR0cDov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTUgd2hpY2gKKyAgICAgICAgcmVm
YWN0b3JlZCBhIGJ1bmNoIG9mIHRoZSBwbHVnaW4gY29kZS4gIE5vdywgdGhlIHBsdWdpbiBkYXRh
YmFzZSBpcyBpbml0aWFsaXplZAorICAgICAgICBiZWZvcmUgd2UgaGFuZGxlIHRleHQvcGxhaW4u
ICBUaGlzIGxpbmUgaW4gRE9NSW1wbGVtZW50YXRpb24uY3BwIHRyaWdnZXJzCisgICAgICAgIHRo
ZSBwbHVnaW4gaW5pdGlhbGl6YXRpb246CisKKyAgICAgICAgICAgICAgICBwbHVnaW5EYXRhID0g
ZnJhbWUtPnBhZ2UoKS0+cGx1Z2luRGF0YSgpOworCisgICAgICAgIFRoZSBjYXNlIG9mIGltYWdl
IHR5cGVzICE9IFBERiBhbmQgdGhlIGNhc2Ugb2YgSFRNTDUgdmlkZW8gY29udGVudCB0eXBlIGFy
ZSBhbHNvCisgICAgICAgIG5vdCBvcHRpbWl6ZWQgdG8gYmUgaGFuZGxlZCBiZWZvcmUgcGx1Z2lu
IGluaXRpYWxpemF0aW9uLgorCisgICAgICAgIFRoZSBzb2x1dGlvbiBpcyB0byByZWZhY3RvciBz
byBhbGwgb2YgdGhlc2UgY29udGVudCB0eXBlcyBhcmUgaGFuZGxlZCBiZWZvcmUKKyAgICAgICAg
d2UgaW5pdGlhbGl6ZSB0aGUgcGx1Z2luIGRhdGFiYXNlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisK
IDIwMTEtMDktMTUgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyIHNob3VsZG4ndCBoYXZl
IGEgU3RyaW5nIGluIGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxl
bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAK
aW5kZXggYThmMDFlYS4uN2QwMzU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUltcGxlbWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50
YXRpb24uY3BwCkBAIC0zMTEsNiArMzExLDEwIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERPTUlt
cGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudChjb25zdCBTdHJpbmcmIHR5cGUsIEZyYW1lCiAg
ICAgaWYgKHR5cGUgPT0gInRleHQvaHRtbCIpCiAgICAgICAgIHJldHVybiBIVE1MRG9jdW1lbnQ6
OmNyZWF0ZShmcmFtZSwgdXJsKTsKIAorICAgIC8vIFBsdWdpbnMgY2Fubm90IHRha2UgdGV4dC9w
bGFpbiBmcm9tIHVzIGVpdGhlci4KKyAgICBpZiAodHlwZSA9PSAidGV4dC9wbGFpbiIpCisgICAg
ICAgIHJldHVybiBUZXh0RG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKKwogICAgIGlmICh0
eXBlID09ICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiCiAjaWYgRU5BQkxFKFhIVE1MTVApCiAgICAg
ICAgIHx8IHR5cGUgPT0gImFwcGxpY2F0aW9uL3ZuZC53YXAueGh0bWwreG1sIgpAQCAtMzE5LDMz
ICszMjMsMzcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0
ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgdHlwZSwgRnJhbWUKICAgICAgICAgcmV0dXJuIERvY3Vt
ZW50OjpjcmVhdGVYSFRNTChmcmFtZSwgdXJsKTsKIAogI2lmIEVOQUJMRShGVFBESVIpCi0gICAg
Ly8gUGx1Z2lucyBjYW5ub3QgdGFrZSBGVFAgZnJvbSB1cyBlaXRoZXIKKyAgICAvLyBQbHVnaW5z
IGNhbm5vdCB0YWtlIEZUUCBmcm9tIHVzIGVpdGhlci4KICAgICBpZiAodHlwZSA9PSAiYXBwbGlj
YXRpb24veC1mdHAtZGlyZWN0b3J5IikKICAgICAgICAgcmV0dXJuIEZUUERpcmVjdG9yeURvY3Vt
ZW50OjpjcmVhdGUoZnJhbWUsIHVybCk7CiAjZW5kaWYKIAotICAgIFBsdWdpbkRhdGEqIHBsdWdp
bkRhdGEgPSAwOwotICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+cGFnZSgpICYmIGZyYW1lLT5sb2Fk
ZXIoKS0+c3ViZnJhbWVMb2FkZXIoKS0+YWxsb3dQbHVnaW5zKE5vdEFib3V0VG9JbnN0YW50aWF0
ZVBsdWdpbikpCi0gICAgICAgIHBsdWdpbkRhdGEgPSBmcmFtZS0+cGFnZSgpLT5wbHVnaW5EYXRh
KCk7Ci0KLSAgICAvLyBQREYgaXMgb25lIGltYWdlIHR5cGUgZm9yIHdoaWNoIGEgcGx1Z2luIGNh
biBvdmVycmlkZSBidWlsdC1pbiBzdXBwb3J0LgotICAgIC8vIFdlIGRvIG5vdCB3YW50IFF1aWNr
VGltZSB0byB0YWtlIG92ZXIgYWxsIGltYWdlIHR5cGVzLCBvYnZpb3VzbHkuCi0gICAgaWYgKCh0
eXBlID09ICJhcHBsaWNhdGlvbi9wZGYiIHx8IHR5cGUgPT0gInRleHQvcGRmIikgJiYgcGx1Z2lu
RGF0YSAmJiBwbHVnaW5EYXRhLT5zdXBwb3J0c01pbWVUeXBlKHR5cGUpKQotICAgICAgICByZXR1
cm4gUGx1Z2luRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKLSAgICBpZiAoSW1hZ2U6OnN1
cHBvcnRzVHlwZSh0eXBlKSkKKyAgICAvLyBQREYgaXMgdGhlIG9ubHkgaW1hZ2UgdHlwZSBmb3Ig
d2hpY2ggYSBwbHVnaW4gY2FuIG92ZXJyaWRlIGJ1aWx0LWluIHN1cHBvcnQuCisgICAgaWYgKElt
YWdlOjpzdXBwb3J0c1R5cGUodHlwZSkgJiYgdHlwZSAhPSAiYXBwbGljYXRpb24vcGRmIiAmJiB0
eXBlICE9ICJ0ZXh0L3BkZiIpCiAgICAgICAgIHJldHVybiBJbWFnZURvY3VtZW50OjpjcmVhdGUo
ZnJhbWUsIHVybCk7CiAKICNpZiBFTkFCTEUoVklERU8pCi0gICAgIC8vIENoZWNrIHRvIHNlZSBp
ZiB0aGUgdHlwZSBjYW4gYmUgcGxheWVkIGJ5IG91ciBNZWRpYVBsYXllciwgaWYgc28gY3JlYXRl
IGEgTWVkaWFEb2N1bWVudAorICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIHR5cGUgY2FuIGJl
IHBsYXllZCBieSBvdXIgTWVkaWFQbGF5ZXIsIGlmIHNvIGNyZWF0ZSBhIE1lZGlhRG9jdW1lbnQg
YXMKKyAgICAgLy8gdGhpcyBjYW4gbm90IGJlIHRha2VuIGJ5IHBsdWdpbnMgZWl0aGVyLgogICAg
ICBpZiAoTWVkaWFQbGF5ZXI6OnN1cHBvcnRzVHlwZShDb250ZW50VHlwZSh0eXBlKSkpCiAgICAg
ICAgICByZXR1cm4gTWVkaWFEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwogI2VuZGlmCiAK
LSAgICAvLyBFdmVyeXRoaW5nIGVsc2UgZXhjZXB0IHRleHQvcGxhaW4gY2FuIGJlIG92ZXJyaWRk
ZW4gYnkgcGx1Z2lucy4gSW4gcGFydGljdWxhciwgQWRvYmUgU1ZHIFZpZXdlciBzaG91bGQgYmUg
dXNlZCBmb3IgU1ZHLCBpZiBpbnN0YWxsZWQuCi0gICAgLy8gRGlzYWxsb3dpbmcgcGx1Zy1pbnMg
dG8gdXNlIHRleHQvcGxhaW4gcHJldmVudHMgcGx1Zy1pbnMgZnJvbSBoaWphY2tpbmcgYSBmdW5k
YW1lbnRhbCB0eXBlIHRoYXQgdGhlIGJyb3dzZXIgaXMgZXhwZWN0ZWQgdG8gaGFuZGxlLAotICAg
IC8vIGFuZCBhbHNvIHNlcnZlcyBhcyBhbiBvcHRpbWl6YXRpb24gdG8gcHJldmVudCBsb2FkaW5n
IHRoZSBwbHVnLWluIGRhdGFiYXNlIGluIHRoZSBjb21tb24gY2FzZS4KLSAgICBpZiAodHlwZSAh
PSAidGV4dC9wbGFpbiIgJiYgcGx1Z2luRGF0YSAmJiBwbHVnaW5EYXRhLT5zdXBwb3J0c01pbWVU
eXBlKHR5cGUpKSAKKyAgICAvLyBUaGUgcGx1Z2luIGRhdGFiYXNlIGlzIGluaXRpYWxpemVkIGF0
IHRoaXMgcG9pbnQgaWYgcGx1Z2lucyBhcmUgZW5hYmxlZAorICAgIC8vIHdoaWNoIGlzIG5vbi16
ZXJvIG92ZXJoZWFkLgorICAgIFBsdWdpbkRhdGEqIHBsdWdpbkRhdGEgPSAwOworICAgIGlmIChm
cmFtZSAmJiBmcmFtZS0+cGFnZSgpICYmIGZyYW1lLT5sb2FkZXIoKS0+c3ViZnJhbWVMb2FkZXIo
KS0+YWxsb3dQbHVnaW5zKE5vdEFib3V0VG9JbnN0YW50aWF0ZVBsdWdpbikpCisgICAgICAgIHBs
dWdpbkRhdGEgPSBmcmFtZS0+cGFnZSgpLT5wbHVnaW5EYXRhKCk7CisKKyAgICAvLyBBdCB0aGlz
IHBvaW50IGFueXRoaW5nIHRoYXQgY2FuIGJlIHN1cHBvcnRlZCBjYW4gYmUgb3ZlcnJpZGRlbiBi
eSBwbHVnaW5zLgorICAgIGlmIChwbHVnaW5EYXRhICYmIHBsdWdpbkRhdGEtPnN1cHBvcnRzTWlt
ZVR5cGUodHlwZSkpCiAgICAgICAgIHJldHVybiBQbHVnaW5Eb2N1bWVudDo6Y3JlYXRlKGZyYW1l
LCB1cmwpOworCisgICAgLy8gSGFuZGxlIFBERiBmb3IgaW5zdGFuY2UgaWYgaXQgd2FzIG5vdCBo
YW5kbGVkIGJ5IGEgcGx1Z2luLgorICAgIGlmIChJbWFnZTo6c3VwcG9ydHNUeXBlKHR5cGUpKQor
ICAgICAgICByZXR1cm4gSW1hZ2VEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOworCisgICAg
Ly8gSGFuZGxlIGEgdGV4dCBkb2N1bWVudCB3YXMgbm90IGhhbmRsZWQgYnkgYSBwbHVnaW4uCiAg
ICAgaWYgKGlzVGV4dE1JTUVUeXBlKHR5cGUpKQogICAgICAgICByZXR1cm4gVGV4dERvY3VtZW50
OjpjcmVhdGUoZnJhbWUsIHVybCk7CiAK
</data>
<flag name="review"
          id="122769"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="122770"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122088</attachid>
            <date>2012-01-11 13:44:37 -0800</date>
            <delta_ts>2012-01-11 17:27:30 -0800</delta_ts>
            <desc>Same patch on latest HEAD so it will apply</desc>
            <filename>76088_2.patch</filename>
            <type>text/plain</type>
            <size>6216</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">Y29tbWl0IGZiN2M2NGE2MGUwYjZkZDdkNzcyNDg1YWM5NzI5YzY1ZjdkMzRmZTEKQXV0aG9yOiBB
ZGFtIFRyZWF0IDxhdHJlYXRAcmltLmNvbT4KRGF0ZTogICBXZWQgSmFuIDExIDE1OjE5OjQyIDIw
MTIgLTA1MDAKCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYw
ODgKICAgIFRoZSBjb21tb24gY2FzZSBvZiBjb250ZW50IHR5cGUgPSB0ZXh0L3BsYWluIGlzIG5v
dCBvcHRpbWl6ZWQgYW5kIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlhbGl6ZWQgaW5zdGVh
ZAogICAgCiAgICBJbiB0aGUgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBmaWxlIHlvdSBjYW4g
ZmluZCB0aGUgY29tbWVudCB0aGF0IHRleHQvcGxhaW4gaXMKICAgIG9wdGltaXplZCBzbyB0aGF0
IHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgbm90IGxvYWRlZC4gVW5mb3J0dW5hdGVseSwgdGhpcyBo
YXMgYmVlbgogICAgcmVncmVzc2VkIHNpbmNlIHRoZSBwYXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTUgd2hpY2gKICAgIHJlZmFjdG9yZWQgYSBidW5j
aCBvZiB0aGUgcGx1Z2luIGNvZGUuICBOb3csIHRoZSBwbHVnaW4gZGF0YWJhc2UgaXMgaW5pdGlh
bGl6ZWQKICAgIGJlZm9yZSB3ZSBoYW5kbGUgdGV4dC9wbGFpbi4gIFRoaXMgbGluZSBpbiBET01J
bXBsZW1lbnRhdGlvbi5jcHAgdHJpZ2dlcnMKICAgIHRoZSBwbHVnaW4gaW5pdGlhbGl6YXRpb246
CiAgICAKICAgICAgICAgICAgcGx1Z2luRGF0YSA9IGZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEo
KTsKICAgIAogICAgVGhlIGNhc2Ugb2YgaW1hZ2UgdHlwZXMgIT0gUERGIGFuZCB0aGUgY2FzZSBv
ZiBIVE1MNSB2aWRlbyBjb250ZW50IHR5cGUgYXJlIGFsc28KICAgIG5vdCBvcHRpbWl6ZWQgdG8g
YmUgaGFuZGxlZCBiZWZvcmUgcGx1Z2luIGluaXRpYWxpemF0aW9uLgogICAgCiAgICBUaGUgc29s
dXRpb24gaXMgdG8gcmVmYWN0b3Igc28gYWxsIG9mIHRoZXNlIGNvbnRlbnQgdHlwZXMgYXJlIGhh
bmRsZWQgYmVmb3JlCiAgICB3ZSBpbml0aWFsaXplIHRoZSBwbHVnaW4gZGF0YWJhc2UuCiAgICAK
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICAqIGRvbS9ET01JbXBsZW1l
bnRhdGlvbi5jcHA6CiAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3Vt
ZW50KToKICAgIAogICAgQ29uZmxpY3RzOgogICAgCiAgICAJU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCiAgICAJU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwY2YxNTVkLi40MjQ3MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIw
MTItMDEtMTEgIEFkYW0gVHJlYXQgIDxhdHJlYXRAcmltLmNvbT4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwODgKKyAgICAgICAgVGhlIGNvbW1v
biBjYXNlIG9mIGNvbnRlbnQgdHlwZSA9IHRleHQvcGxhaW4gaXMgbm90IG9wdGltaXplZCBhbmQg
dGhlIHBsdWdpbiBkYXRhYmFzZSBpcyBpbml0aWFsaXplZCBpbnN0ZWFkCisKKyAgICAgICAgSW4g
dGhlIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAgZmlsZSB5b3UgY2FuIGZpbmQgdGhlIGNvbW1l
bnQgdGhhdCB0ZXh0L3BsYWluIGlzCisgICAgICAgIG9wdGltaXplZCBzbyB0aGF0IHRoZSBwbHVn
aW4gZGF0YWJhc2UgaXMgbm90IGxvYWRlZC4gVW5mb3J0dW5hdGVseSwgdGhpcyBoYXMgYmVlbgor
ICAgICAgICByZWdyZXNzZWQgc2luY2UgdGhlIHBhdGNoIGZvciBodHRwOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNSB3aGljaAorICAgICAgICByZWZhY3RvcmVkIGEgYnVu
Y2ggb2YgdGhlIHBsdWdpbiBjb2RlLiAgTm93LCB0aGUgcGx1Z2luIGRhdGFiYXNlIGlzIGluaXRp
YWxpemVkCisgICAgICAgIGJlZm9yZSB3ZSBoYW5kbGUgdGV4dC9wbGFpbi4gIFRoaXMgbGluZSBp
biBET01JbXBsZW1lbnRhdGlvbi5jcHAgdHJpZ2dlcnMKKyAgICAgICAgdGhlIHBsdWdpbiBpbml0
aWFsaXphdGlvbjoKKworICAgICAgICAgICAgICAgIHBsdWdpbkRhdGEgPSBmcmFtZS0+cGFnZSgp
LT5wbHVnaW5EYXRhKCk7CisKKyAgICAgICAgVGhlIGNhc2Ugb2YgaW1hZ2UgdHlwZXMgIT0gUERG
IGFuZCB0aGUgY2FzZSBvZiBIVE1MNSB2aWRlbyBjb250ZW50IHR5cGUgYXJlIGFsc28KKyAgICAg
ICAgbm90IG9wdGltaXplZCB0byBiZSBoYW5kbGVkIGJlZm9yZSBwbHVnaW4gaW5pdGlhbGl6YXRp
b24uCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIHRvIHJlZmFjdG9yIHNvIGFsbCBvZiB0aGVz
ZSBjb250ZW50IHR5cGVzIGFyZSBoYW5kbGVkIGJlZm9yZQorICAgICAgICB3ZSBpbml0aWFsaXpl
IHRoZSBwbHVnaW4gZGF0YWJhc2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KToKKwogMjAxMi0wMS0xMSAg
Sm9lbCBXZWJiZXIgIDxqZ3dAZ29vZ2xlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgc2V0Q3Vy
cmVudFRpbWUoKSBhbmQgcGF1c2VBbmltYXRpb25zKCkgb24gU1ZHU1ZHRWxlbWVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKaW5kZXggYmQ0MWIzMC4uNjQwNjVkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCkBAIC0zMTgsMzcgKzMx
OCw0NiBAQCBQYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9j
dW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZQogICAgIC8vIFBsdWdpbnMgY2Fubm90IHRh
a2UgSFRNTCBhbmQgWEhUTUwgZnJvbSB1cywgYW5kIHdlIGRvbid0IGV2ZW4gbmVlZCB0byBpbml0
aWFsaXplIHRoZSBwbHVnaW4gZGF0YWJhc2UgZm9yIHRob3NlLgogICAgIGlmICh0eXBlID09ICJ0
ZXh0L2h0bWwiKQogICAgICAgICByZXR1cm4gSFRNTERvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVy
bCk7CisKKyAgICAvLyBQbHVnaW5zIGNhbm5vdCB0YWtlIHRleHQvcGxhaW4gZnJvbSB1cyBlaXRo
ZXIuCisgICAgaWYgKHR5cGUgPT0gInRleHQvcGxhaW4iKQorICAgICAgICByZXR1cm4gVGV4dERv
Y3VtZW50OjpjcmVhdGUoZnJhbWUsIHVybCk7CisKICAgICBpZiAodHlwZSA9PSAiYXBwbGljYXRp
b24veGh0bWwreG1sIikKICAgICAgICAgcmV0dXJuIERvY3VtZW50OjpjcmVhdGVYSFRNTChmcmFt
ZSwgdXJsKTsKIAogI2lmIEVOQUJMRShGVFBESVIpCi0gICAgLy8gUGx1Z2lucyBjYW5ub3QgdGFr
ZSBGVFAgZnJvbSB1cyBlaXRoZXIKKyAgICAvLyBQbHVnaW5zIGNhbm5vdCB0YWtlIEZUUCBmcm9t
IHVzIGVpdGhlci4KICAgICBpZiAodHlwZSA9PSAiYXBwbGljYXRpb24veC1mdHAtZGlyZWN0b3J5
IikKICAgICAgICAgcmV0dXJuIEZUUERpcmVjdG9yeURvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVy
bCk7CiAjZW5kaWYKIAotICAgIFBsdWdpbkRhdGEqIHBsdWdpbkRhdGEgPSAwOwotICAgIGlmIChm
cmFtZSAmJiBmcmFtZS0+cGFnZSgpICYmIGZyYW1lLT5sb2FkZXIoKS0+c3ViZnJhbWVMb2FkZXIo
KS0+YWxsb3dQbHVnaW5zKE5vdEFib3V0VG9JbnN0YW50aWF0ZVBsdWdpbikpCi0gICAgICAgIHBs
dWdpbkRhdGEgPSBmcmFtZS0+cGFnZSgpLT5wbHVnaW5EYXRhKCk7Ci0KLSAgICAvLyBQREYgaXMg
b25lIGltYWdlIHR5cGUgZm9yIHdoaWNoIGEgcGx1Z2luIGNhbiBvdmVycmlkZSBidWlsdC1pbiBz
dXBwb3J0LgotICAgIC8vIFdlIGRvIG5vdCB3YW50IFF1aWNrVGltZSB0byB0YWtlIG92ZXIgYWxs
IGltYWdlIHR5cGVzLCBvYnZpb3VzbHkuCi0gICAgaWYgKCh0eXBlID09ICJhcHBsaWNhdGlvbi9w
ZGYiIHx8IHR5cGUgPT0gInRleHQvcGRmIikgJiYgcGx1Z2luRGF0YSAmJiBwbHVnaW5EYXRhLT5z
dXBwb3J0c01pbWVUeXBlKHR5cGUpKQotICAgICAgICByZXR1cm4gUGx1Z2luRG9jdW1lbnQ6OmNy
ZWF0ZShmcmFtZSwgdXJsKTsKLSAgICBpZiAoSW1hZ2U6OnN1cHBvcnRzVHlwZSh0eXBlKSkKKyAg
ICAvLyBQREYgaXMgdGhlIG9ubHkgaW1hZ2UgdHlwZSBmb3Igd2hpY2ggYSBwbHVnaW4gY2FuIG92
ZXJyaWRlIGJ1aWx0LWluIHN1cHBvcnQuCisgICAgaWYgKEltYWdlOjpzdXBwb3J0c1R5cGUodHlw
ZSkgJiYgdHlwZSAhPSAiYXBwbGljYXRpb24vcGRmIiAmJiB0eXBlICE9ICJ0ZXh0L3BkZiIpCiAg
ICAgICAgIHJldHVybiBJbWFnZURvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVybCk7CiAKICNpZiBF
TkFCTEUoVklERU8pCi0gICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgdHlwZSBjYW4gYmUgcGxh
eWVkIGJ5IG91ciBNZWRpYVBsYXllciwgaWYgc28gY3JlYXRlIGEgTWVkaWFEb2N1bWVudAorICAg
ICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIHR5cGUgY2FuIGJlIHBsYXllZCBieSBvdXIgTWVkaWFQ
bGF5ZXIsIGlmIHNvIGNyZWF0ZSBhIE1lZGlhRG9jdW1lbnQgYXMKKyAgICAgLy8gdGhpcyBjYW4g
bm90IGJlIHRha2VuIGJ5IHBsdWdpbnMgZWl0aGVyLgogICAgICBpZiAoTWVkaWFQbGF5ZXI6OnN1
cHBvcnRzVHlwZShDb250ZW50VHlwZSh0eXBlKSkpCiAgICAgICAgICByZXR1cm4gTWVkaWFEb2N1
bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOwogI2VuZGlmCiAKLSAgICAvLyBFdmVyeXRoaW5nIGVs
c2UgZXhjZXB0IHRleHQvcGxhaW4gY2FuIGJlIG92ZXJyaWRkZW4gYnkgcGx1Z2lucy4gSW4gcGFy
dGljdWxhciwgQWRvYmUgU1ZHIFZpZXdlciBzaG91bGQgYmUgdXNlZCBmb3IgU1ZHLCBpZiBpbnN0
YWxsZWQuCi0gICAgLy8gRGlzYWxsb3dpbmcgcGx1Zy1pbnMgdG8gdXNlIHRleHQvcGxhaW4gcHJl
dmVudHMgcGx1Zy1pbnMgZnJvbSBoaWphY2tpbmcgYSBmdW5kYW1lbnRhbCB0eXBlIHRoYXQgdGhl
IGJyb3dzZXIgaXMgZXhwZWN0ZWQgdG8gaGFuZGxlLAotICAgIC8vIGFuZCBhbHNvIHNlcnZlcyBh
cyBhbiBvcHRpbWl6YXRpb24gdG8gcHJldmVudCBsb2FkaW5nIHRoZSBwbHVnLWluIGRhdGFiYXNl
IGluIHRoZSBjb21tb24gY2FzZS4KLSAgICBpZiAodHlwZSAhPSAidGV4dC9wbGFpbiIgJiYgcGx1
Z2luRGF0YSAmJiBwbHVnaW5EYXRhLT5zdXBwb3J0c01pbWVUeXBlKHR5cGUpKSAKKyAgICAvLyBU
aGUgcGx1Z2luIGRhdGFiYXNlIGlzIGluaXRpYWxpemVkIGF0IHRoaXMgcG9pbnQgaWYgcGx1Z2lu
cyBhcmUgZW5hYmxlZAorICAgIC8vIHdoaWNoIGlzIG5vbi16ZXJvIG92ZXJoZWFkLgorICAgIFBs
dWdpbkRhdGEqIHBsdWdpbkRhdGEgPSAwOworICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+cGFnZSgp
ICYmIGZyYW1lLT5sb2FkZXIoKS0+c3ViZnJhbWVMb2FkZXIoKS0+YWxsb3dQbHVnaW5zKE5vdEFi
b3V0VG9JbnN0YW50aWF0ZVBsdWdpbikpCisgICAgICAgIHBsdWdpbkRhdGEgPSBmcmFtZS0+cGFn
ZSgpLT5wbHVnaW5EYXRhKCk7CisKKyAgICAvLyBBdCB0aGlzIHBvaW50IGFueXRoaW5nIHRoYXQg
Y2FuIGJlIHN1cHBvcnRlZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBwbHVnaW5zLgorICAgIGlmIChw
bHVnaW5EYXRhICYmIHBsdWdpbkRhdGEtPnN1cHBvcnRzTWltZVR5cGUodHlwZSkpCiAgICAgICAg
IHJldHVybiBQbHVnaW5Eb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOworCisgICAgLy8gSGFu
ZGxlIFBERiBmb3IgaW5zdGFuY2UgaWYgaXQgd2FzIG5vdCBoYW5kbGVkIGJ5IGEgcGx1Z2luLgor
ICAgIGlmIChJbWFnZTo6c3VwcG9ydHNUeXBlKHR5cGUpKQorICAgICAgICByZXR1cm4gSW1hZ2VE
b2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwpOworCisgICAgLy8gSGFuZGxlIGEgdGV4dCBkb2N1
bWVudCB3YXMgbm90IGhhbmRsZWQgYnkgYSBwbHVnaW4uCiAgICAgaWYgKGlzVGV4dE1JTUVUeXBl
KHR5cGUpKQogICAgICAgICByZXR1cm4gVGV4dERvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHVybCk7
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>