<?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>101646</bug_id>
          
          <creation_ts>2012-11-08 14:34:17 -0800</creation_ts>
          <short_desc>[BlackBerry] Disable cookies on file://</short_desc>
          <delta_ts>2012-11-08 15:50:34 -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>WebKit BlackBerry</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>0</everconfirmed>
          <reporter>otcheung</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>762186</commentid>
    <comment_count>0</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 14:34:17 -0800</bug_when>
    <thetext>Disabling cookies on file:// on browser app</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762199</commentid>
    <comment_count>1</comment_count>
      <attachid>173121</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 14:42:11 -0800</bug_when>
    <thetext>Created attachment 173121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762203</commentid>
    <comment_count>2</comment_count>
      <attachid>173123</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 14:47:41 -0800</bug_when>
    <thetext>Created attachment 173123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762213</commentid>
    <comment_count>3</comment_count>
      <attachid>173123</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-08 14:54:30 -0800</bug_when>
    <thetext>Comment on attachment 173123
Patch

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

Almost there.

&gt; Source/WebCore/platform/blackberry/CookieManager.cpp:129
&gt; +static bool shouldIgnoreScheme(const String protocol)

Use &amp;.

&gt; Source/WebCore/platform/blackberry/CookieManager.cpp:243
&gt; +    // We only want to enable them if the webworks app enabled a flag for it (m_shouldDumpAllCookies)

Periods at end of sentences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762216</commentid>
    <comment_count>4</comment_count>
      <attachid>173127</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 14:57:52 -0800</bug_when>
    <thetext>Created attachment 173127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762219</commentid>
    <comment_count>5</comment_count>
      <attachid>173127</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-08 15:04:36 -0800</bug_when>
    <thetext>Comment on attachment 173127
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762223</commentid>
    <comment_count>6</comment_count>
      <attachid>173128</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 15:08:33 -0800</bug_when>
    <thetext>Created attachment 173128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762228</commentid>
    <comment_count>7</comment_count>
      <attachid>173131</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-11-08 15:13:16 -0800</bug_when>
    <thetext>Created attachment 173131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762230</commentid>
    <comment_count>8</comment_count>
      <attachid>173131</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-08 15:13:55 -0800</bug_when>
    <thetext>Comment on attachment 173131
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762263</commentid>
    <comment_count>9</comment_count>
      <attachid>173131</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-08 15:50:31 -0800</bug_when>
    <thetext>Comment on attachment 173131
Patch

Clearing flags on attachment: 173131

Committed r133964: &lt;http://trac.webkit.org/changeset/133964&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762264</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-08 15:50:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173121</attachid>
            <date>2012-11-08 14:42:11 -0800</date>
            <delta_ts>2012-11-08 14:47:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101646-20121108174020.patch</filename>
            <type>text/plain</type>
            <size>5712</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNlZWVmYjdlY2MzZTg1
MDNiODg0ZWExMDYwMGM4NzI4ZDA5MzBlZS4uOTM3ODk5MTZkMjM1YmJkMTA3NWM0Y2IzOTA2YjQ0
NjRlYmYyZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTA4ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IERpc2FibGUgY29va2llcyBvbiBmaWxlOi8vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEaXNhYmxpbmcgY29va2llcyBvbiBmaWxlIGFuZCBsb2NhbCBp
biB0aGUgYnJvd3NlciBhcHAuCisKKyAgICAgICAgUFIgMjM5Nzc5CisKKyAgICAgICAgVGVzdGVk
IGJ5IHRyeWluZyB0byBzZXQgYW5kIHJldHJpZXZlIGNvb2tpZXMgb24gV0kgd2hpbGUgYnJvd3Np
bmcKKyAgICAgICAgZmlsZXMgb24gdGhlIGZpbGUgc2NoZW1lLgorCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2hvdWxkSWdub3JlU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
b2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZSk6CisKIDIwMTItMTEtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBET01JbXBsZW1lbnRhdGlvbiBzaG91bGQgdXNl
IFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZjI1NTQ5NDFiN2VlZTgzMmJiODg3MjQ1MTgx
M2FlYzE5MWVjMjg0NS4uMWMzNjVhOWJkODM0NWIzYmQ2N2FmMjViNTdhMmI1OGYyNDFmMzdhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuY3BwCkBAIC0xMjUsNiArMTI1LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZElnbm9yZURv
bWFpbihjb25zdCBTdHJpbmcgcHJvdG9jb2wpCiAgICAgcmV0dXJuIHByb3RvY29sID09ICJmaWxl
IiB8fCBwcm90b2NvbCA9PSAibG9jYWwiOwogfQogCisvLyBSZXR1cm4gd2hldGhlciB3ZSBzaG91
bGQgaWdub3JlIHRoZSBzY2hlbWUKK3N0YXRpYyBib29sIHNob3VsZElnbm9yZVNjaGVtZShjb25z
dCBTdHJpbmcgcHJvdG9jb2wpCit7CisgICAgLy8gV2Ugd2FudCB0byBpZ25vcmUgZmlsZSBhbmQg
bG9jYWwgc2NoZW1lcworICAgIHJldHVybiBwcm90b2NvbCA9PSAiZmlsZSIgfHwgcHJvdG9jb2wg
PT0gImxvY2FsIjsKK30KKwogdm9pZCBDb29raWVNYW5hZ2VyOjpzZXRDb29raWVzKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgQ29va2llRmlsdGVyIGZpbHRlcikKIHsKICAg
ICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBTZXR0aW5nIGNvb2tpZXMiKTsKQEAgLTIxMiw4
ICsyMTksOSBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNl
ZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogewogICAgIENvb2tpZUxvZygiQ29v
a2llTWFuYWdlciAtIGdldFJhd0Nvb2tpZXMgLSBwcm9jZXNzaW5nIHVybCB3aXRoIGRvbWFpbiAt
ICVzICYgcHJvdG9jb2w6ICVzICYgcGF0aDogJXNcbiIsIHJlcXVlc3RVUkwuaG9zdCgpLnV0Zjgo
KS5kYXRhKCksIHJlcXVlc3RVUkwucHJvdG9jb2woKS51dGY4KCkuZGF0YSgpLCByZXF1ZXN0VVJM
LnBhdGgoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIGJvb2wgc3BlY2lhbENhc2VGb3JMb2NhbCA9
IChyZXF1ZXN0VVJMLnByb3RvY29sSXMoImxvY2FsIikgfHwgcmVxdWVzdFVSTC5wcm90b2NvbElz
KCJmaWxlIikpICYmIG1fc2hvdWxkRHVtcEFsbENvb2tpZXM7Ci0gICAgYm9vbCBpc0Nvbm5lY3Rp
b25TZWN1cmUgPSByZXF1ZXN0VVJMLnByb3RvY29sSXMoImh0dHBzIikgfHwgcmVxdWVzdFVSTC5w
cm90b2NvbElzKCJ3c3MiKSB8fCBzcGVjaWFsQ2FzZUZvckxvY2FsOworICAgIGNvbnN0IGJvb2wg
aW52YWxpZFNjaGVtZSA9IHNob3VsZElnbm9yZVNjaGVtZShyZXF1ZXN0VVJMLnByb3RvY29sKCkp
OworICAgIGNvbnN0IGJvb2wgc3BlY2lhbENhc2VGb3JXZWJXb3JrcyA9IGludmFsaWRTY2hlbWUg
JiYgbV9zaG91bGREdW1wQWxsQ29va2llczsKKyAgICBjb25zdCBib29sIGlzQ29ubmVjdGlvblNl
Y3VyZSA9IHJlcXVlc3RVUkwucHJvdG9jb2xJcygiaHR0cHMiKSB8fCByZXF1ZXN0VVJMLnByb3Rv
Y29sSXMoIndzcyIpIHx8IHNwZWNpYWxDYXNlRm9yV2ViV29ya3M7CiAKICAgICBWZWN0b3I8UGFy
c2VkQ29va2llKj4gY29va2llQ2FuZGlkYXRlczsKICAgICBWZWN0b3I8Q29va2llTWFwKj4gcHJv
dG9jb2xzVG9TZWFyY2g7CkBAIC0yMzAsOCArMjM4LDEzIEBAIHZvaWQgQ29va2llTWFuYWdlcjo6
Z2V0UmF3Q29va2llcyhWZWN0b3I8UGFyc2VkQ29va2llKj4gJnN0YWNrT2ZDb29raWVzLCBjb25z
dCBLCiAgICAgICAgICAgICB0YXJnZXRNYXAgPSBtX21hbmFnZXJNYXAuZ2V0KCJ3cyIpOwogICAg
IH0KIAotICAgIGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKQorICAgIC8vIERlY2lkZSB3aGljaCBz
Y2hlbWUgdHJlZSB3ZSBzaG91bGQgbG9vayBhdAorICAgIC8vIENvb2tpZXMgYXJlIGRpc2FibGVk
IG9uIGNlcnRhaW4gc2NoZW1lcyAoZmlsZSBhbmQgbG9jYWwpCisgICAgLy8gV2Ugb25seSB3YW50
IHRvIGVuYWJsZSB0aGVtIGlmIHRoZSB3ZWJ3b3JrcyBhcHAgZW5hYmxlZCBhIGZsYWcgZm9yIGl0
IChtX3Nob3VsZER1bXBBbGxDb29raWVzKQorICAgIGlmIChzcGVjaWFsQ2FzZUZvcldlYldvcmtz
KQogICAgICAgICBjb3B5VmFsdWVzVG9WZWN0b3IobV9tYW5hZ2VyTWFwLCBwcm90b2NvbHNUb1Nl
YXJjaCk7CisgICAgZWxzZSBpZiAoaW52YWxpZFNjaGVtZSkKKyAgICAgICAgcmV0dXJuOwogICAg
IGVsc2UgewogICAgICAgICBwcm90b2NvbHNUb1NlYXJjaC5hcHBlbmQodGFyZ2V0TWFwKTsKICAg
ICAgICAgLy8gRklYTUU6IHRoaXMgaXMgYSBoYWNrIGZvciB3ZWJ3b3JrcyBhcHBzOyBSRkMgNjI2
NSBzYXlzICJDb29raWVzIGRvIG5vdCBwcm92aWRlIGlzb2xhdGlvbiBieSBzY2hlbWUiCkBAIC0y
NjQsNyArMjc3LDcgQEAgdm9pZCBDb29raWVNYW5hZ2VyOjpnZXRSYXdDb29raWVzKFZlY3RvcjxQ
YXJzZWRDb29raWUqPiAmc3RhY2tPZkNvb2tpZXMsIGNvbnN0IEsKICAgICAgICAgQ29va2llTG9n
KCJDb29raWVNYW5hZ2VyIC0gbG9va2luZyBhdCBwcm90b2NvbCBtYXAgJXMgXG4iLCBjdXJyZW50
TWFwLT5nZXROYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICAgICAgLy8gU3BlY2lhbCBjYXNl
IGZvciBsb2NhbCBhbmQgZmlsZXMgLSBiZWNhdXNlIFdlYkFwcHMgZXhwZWN0IHRvIGdldCBBTEwg
Y29va2llcyBmcm9tIHRoZSBiYWNraW5nLXN0b3JlIG9uIGxvY2FsIHByb3RvY29sCi0gICAgICAg
IGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKSB7CisgICAgICAgIGlmIChzcGVjaWFsQ2FzZUZvcldl
YldvcmtzKSB7CiAgICAgICAgICAgICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBzcGVjaWFs
IGNhc2UgZmluZCBpbiBwcm90b2NvbCBtYXAgLSAlc1xuIiwgY3VycmVudE1hcC0+Z2V0TmFtZSgp
LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgY3VycmVudE1hcC0+Z2V0QWxsQ2hpbGRDb29r
aWVzKCZjb29raWVDYW5kaWRhdGVzKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTMwMCw3ICszMTMs
NyBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNlZENvb2tp
ZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdD
YXNlKHBhdGgsIHJlcXVlc3RVUkwucGF0aCgpKSAmJiAhcGF0aC5lbmRzV2l0aCgiLyIsIGZhbHNl
KSkKICAgICAgICAgICAgIHBhdGggPSBwYXRoICsgIi8iOwogCi0gICAgICAgIC8vIE9ubHkgc2Vj
dXJlIGNvbm5lY3Rpb25zIGhhdmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3Bl
Y2lhbENhc2VGb3JMb2NhbCBpcyB0cnVlCisgICAgICAgIC8vIE9ubHkgc2VjdXJlIGNvbm5lY3Rp
b25zIGhhdmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3BlY2lhbENhc2VGb3JX
ZWJXb3JrcyBpcyB0cnVlCiAgICAgICAgIC8vIEdldCB0aGUgY29va2llcyBmaWx0ZXJpbmcgb3V0
IEh0dHBPbmx5IGNvb2tpZXMgaWYgcmVxdWVzdGVkLgogICAgICAgICBpZiAocmVxdWVzdFVSTC5w
YXRoKCkuc3RhcnRzV2l0aChwYXRoLCBmYWxzZSkgJiYgKGlzQ29ubmVjdGlvblNlY3VyZSB8fCAh
Y29va2llLT5pc1NlY3VyZSgpKSAmJiAoZmlsdGVyID09IFdpdGhIdHRwT25seUNvb2tpZXMgfHwg
IWNvb2tpZS0+aXNIdHRwT25seSgpKSkgewogICAgICAgICAgICAgQ29va2llTG9nKCJDb29raWVN
YW5hZ2VyIC0gY29va2llIGNob3NlbiAtICVzXG4iLCBjb29raWUtPnRvU3RyaW5nKCkudXRmOCgp
LmRhdGEoKSk7CkBAIC0zMzQsOCArMzQ3LDEwIEBAIHZvaWQgQ29va2llTWFuYWdlcjo6Y2hlY2tB
bmRUcmVhdENvb2tpZShQYXJzZWRDb29raWUqIGNhbmRpZGF0ZUNvb2tpZSwgQmFja2luZ1N0CiB7
CiAgICAgQ29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gY2hlY2tBbmRUcmVhdENvb2tpZSAtIHBy
b2Nlc3NpbmcgdXJsIHdpdGggZG9tYWluIC0gJXMgJiBwcm90b2NvbCAlc1xuIiwgY2FuZGlkYXRl
Q29va2llLT5kb21haW4oKS51dGY4KCkuZGF0YSgpLCBjYW5kaWRhdGVDb29raWUtPnByb3RvY29s
KCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAvLyBBIGNvb2tpZSB3aGljaCBpcyBub3QgZnJvbSBo
dHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCi0gICAgaWYgKGZpbHRlciA9
PSBOb0h0dHBPbmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB7Cisg
ICAgLy8gRGVsZXRlIGludmFsaWQgY29va2llczoKKyAgICAvLyAxKSBBIGNvb2tpZSB3aGljaCBp
cyBub3QgZnJvbSBodHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCisgICAg
Ly8gMikgQ29va2llcyBjb21pbmcgZnJvbSBzY2hlbWVzIHRoYXQgd2UgZG8gbm90IHN1cHBvcnQg
YW5kIHRoZSBzcGVjaWFsIGZsYWcgaXNuJ3Qgb24KKyAgICBpZiAoKGZpbHRlciA9PSBOb0h0dHBP
bmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB8fCAoc2hvdWxkSWdu
b3JlU2NoZW1lKGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSkgJiYgbV9zaG91bGREdW1wQWxs
Q29va2llcykpIHsKICAgICAgICAgZGVsZXRlIGNhbmRpZGF0ZUNvb2tpZTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173123</attachid>
            <date>2012-11-08 14:47:41 -0800</date>
            <delta_ts>2012-11-08 14:57:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101646-20121108174550.patch</filename>
            <type>text/plain</type>
            <size>5713</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNlZWVmYjdlY2MzZTg1
MDNiODg0ZWExMDYwMGM4NzI4ZDA5MzBlZS4uOTM3ODk5MTZkMjM1YmJkMTA3NWM0Y2IzOTA2YjQ0
NjRlYmYyZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTA4ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IERpc2FibGUgY29va2llcyBvbiBmaWxlOi8vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEaXNhYmxpbmcgY29va2llcyBvbiBmaWxlIGFuZCBsb2NhbCBp
biB0aGUgYnJvd3NlciBhcHAuCisKKyAgICAgICAgUFIgMjM5Nzc5CisKKyAgICAgICAgVGVzdGVk
IGJ5IHRyeWluZyB0byBzZXQgYW5kIHJldHJpZXZlIGNvb2tpZXMgb24gV0kgd2hpbGUgYnJvd3Np
bmcKKyAgICAgICAgZmlsZXMgb24gdGhlIGZpbGUgc2NoZW1lLgorCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2hvdWxkSWdub3JlU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
b2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZSk6CisKIDIwMTItMTEtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBET01JbXBsZW1lbnRhdGlvbiBzaG91bGQgdXNl
IFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZjI1NTQ5NDFiN2VlZTgzMmJiODg3MjQ1MTgx
M2FlYzE5MWVjMjg0NS4uMjY3NTZiZWVhNDdlNzQyMjY5ZjE0ZTk0MTQxMWFmMjYxYThiNDJlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuY3BwCkBAIC0xMjUsNiArMTI1LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZElnbm9yZURv
bWFpbihjb25zdCBTdHJpbmcgcHJvdG9jb2wpCiAgICAgcmV0dXJuIHByb3RvY29sID09ICJmaWxl
IiB8fCBwcm90b2NvbCA9PSAibG9jYWwiOwogfQogCisvLyBSZXR1cm4gd2hldGhlciB3ZSBzaG91
bGQgaWdub3JlIHRoZSBzY2hlbWUKK3N0YXRpYyBib29sIHNob3VsZElnbm9yZVNjaGVtZShjb25z
dCBTdHJpbmcgcHJvdG9jb2wpCit7CisgICAgLy8gV2Ugd2FudCB0byBpZ25vcmUgZmlsZSBhbmQg
bG9jYWwgc2NoZW1lcworICAgIHJldHVybiBwcm90b2NvbCA9PSAiZmlsZSIgfHwgcHJvdG9jb2wg
PT0gImxvY2FsIjsKK30KKwogdm9pZCBDb29raWVNYW5hZ2VyOjpzZXRDb29raWVzKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgQ29va2llRmlsdGVyIGZpbHRlcikKIHsKICAg
ICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBTZXR0aW5nIGNvb2tpZXMiKTsKQEAgLTIxMiw4
ICsyMTksOSBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNl
ZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogewogICAgIENvb2tpZUxvZygiQ29v
a2llTWFuYWdlciAtIGdldFJhd0Nvb2tpZXMgLSBwcm9jZXNzaW5nIHVybCB3aXRoIGRvbWFpbiAt
ICVzICYgcHJvdG9jb2w6ICVzICYgcGF0aDogJXNcbiIsIHJlcXVlc3RVUkwuaG9zdCgpLnV0Zjgo
KS5kYXRhKCksIHJlcXVlc3RVUkwucHJvdG9jb2woKS51dGY4KCkuZGF0YSgpLCByZXF1ZXN0VVJM
LnBhdGgoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIGJvb2wgc3BlY2lhbENhc2VGb3JMb2NhbCA9
IChyZXF1ZXN0VVJMLnByb3RvY29sSXMoImxvY2FsIikgfHwgcmVxdWVzdFVSTC5wcm90b2NvbElz
KCJmaWxlIikpICYmIG1fc2hvdWxkRHVtcEFsbENvb2tpZXM7Ci0gICAgYm9vbCBpc0Nvbm5lY3Rp
b25TZWN1cmUgPSByZXF1ZXN0VVJMLnByb3RvY29sSXMoImh0dHBzIikgfHwgcmVxdWVzdFVSTC5w
cm90b2NvbElzKCJ3c3MiKSB8fCBzcGVjaWFsQ2FzZUZvckxvY2FsOworICAgIGNvbnN0IGJvb2wg
aW52YWxpZFNjaGVtZSA9IHNob3VsZElnbm9yZVNjaGVtZShyZXF1ZXN0VVJMLnByb3RvY29sKCkp
OworICAgIGNvbnN0IGJvb2wgc3BlY2lhbENhc2VGb3JXZWJXb3JrcyA9IGludmFsaWRTY2hlbWUg
JiYgbV9zaG91bGREdW1wQWxsQ29va2llczsKKyAgICBjb25zdCBib29sIGlzQ29ubmVjdGlvblNl
Y3VyZSA9IHJlcXVlc3RVUkwucHJvdG9jb2xJcygiaHR0cHMiKSB8fCByZXF1ZXN0VVJMLnByb3Rv
Y29sSXMoIndzcyIpIHx8IHNwZWNpYWxDYXNlRm9yV2ViV29ya3M7CiAKICAgICBWZWN0b3I8UGFy
c2VkQ29va2llKj4gY29va2llQ2FuZGlkYXRlczsKICAgICBWZWN0b3I8Q29va2llTWFwKj4gcHJv
dG9jb2xzVG9TZWFyY2g7CkBAIC0yMzAsOCArMjM4LDEzIEBAIHZvaWQgQ29va2llTWFuYWdlcjo6
Z2V0UmF3Q29va2llcyhWZWN0b3I8UGFyc2VkQ29va2llKj4gJnN0YWNrT2ZDb29raWVzLCBjb25z
dCBLCiAgICAgICAgICAgICB0YXJnZXRNYXAgPSBtX21hbmFnZXJNYXAuZ2V0KCJ3cyIpOwogICAg
IH0KIAotICAgIGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKQorICAgIC8vIERlY2lkZSB3aGljaCBz
Y2hlbWUgdHJlZSB3ZSBzaG91bGQgbG9vayBhdAorICAgIC8vIENvb2tpZXMgYXJlIGRpc2FibGVk
IG9uIGNlcnRhaW4gc2NoZW1lcyAoZmlsZSBhbmQgbG9jYWwpCisgICAgLy8gV2Ugb25seSB3YW50
IHRvIGVuYWJsZSB0aGVtIGlmIHRoZSB3ZWJ3b3JrcyBhcHAgZW5hYmxlZCBhIGZsYWcgZm9yIGl0
IChtX3Nob3VsZER1bXBBbGxDb29raWVzKQorICAgIGlmIChzcGVjaWFsQ2FzZUZvcldlYldvcmtz
KQogICAgICAgICBjb3B5VmFsdWVzVG9WZWN0b3IobV9tYW5hZ2VyTWFwLCBwcm90b2NvbHNUb1Nl
YXJjaCk7CisgICAgZWxzZSBpZiAoaW52YWxpZFNjaGVtZSkKKyAgICAgICAgcmV0dXJuOwogICAg
IGVsc2UgewogICAgICAgICBwcm90b2NvbHNUb1NlYXJjaC5hcHBlbmQodGFyZ2V0TWFwKTsKICAg
ICAgICAgLy8gRklYTUU6IHRoaXMgaXMgYSBoYWNrIGZvciB3ZWJ3b3JrcyBhcHBzOyBSRkMgNjI2
NSBzYXlzICJDb29raWVzIGRvIG5vdCBwcm92aWRlIGlzb2xhdGlvbiBieSBzY2hlbWUiCkBAIC0y
NjQsNyArMjc3LDcgQEAgdm9pZCBDb29raWVNYW5hZ2VyOjpnZXRSYXdDb29raWVzKFZlY3RvcjxQ
YXJzZWRDb29raWUqPiAmc3RhY2tPZkNvb2tpZXMsIGNvbnN0IEsKICAgICAgICAgQ29va2llTG9n
KCJDb29raWVNYW5hZ2VyIC0gbG9va2luZyBhdCBwcm90b2NvbCBtYXAgJXMgXG4iLCBjdXJyZW50
TWFwLT5nZXROYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICAgICAgLy8gU3BlY2lhbCBjYXNl
IGZvciBsb2NhbCBhbmQgZmlsZXMgLSBiZWNhdXNlIFdlYkFwcHMgZXhwZWN0IHRvIGdldCBBTEwg
Y29va2llcyBmcm9tIHRoZSBiYWNraW5nLXN0b3JlIG9uIGxvY2FsIHByb3RvY29sCi0gICAgICAg
IGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKSB7CisgICAgICAgIGlmIChzcGVjaWFsQ2FzZUZvcldl
YldvcmtzKSB7CiAgICAgICAgICAgICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBzcGVjaWFs
IGNhc2UgZmluZCBpbiBwcm90b2NvbCBtYXAgLSAlc1xuIiwgY3VycmVudE1hcC0+Z2V0TmFtZSgp
LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgY3VycmVudE1hcC0+Z2V0QWxsQ2hpbGRDb29r
aWVzKCZjb29raWVDYW5kaWRhdGVzKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTMwMCw3ICszMTMs
NyBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNlZENvb2tp
ZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdD
YXNlKHBhdGgsIHJlcXVlc3RVUkwucGF0aCgpKSAmJiAhcGF0aC5lbmRzV2l0aCgiLyIsIGZhbHNl
KSkKICAgICAgICAgICAgIHBhdGggPSBwYXRoICsgIi8iOwogCi0gICAgICAgIC8vIE9ubHkgc2Vj
dXJlIGNvbm5lY3Rpb25zIGhhdmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3Bl
Y2lhbENhc2VGb3JMb2NhbCBpcyB0cnVlCisgICAgICAgIC8vIE9ubHkgc2VjdXJlIGNvbm5lY3Rp
b25zIGhhdmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3BlY2lhbENhc2VGb3JX
ZWJXb3JrcyBpcyB0cnVlCiAgICAgICAgIC8vIEdldCB0aGUgY29va2llcyBmaWx0ZXJpbmcgb3V0
IEh0dHBPbmx5IGNvb2tpZXMgaWYgcmVxdWVzdGVkLgogICAgICAgICBpZiAocmVxdWVzdFVSTC5w
YXRoKCkuc3RhcnRzV2l0aChwYXRoLCBmYWxzZSkgJiYgKGlzQ29ubmVjdGlvblNlY3VyZSB8fCAh
Y29va2llLT5pc1NlY3VyZSgpKSAmJiAoZmlsdGVyID09IFdpdGhIdHRwT25seUNvb2tpZXMgfHwg
IWNvb2tpZS0+aXNIdHRwT25seSgpKSkgewogICAgICAgICAgICAgQ29va2llTG9nKCJDb29raWVN
YW5hZ2VyIC0gY29va2llIGNob3NlbiAtICVzXG4iLCBjb29raWUtPnRvU3RyaW5nKCkudXRmOCgp
LmRhdGEoKSk7CkBAIC0zMzQsOCArMzQ3LDEwIEBAIHZvaWQgQ29va2llTWFuYWdlcjo6Y2hlY2tB
bmRUcmVhdENvb2tpZShQYXJzZWRDb29raWUqIGNhbmRpZGF0ZUNvb2tpZSwgQmFja2luZ1N0CiB7
CiAgICAgQ29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gY2hlY2tBbmRUcmVhdENvb2tpZSAtIHBy
b2Nlc3NpbmcgdXJsIHdpdGggZG9tYWluIC0gJXMgJiBwcm90b2NvbCAlc1xuIiwgY2FuZGlkYXRl
Q29va2llLT5kb21haW4oKS51dGY4KCkuZGF0YSgpLCBjYW5kaWRhdGVDb29raWUtPnByb3RvY29s
KCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAvLyBBIGNvb2tpZSB3aGljaCBpcyBub3QgZnJvbSBo
dHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCi0gICAgaWYgKGZpbHRlciA9
PSBOb0h0dHBPbmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB7Cisg
ICAgLy8gRGVsZXRlIGludmFsaWQgY29va2llczoKKyAgICAvLyAxKSBBIGNvb2tpZSB3aGljaCBp
cyBub3QgZnJvbSBodHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCisgICAg
Ly8gMikgQ29va2llcyBjb21pbmcgZnJvbSBzY2hlbWVzIHRoYXQgd2UgZG8gbm90IHN1cHBvcnQg
YW5kIHRoZSBzcGVjaWFsIGZsYWcgaXNuJ3Qgb24KKyAgICBpZiAoKGZpbHRlciA9PSBOb0h0dHBP
bmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB8fCAoc2hvdWxkSWdu
b3JlU2NoZW1lKGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSkgJiYgIW1fc2hvdWxkRHVtcEFs
bENvb2tpZXMpKSB7CiAgICAgICAgIGRlbGV0ZSBjYW5kaWRhdGVDb29raWU7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173127</attachid>
            <date>2012-11-08 14:57:52 -0800</date>
            <delta_ts>2012-11-08 15:08:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101646-20121108175601.patch</filename>
            <type>text/plain</type>
            <size>5935</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNlZWVmYjdlY2MzZTg1
MDNiODg0ZWExMDYwMGM4NzI4ZDA5MzBlZS4uOTM3ODk5MTZkMjM1YmJkMTA3NWM0Y2IzOTA2YjQ0
NjRlYmYyZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTA4ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IERpc2FibGUgY29va2llcyBvbiBmaWxlOi8vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEaXNhYmxpbmcgY29va2llcyBvbiBmaWxlIGFuZCBsb2NhbCBp
biB0aGUgYnJvd3NlciBhcHAuCisKKyAgICAgICAgUFIgMjM5Nzc5CisKKyAgICAgICAgVGVzdGVk
IGJ5IHRyeWluZyB0byBzZXQgYW5kIHJldHJpZXZlIGNvb2tpZXMgb24gV0kgd2hpbGUgYnJvd3Np
bmcKKyAgICAgICAgZmlsZXMgb24gdGhlIGZpbGUgc2NoZW1lLgorCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2hvdWxkSWdub3JlU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
b2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZSk6CisKIDIwMTItMTEtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBET01JbXBsZW1lbnRhdGlvbiBzaG91bGQgdXNl
IFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZjI1NTQ5NDFiN2VlZTgzMmJiODg3MjQ1MTgx
M2FlYzE5MWVjMjg0NS4uZjE4ZTMwY2Q2ZTVjZWJkNzhkYjhjMTgyYjY2NzM1MjczZTMyMDA1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuY3BwCkBAIC0xMTksMTIgKzExOSwxOSBAQCBzdGF0aWMgYm9vbCBjb29raWVTb3J0ZXIo
UGFyc2VkQ29va2llKiBhLCBQYXJzZWRDb29raWUqIGIpCiB9CiAKIC8vIFJldHVybnMgd2hldGhl
ciB0aGUgcHJvdG9jb2wgc3VwcG9ydHMgZG9tYWlucwotc3RhdGljIGJvb2wgc2hvdWxkSWdub3Jl
RG9tYWluKGNvbnN0IFN0cmluZyBwcm90b2NvbCkKK3N0YXRpYyBib29sIHNob3VsZElnbm9yZURv
bWFpbihjb25zdCBTdHJpbmcmIHByb3RvY29sKQogewogICAgIC8vIGlnbm9yZSBkb21haW4gc2Vj
dXJpdHkgZm9yIGZpbGUgYW5kIGxvY2FsCiAgICAgcmV0dXJuIHByb3RvY29sID09ICJmaWxlIiB8
fCBwcm90b2NvbCA9PSAibG9jYWwiOwogfQogCisvLyBSZXR1cm4gd2hldGhlciB3ZSBzaG91bGQg
aWdub3JlIHRoZSBzY2hlbWUKK3N0YXRpYyBib29sIHNob3VsZElnbm9yZVNjaGVtZShjb25zdCBT
dHJpbmcmIHByb3RvY29sKQoreworICAgIC8vIFdlIHdhbnQgdG8gaWdub3JlIGZpbGUgYW5kIGxv
Y2FsIHNjaGVtZXMKKyAgICByZXR1cm4gcHJvdG9jb2wgPT0gImZpbGUiIHx8IHByb3RvY29sID09
ICJsb2NhbCI7Cit9CisKIHZvaWQgQ29va2llTWFuYWdlcjo6c2V0Q29va2llcyhjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgdmFsdWUsIENvb2tpZUZpbHRlciBmaWx0ZXIpCiB7CiAgICAg
Q29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gU2V0dGluZyBjb29raWVzIik7CkBAIC0yMTIsOCAr
MjE5LDkgQEAgdm9pZCBDb29raWVNYW5hZ2VyOjpnZXRSYXdDb29raWVzKFZlY3RvcjxQYXJzZWRD
b29raWUqPiAmc3RhY2tPZkNvb2tpZXMsIGNvbnN0IEsKIHsKICAgICBDb29raWVMb2coIkNvb2tp
ZU1hbmFnZXIgLSBnZXRSYXdDb29raWVzIC0gcHJvY2Vzc2luZyB1cmwgd2l0aCBkb21haW4gLSAl
cyAmIHByb3RvY29sOiAlcyAmIHBhdGg6ICVzXG4iLCByZXF1ZXN0VVJMLmhvc3QoKS51dGY4KCku
ZGF0YSgpLCByZXF1ZXN0VVJMLnByb3RvY29sKCkudXRmOCgpLmRhdGEoKSwgcmVxdWVzdFVSTC5w
YXRoKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBib29sIHNwZWNpYWxDYXNlRm9yTG9jYWwgPSAo
cmVxdWVzdFVSTC5wcm90b2NvbElzKCJsb2NhbCIpIHx8IHJlcXVlc3RVUkwucHJvdG9jb2xJcygi
ZmlsZSIpKSAmJiBtX3Nob3VsZER1bXBBbGxDb29raWVzOwotICAgIGJvb2wgaXNDb25uZWN0aW9u
U2VjdXJlID0gcmVxdWVzdFVSTC5wcm90b2NvbElzKCJodHRwcyIpIHx8IHJlcXVlc3RVUkwucHJv
dG9jb2xJcygid3NzIikgfHwgc3BlY2lhbENhc2VGb3JMb2NhbDsKKyAgICBjb25zdCBib29sIGlu
dmFsaWRTY2hlbWUgPSBzaG91bGRJZ25vcmVTY2hlbWUocmVxdWVzdFVSTC5wcm90b2NvbCgpKTsK
KyAgICBjb25zdCBib29sIHNwZWNpYWxDYXNlRm9yV2ViV29ya3MgPSBpbnZhbGlkU2NoZW1lICYm
IG1fc2hvdWxkRHVtcEFsbENvb2tpZXM7CisgICAgY29uc3QgYm9vbCBpc0Nvbm5lY3Rpb25TZWN1
cmUgPSByZXF1ZXN0VVJMLnByb3RvY29sSXMoImh0dHBzIikgfHwgcmVxdWVzdFVSTC5wcm90b2Nv
bElzKCJ3c3MiKSB8fCBzcGVjaWFsQ2FzZUZvcldlYldvcmtzOwogCiAgICAgVmVjdG9yPFBhcnNl
ZENvb2tpZSo+IGNvb2tpZUNhbmRpZGF0ZXM7CiAgICAgVmVjdG9yPENvb2tpZU1hcCo+IHByb3Rv
Y29sc1RvU2VhcmNoOwpAQCAtMjMwLDggKzIzOCwxMyBAQCB2b2lkIENvb2tpZU1hbmFnZXI6Omdl
dFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3Qg
SwogICAgICAgICAgICAgdGFyZ2V0TWFwID0gbV9tYW5hZ2VyTWFwLmdldCgid3MiKTsKICAgICB9
CiAKLSAgICBpZiAoc3BlY2lhbENhc2VGb3JMb2NhbCkKKyAgICAvLyBEZWNpZGUgd2hpY2ggc2No
ZW1lIHRyZWUgd2Ugc2hvdWxkIGxvb2sgYXQuCisgICAgLy8gUmV0dXJuIG9uIGludmFsaWQgc2No
ZW1lcy4gY29va2llcyBhcmUgY3VycmVudGx5IGRpc2FibGVkIG9uIGZpbGUgYW5kIGxvY2FsLgor
ICAgIC8vIFdlIG9ubHkgd2FudCB0byBlbmFibGUgdGhlbSBmb3IgV2ViV29ya3MgdGhhdCBlbmFi
bGVkIGEgc3BlY2lhbCBmbGFnLgorICAgIGlmIChzcGVjaWFsQ2FzZUZvcldlYldvcmtzKQogICAg
ICAgICBjb3B5VmFsdWVzVG9WZWN0b3IobV9tYW5hZ2VyTWFwLCBwcm90b2NvbHNUb1NlYXJjaCk7
CisgICAgZWxzZSBpZiAoaW52YWxpZFNjaGVtZSkKKyAgICAgICAgcmV0dXJuOwogICAgIGVsc2Ug
ewogICAgICAgICBwcm90b2NvbHNUb1NlYXJjaC5hcHBlbmQodGFyZ2V0TWFwKTsKICAgICAgICAg
Ly8gRklYTUU6IHRoaXMgaXMgYSBoYWNrIGZvciB3ZWJ3b3JrcyBhcHBzOyBSRkMgNjI2NSBzYXlz
ICJDb29raWVzIGRvIG5vdCBwcm92aWRlIGlzb2xhdGlvbiBieSBzY2hlbWUiCkBAIC0yNjQsNyAr
Mjc3LDcgQEAgdm9pZCBDb29raWVNYW5hZ2VyOjpnZXRSYXdDb29raWVzKFZlY3RvcjxQYXJzZWRD
b29raWUqPiAmc3RhY2tPZkNvb2tpZXMsIGNvbnN0IEsKICAgICAgICAgQ29va2llTG9nKCJDb29r
aWVNYW5hZ2VyIC0gbG9va2luZyBhdCBwcm90b2NvbCBtYXAgJXMgXG4iLCBjdXJyZW50TWFwLT5n
ZXROYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciBs
b2NhbCBhbmQgZmlsZXMgLSBiZWNhdXNlIFdlYkFwcHMgZXhwZWN0IHRvIGdldCBBTEwgY29va2ll
cyBmcm9tIHRoZSBiYWNraW5nLXN0b3JlIG9uIGxvY2FsIHByb3RvY29sCi0gICAgICAgIGlmIChz
cGVjaWFsQ2FzZUZvckxvY2FsKSB7CisgICAgICAgIGlmIChzcGVjaWFsQ2FzZUZvcldlYldvcmtz
KSB7CiAgICAgICAgICAgICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBzcGVjaWFsIGNhc2Ug
ZmluZCBpbiBwcm90b2NvbCBtYXAgLSAlc1xuIiwgY3VycmVudE1hcC0+Z2V0TmFtZSgpLnV0Zjgo
KS5kYXRhKCkpOwogICAgICAgICAgICAgY3VycmVudE1hcC0+Z2V0QWxsQ2hpbGRDb29raWVzKCZj
b29raWVDYW5kaWRhdGVzKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTMwMCw3ICszMTMsNyBAQCB2
b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZz
dGFja09mQ29va2llcywgY29uc3QgSwogICAgICAgICBpZiAoIWVxdWFsSWdub3JpbmdDYXNlKHBh
dGgsIHJlcXVlc3RVUkwucGF0aCgpKSAmJiAhcGF0aC5lbmRzV2l0aCgiLyIsIGZhbHNlKSkKICAg
ICAgICAgICAgIHBhdGggPSBwYXRoICsgIi8iOwogCi0gICAgICAgIC8vIE9ubHkgc2VjdXJlIGNv
bm5lY3Rpb25zIGhhdmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3BlY2lhbENh
c2VGb3JMb2NhbCBpcyB0cnVlCisgICAgICAgIC8vIE9ubHkgc2VjdXJlIGNvbm5lY3Rpb25zIGhh
dmUgYWNjZXNzIHRvIHNlY3VyZSBjb29raWVzLiBVbmxlc3Mgc3BlY2lhbENhc2VGb3JXZWJXb3Jr
cyBpcyB0cnVlCiAgICAgICAgIC8vIEdldCB0aGUgY29va2llcyBmaWx0ZXJpbmcgb3V0IEh0dHBP
bmx5IGNvb2tpZXMgaWYgcmVxdWVzdGVkLgogICAgICAgICBpZiAocmVxdWVzdFVSTC5wYXRoKCku
c3RhcnRzV2l0aChwYXRoLCBmYWxzZSkgJiYgKGlzQ29ubmVjdGlvblNlY3VyZSB8fCAhY29va2ll
LT5pc1NlY3VyZSgpKSAmJiAoZmlsdGVyID09IFdpdGhIdHRwT25seUNvb2tpZXMgfHwgIWNvb2tp
ZS0+aXNIdHRwT25seSgpKSkgewogICAgICAgICAgICAgQ29va2llTG9nKCJDb29raWVNYW5hZ2Vy
IC0gY29va2llIGNob3NlbiAtICVzXG4iLCBjb29raWUtPnRvU3RyaW5nKCkudXRmOCgpLmRhdGEo
KSk7CkBAIC0zMzQsOCArMzQ3LDEwIEBAIHZvaWQgQ29va2llTWFuYWdlcjo6Y2hlY2tBbmRUcmVh
dENvb2tpZShQYXJzZWRDb29raWUqIGNhbmRpZGF0ZUNvb2tpZSwgQmFja2luZ1N0CiB7CiAgICAg
Q29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gY2hlY2tBbmRUcmVhdENvb2tpZSAtIHByb2Nlc3Np
bmcgdXJsIHdpdGggZG9tYWluIC0gJXMgJiBwcm90b2NvbCAlc1xuIiwgY2FuZGlkYXRlQ29va2ll
LT5kb21haW4oKS51dGY4KCkuZGF0YSgpLCBjYW5kaWRhdGVDb29raWUtPnByb3RvY29sKCkudXRm
OCgpLmRhdGEoKSk7CiAKLSAgICAvLyBBIGNvb2tpZSB3aGljaCBpcyBub3QgZnJvbSBodHRwIHNo
b3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCi0gICAgaWYgKGZpbHRlciA9PSBOb0h0
dHBPbmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB7CisgICAgLy8g
RGVsZXRlIGludmFsaWQgY29va2llczoKKyAgICAvLyAxKSBBIGNvb2tpZSB3aGljaCBpcyBub3Qg
ZnJvbSBodHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCisgICAgLy8gMikg
Q29va2llcyBjb21pbmcgZnJvbSBzY2hlbWVzIHRoYXQgd2UgZG8gbm90IHN1cHBvcnQgYW5kIHRo
ZSBzcGVjaWFsIGZsYWcgaXNuJ3Qgb24KKyAgICBpZiAoKGZpbHRlciA9PSBOb0h0dHBPbmx5Q29v
a2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB8fCAoc2hvdWxkSWdub3JlU2No
ZW1lKGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSkgJiYgIW1fc2hvdWxkRHVtcEFsbENvb2tp
ZXMpKSB7CiAgICAgICAgIGRlbGV0ZSBjYW5kaWRhdGVDb29raWU7CiAgICAgICAgIHJldHVybjsK
ICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173128</attachid>
            <date>2012-11-08 15:08:33 -0800</date>
            <delta_ts>2012-11-08 15:13:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101646-20121108180642.patch</filename>
            <type>text/plain</type>
            <size>6037</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNlZWVmYjdlY2MzZTg1
MDNiODg0ZWExMDYwMGM4NzI4ZDA5MzBlZS4uOTM3ODk5MTZkMjM1YmJkMTA3NWM0Y2IzOTA2YjQ0
NjRlYmYyZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTA4ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IERpc2FibGUgY29va2llcyBvbiBmaWxlOi8vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEaXNhYmxpbmcgY29va2llcyBvbiBmaWxlIGFuZCBsb2NhbCBp
biB0aGUgYnJvd3NlciBhcHAuCisKKyAgICAgICAgUFIgMjM5Nzc5CisKKyAgICAgICAgVGVzdGVk
IGJ5IHRyeWluZyB0byBzZXQgYW5kIHJldHJpZXZlIGNvb2tpZXMgb24gV0kgd2hpbGUgYnJvd3Np
bmcKKyAgICAgICAgZmlsZXMgb24gdGhlIGZpbGUgc2NoZW1lLgorCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2hvdWxkSWdub3JlU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
b2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZSk6CisKIDIwMTItMTEtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBET01JbXBsZW1lbnRhdGlvbiBzaG91bGQgdXNl
IFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZjI1NTQ5NDFiN2VlZTgzMmJiODg3MjQ1MTgx
M2FlYzE5MWVjMjg0NS4uNTgzZjA5NTdmNzlmMTg1MDljY2JlZmM4MzBhNGM0NzQxNjY3MjdiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuY3BwCkBAIC0xMTgsMTAgKzExOCwxMCBAQCBzdGF0aWMgYm9vbCBjb29raWVTb3J0ZXIo
UGFyc2VkQ29va2llKiBhLCBQYXJzZWRDb29raWUqIGIpCiAgICAgcmV0dXJuIGEtPnBhdGgoKS5s
ZW5ndGgoKSA+IGItPnBhdGgoKS5sZW5ndGgoKTsKIH0KIAotLy8gUmV0dXJucyB3aGV0aGVyIHRo
ZSBwcm90b2NvbCBzdXBwb3J0cyBkb21haW5zCi1zdGF0aWMgYm9vbCBzaG91bGRJZ25vcmVEb21h
aW4oY29uc3QgU3RyaW5nIHByb3RvY29sKQorLy8gUmV0dXJuIHdoZXRoZXIgd2Ugc2hvdWxkIGln
bm9yZSB0aGUgc2NoZW1lCitzdGF0aWMgYm9vbCBzaG91bGRJZ25vcmVTY2hlbWUoY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKIHsKLSAgICAvLyBpZ25vcmUgZG9tYWluIHNlY3VyaXR5IGZvciBmaWxl
IGFuZCBsb2NhbAorICAgIC8vIFdlIHdhbnQgdG8gaWdub3JlIGZpbGUgYW5kIGxvY2FsIHNjaGVt
ZXMKICAgICByZXR1cm4gcHJvdG9jb2wgPT0gImZpbGUiIHx8IHByb3RvY29sID09ICJsb2NhbCI7
CiB9CiAKQEAgLTIxMiw4ICsyMTIsOSBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tp
ZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogewogICAg
IENvb2tpZUxvZygiQ29va2llTWFuYWdlciAtIGdldFJhd0Nvb2tpZXMgLSBwcm9jZXNzaW5nIHVy
bCB3aXRoIGRvbWFpbiAtICVzICYgcHJvdG9jb2w6ICVzICYgcGF0aDogJXNcbiIsIHJlcXVlc3RV
UkwuaG9zdCgpLnV0ZjgoKS5kYXRhKCksIHJlcXVlc3RVUkwucHJvdG9jb2woKS51dGY4KCkuZGF0
YSgpLCByZXF1ZXN0VVJMLnBhdGgoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIGJvb2wgc3BlY2lh
bENhc2VGb3JMb2NhbCA9IChyZXF1ZXN0VVJMLnByb3RvY29sSXMoImxvY2FsIikgfHwgcmVxdWVz
dFVSTC5wcm90b2NvbElzKCJmaWxlIikpICYmIG1fc2hvdWxkRHVtcEFsbENvb2tpZXM7Ci0gICAg
Ym9vbCBpc0Nvbm5lY3Rpb25TZWN1cmUgPSByZXF1ZXN0VVJMLnByb3RvY29sSXMoImh0dHBzIikg
fHwgcmVxdWVzdFVSTC5wcm90b2NvbElzKCJ3c3MiKSB8fCBzcGVjaWFsQ2FzZUZvckxvY2FsOwor
ICAgIGNvbnN0IGJvb2wgaW52YWxpZFNjaGVtZSA9IHNob3VsZElnbm9yZVNjaGVtZShyZXF1ZXN0
VVJMLnByb3RvY29sKCkpOworICAgIGNvbnN0IGJvb2wgc3BlY2lhbENhc2VGb3JXZWJXb3JrcyA9
IGludmFsaWRTY2hlbWUgJiYgbV9zaG91bGREdW1wQWxsQ29va2llczsKKyAgICBjb25zdCBib29s
IGlzQ29ubmVjdGlvblNlY3VyZSA9IHJlcXVlc3RVUkwucHJvdG9jb2xJcygiaHR0cHMiKSB8fCBy
ZXF1ZXN0VVJMLnByb3RvY29sSXMoIndzcyIpIHx8IHNwZWNpYWxDYXNlRm9yV2ViV29ya3M7CiAK
ICAgICBWZWN0b3I8UGFyc2VkQ29va2llKj4gY29va2llQ2FuZGlkYXRlczsKICAgICBWZWN0b3I8
Q29va2llTWFwKj4gcHJvdG9jb2xzVG9TZWFyY2g7CkBAIC0yMzAsOCArMjMxLDEzIEBAIHZvaWQg
Q29va2llTWFuYWdlcjo6Z2V0UmF3Q29va2llcyhWZWN0b3I8UGFyc2VkQ29va2llKj4gJnN0YWNr
T2ZDb29raWVzLCBjb25zdCBLCiAgICAgICAgICAgICB0YXJnZXRNYXAgPSBtX21hbmFnZXJNYXAu
Z2V0KCJ3cyIpOwogICAgIH0KIAotICAgIGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKQorICAgIC8v
IERlY2lkZSB3aGljaCBzY2hlbWUgdHJlZSB3ZSBzaG91bGQgbG9vayBhdC4KKyAgICAvLyBSZXR1
cm4gb24gaW52YWxpZCBzY2hlbWVzLiBjb29raWVzIGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgb24g
ZmlsZSBhbmQgbG9jYWwuCisgICAgLy8gV2Ugb25seSB3YW50IHRvIGVuYWJsZSB0aGVtIGZvciBX
ZWJXb3JrcyB0aGF0IGVuYWJsZWQgYSBzcGVjaWFsIGZsYWcuCisgICAgaWYgKHNwZWNpYWxDYXNl
Rm9yV2ViV29ya3MpCiAgICAgICAgIGNvcHlWYWx1ZXNUb1ZlY3RvcihtX21hbmFnZXJNYXAsIHBy
b3RvY29sc1RvU2VhcmNoKTsKKyAgICBlbHNlIGlmIChpbnZhbGlkU2NoZW1lKQorICAgICAgICBy
ZXR1cm47CiAgICAgZWxzZSB7CiAgICAgICAgIHByb3RvY29sc1RvU2VhcmNoLmFwcGVuZCh0YXJn
ZXRNYXApOwogICAgICAgICAvLyBGSVhNRTogdGhpcyBpcyBhIGhhY2sgZm9yIHdlYndvcmtzIGFw
cHM7IFJGQyA2MjY1IHNheXMgIkNvb2tpZXMgZG8gbm90IHByb3ZpZGUgaXNvbGF0aW9uIGJ5IHNj
aGVtZSIKQEAgLTI2NCw3ICsyNzAsNyBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tp
ZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogICAgICAg
ICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBsb29raW5nIGF0IHByb3RvY29sIG1hcCAlcyBc
biIsIGN1cnJlbnRNYXAtPmdldE5hbWUoKS51dGY4KCkuZGF0YSgpKTsKIAogICAgICAgICAvLyBT
cGVjaWFsIGNhc2UgZm9yIGxvY2FsIGFuZCBmaWxlcyAtIGJlY2F1c2UgV2ViQXBwcyBleHBlY3Qg
dG8gZ2V0IEFMTCBjb29raWVzIGZyb20gdGhlIGJhY2tpbmctc3RvcmUgb24gbG9jYWwgcHJvdG9j
b2wKLSAgICAgICAgaWYgKHNwZWNpYWxDYXNlRm9yTG9jYWwpIHsKKyAgICAgICAgaWYgKHNwZWNp
YWxDYXNlRm9yV2ViV29ya3MpIHsKICAgICAgICAgICAgIENvb2tpZUxvZygiQ29va2llTWFuYWdl
ciAtIHNwZWNpYWwgY2FzZSBmaW5kIGluIHByb3RvY29sIG1hcCAtICVzXG4iLCBjdXJyZW50TWFw
LT5nZXROYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICBjdXJyZW50TWFwLT5nZXRB
bGxDaGlsZENvb2tpZXMoJmNvb2tpZUNhbmRpZGF0ZXMpOwogICAgICAgICB9IGVsc2UgewpAQCAt
MzAwLDcgKzMwNiw3IEBAIHZvaWQgQ29va2llTWFuYWdlcjo6Z2V0UmF3Q29va2llcyhWZWN0b3I8
UGFyc2VkQ29va2llKj4gJnN0YWNrT2ZDb29raWVzLCBjb25zdCBLCiAgICAgICAgIGlmICghZXF1
YWxJZ25vcmluZ0Nhc2UocGF0aCwgcmVxdWVzdFVSTC5wYXRoKCkpICYmICFwYXRoLmVuZHNXaXRo
KCIvIiwgZmFsc2UpKQogICAgICAgICAgICAgcGF0aCA9IHBhdGggKyAiLyI7CiAKLSAgICAgICAg
Ly8gT25seSBzZWN1cmUgY29ubmVjdGlvbnMgaGF2ZSBhY2Nlc3MgdG8gc2VjdXJlIGNvb2tpZXMu
IFVubGVzcyBzcGVjaWFsQ2FzZUZvckxvY2FsIGlzIHRydWUKKyAgICAgICAgLy8gT25seSBzZWN1
cmUgY29ubmVjdGlvbnMgaGF2ZSBhY2Nlc3MgdG8gc2VjdXJlIGNvb2tpZXMuIFVubGVzcyBzcGVj
aWFsQ2FzZUZvcldlYldvcmtzIGlzIHRydWUKICAgICAgICAgLy8gR2V0IHRoZSBjb29raWVzIGZp
bHRlcmluZyBvdXQgSHR0cE9ubHkgY29va2llcyBpZiByZXF1ZXN0ZWQuCiAgICAgICAgIGlmIChy
ZXF1ZXN0VVJMLnBhdGgoKS5zdGFydHNXaXRoKHBhdGgsIGZhbHNlKSAmJiAoaXNDb25uZWN0aW9u
U2VjdXJlIHx8ICFjb29raWUtPmlzU2VjdXJlKCkpICYmIChmaWx0ZXIgPT0gV2l0aEh0dHBPbmx5
Q29va2llcyB8fCAhY29va2llLT5pc0h0dHBPbmx5KCkpKSB7CiAgICAgICAgICAgICBDb29raWVM
b2coIkNvb2tpZU1hbmFnZXIgLSBjb29raWUgY2hvc2VuIC0gJXNcbiIsIGNvb2tpZS0+dG9TdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTMzNCwxMyArMzQwLDE1IEBAIHZvaWQgQ29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZShQYXJzZWRDb29raWUqIGNhbmRpZGF0ZUNvb2tpZSwg
QmFja2luZ1N0CiB7CiAgICAgQ29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gY2hlY2tBbmRUcmVh
dENvb2tpZSAtIHByb2Nlc3NpbmcgdXJsIHdpdGggZG9tYWluIC0gJXMgJiBwcm90b2NvbCAlc1xu
IiwgY2FuZGlkYXRlQ29va2llLT5kb21haW4oKS51dGY4KCkuZGF0YSgpLCBjYW5kaWRhdGVDb29r
aWUtPnByb3RvY29sKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAvLyBBIGNvb2tpZSB3aGljaCBp
cyBub3QgZnJvbSBodHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJvcGVydHkuCi0gICAg
aWYgKGZpbHRlciA9PSBOb0h0dHBPbmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRw
T25seSgpKSB7CisgICAgLy8gRGVsZXRlIGludmFsaWQgY29va2llczoKKyAgICAvLyAxKSBBIGNv
b2tpZSB3aGljaCBpcyBub3QgZnJvbSBodHRwIHNob3VsZG4ndCBoYXZlIGEgaHR0cE9ubHkgcHJv
cGVydHkuCisgICAgLy8gMikgQ29va2llcyBjb21pbmcgZnJvbSBzY2hlbWVzIHRoYXQgd2UgZG8g
bm90IHN1cHBvcnQgYW5kIHRoZSBzcGVjaWFsIGZsYWcgaXNuJ3Qgb24KKyAgICBpZiAoKGZpbHRl
ciA9PSBOb0h0dHBPbmx5Q29va2llICYmIGNhbmRpZGF0ZUNvb2tpZS0+aXNIdHRwT25seSgpKSB8
fCAoc2hvdWxkSWdub3JlU2NoZW1lKGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSkgJiYgIW1f
c2hvdWxkRHVtcEFsbENvb2tpZXMpKSB7CiAgICAgICAgIGRlbGV0ZSBjYW5kaWRhdGVDb29raWU7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb25zdCBib29sIGlnbm9yZURvbWFpbiA9
IHNob3VsZElnbm9yZURvbWFpbihjYW5kaWRhdGVDb29raWUtPnByb3RvY29sKCkpOworICAgIGNv
bnN0IGJvb2wgaWdub3JlRG9tYWluID0gIChjYW5kaWRhdGVDb29raWUtPnByb3RvY29sKCkgPT0g
ImZpbGUiIHx8IGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSA9PSAibG9jYWwiKTsKIAogICAg
IC8vIERldGVybWluZSB3aGljaCBwcm90b2NvbCB0cmVlIHRvIGFkZCB0aGUgY29va2llIHRvLiBD
cmVhdGUgb25lIGlmIG5lY2Vzc2FyeS4KICAgICBDb29raWVNYXAqIGN1ck1hcCA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173131</attachid>
            <date>2012-11-08 15:13:16 -0800</date>
            <delta_ts>2012-11-08 15:50:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101646-20121108181125.patch</filename>
            <type>text/plain</type>
            <size>6037</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNlZWVmYjdlY2MzZTg1
MDNiODg0ZWExMDYwMGM4NzI4ZDA5MzBlZS4uOTM3ODk5MTZkMjM1YmJkMTA3NWM0Y2IzOTA2YjQ0
NjRlYmYyZTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTExLTA4ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IERpc2FibGUgY29va2llcyBvbiBmaWxlOi8vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEaXNhYmxpbmcgY29va2llcyBvbiBmaWxlIGFuZCBsb2NhbCBp
biB0aGUgYnJvd3NlciBhcHAuCisKKyAgICAgICAgUFIgMjM5Nzc5CisKKyAgICAgICAgVGVzdGVk
IGJ5IHRyeWluZyB0byBzZXQgYW5kIHJldHJpZXZlIGNvb2tpZXMgb24gV0kgd2hpbGUgYnJvd3Np
bmcKKyAgICAgICAgZmlsZXMgb24gdGhlIGZpbGUgc2NoZW1lLgorCisgICAgICAgICogcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2hvdWxkSWdub3JlU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
b2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFu
YWdlcjo6Y2hlY2tBbmRUcmVhdENvb2tpZSk6CisKIDIwMTItMTEtMDYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBET01JbXBsZW1lbnRhdGlvbiBzaG91bGQgdXNl
IFNjcmlwdFdyYXBwYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ29va2llTWFuYWdlci5jcHAKaW5kZXggZjI1NTQ5NDFiN2VlZTgzMmJiODg3MjQ1MTgx
M2FlYzE5MWVjMjg0NS4uMTM3NzY1OGFkOTNlZjhhYmIxMjNmOWNkZDhhMWZjZjZmNGQ4NGQ3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuY3BwCkBAIC0xMTgsMTAgKzExOCwxMCBAQCBzdGF0aWMgYm9vbCBjb29raWVTb3J0ZXIo
UGFyc2VkQ29va2llKiBhLCBQYXJzZWRDb29raWUqIGIpCiAgICAgcmV0dXJuIGEtPnBhdGgoKS5s
ZW5ndGgoKSA+IGItPnBhdGgoKS5sZW5ndGgoKTsKIH0KIAotLy8gUmV0dXJucyB3aGV0aGVyIHRo
ZSBwcm90b2NvbCBzdXBwb3J0cyBkb21haW5zCi1zdGF0aWMgYm9vbCBzaG91bGRJZ25vcmVEb21h
aW4oY29uc3QgU3RyaW5nIHByb3RvY29sKQorLy8gUmV0dXJuIHdoZXRoZXIgd2Ugc2hvdWxkIGln
bm9yZSB0aGUgc2NoZW1lCitzdGF0aWMgYm9vbCBzaG91bGRJZ25vcmVTY2hlbWUoY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKIHsKLSAgICAvLyBpZ25vcmUgZG9tYWluIHNlY3VyaXR5IGZvciBmaWxl
IGFuZCBsb2NhbAorICAgIC8vIFdlIHdhbnQgdG8gaWdub3JlIGZpbGUgYW5kIGxvY2FsIHNjaGVt
ZXMKICAgICByZXR1cm4gcHJvdG9jb2wgPT0gImZpbGUiIHx8IHByb3RvY29sID09ICJsb2NhbCI7
CiB9CiAKQEAgLTIxMiw4ICsyMTIsOSBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tp
ZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogewogICAg
IENvb2tpZUxvZygiQ29va2llTWFuYWdlciAtIGdldFJhd0Nvb2tpZXMgLSBwcm9jZXNzaW5nIHVy
bCB3aXRoIGRvbWFpbiAtICVzICYgcHJvdG9jb2w6ICVzICYgcGF0aDogJXNcbiIsIHJlcXVlc3RV
UkwuaG9zdCgpLnV0ZjgoKS5kYXRhKCksIHJlcXVlc3RVUkwucHJvdG9jb2woKS51dGY4KCkuZGF0
YSgpLCByZXF1ZXN0VVJMLnBhdGgoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIGJvb2wgc3BlY2lh
bENhc2VGb3JMb2NhbCA9IChyZXF1ZXN0VVJMLnByb3RvY29sSXMoImxvY2FsIikgfHwgcmVxdWVz
dFVSTC5wcm90b2NvbElzKCJmaWxlIikpICYmIG1fc2hvdWxkRHVtcEFsbENvb2tpZXM7Ci0gICAg
Ym9vbCBpc0Nvbm5lY3Rpb25TZWN1cmUgPSByZXF1ZXN0VVJMLnByb3RvY29sSXMoImh0dHBzIikg
fHwgcmVxdWVzdFVSTC5wcm90b2NvbElzKCJ3c3MiKSB8fCBzcGVjaWFsQ2FzZUZvckxvY2FsOwor
ICAgIGNvbnN0IGJvb2wgaW52YWxpZFNjaGVtZSA9IHNob3VsZElnbm9yZVNjaGVtZShyZXF1ZXN0
VVJMLnByb3RvY29sKCkpOworICAgIGNvbnN0IGJvb2wgc3BlY2lhbENhc2VGb3JXZWJXb3JrcyA9
IGludmFsaWRTY2hlbWUgJiYgbV9zaG91bGREdW1wQWxsQ29va2llczsKKyAgICBjb25zdCBib29s
IGlzQ29ubmVjdGlvblNlY3VyZSA9IHJlcXVlc3RVUkwucHJvdG9jb2xJcygiaHR0cHMiKSB8fCBy
ZXF1ZXN0VVJMLnByb3RvY29sSXMoIndzcyIpIHx8IHNwZWNpYWxDYXNlRm9yV2ViV29ya3M7CiAK
ICAgICBWZWN0b3I8UGFyc2VkQ29va2llKj4gY29va2llQ2FuZGlkYXRlczsKICAgICBWZWN0b3I8
Q29va2llTWFwKj4gcHJvdG9jb2xzVG9TZWFyY2g7CkBAIC0yMzAsOCArMjMxLDEzIEBAIHZvaWQg
Q29va2llTWFuYWdlcjo6Z2V0UmF3Q29va2llcyhWZWN0b3I8UGFyc2VkQ29va2llKj4gJnN0YWNr
T2ZDb29raWVzLCBjb25zdCBLCiAgICAgICAgICAgICB0YXJnZXRNYXAgPSBtX21hbmFnZXJNYXAu
Z2V0KCJ3cyIpOwogICAgIH0KIAotICAgIGlmIChzcGVjaWFsQ2FzZUZvckxvY2FsKQorICAgIC8v
IERlY2lkZSB3aGljaCBzY2hlbWUgdHJlZSB3ZSBzaG91bGQgbG9vayBhdC4KKyAgICAvLyBSZXR1
cm4gb24gaW52YWxpZCBzY2hlbWVzLiBjb29raWVzIGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgb24g
ZmlsZSBhbmQgbG9jYWwuCisgICAgLy8gV2Ugb25seSB3YW50IHRvIGVuYWJsZSB0aGVtIGZvciBX
ZWJXb3JrcyB0aGF0IGVuYWJsZWQgYSBzcGVjaWFsIGZsYWcuCisgICAgaWYgKHNwZWNpYWxDYXNl
Rm9yV2ViV29ya3MpCiAgICAgICAgIGNvcHlWYWx1ZXNUb1ZlY3RvcihtX21hbmFnZXJNYXAsIHBy
b3RvY29sc1RvU2VhcmNoKTsKKyAgICBlbHNlIGlmIChpbnZhbGlkU2NoZW1lKQorICAgICAgICBy
ZXR1cm47CiAgICAgZWxzZSB7CiAgICAgICAgIHByb3RvY29sc1RvU2VhcmNoLmFwcGVuZCh0YXJn
ZXRNYXApOwogICAgICAgICAvLyBGSVhNRTogdGhpcyBpcyBhIGhhY2sgZm9yIHdlYndvcmtzIGFw
cHM7IFJGQyA2MjY1IHNheXMgIkNvb2tpZXMgZG8gbm90IHByb3ZpZGUgaXNvbGF0aW9uIGJ5IHNj
aGVtZSIKQEAgLTI2NCw3ICsyNzAsNyBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OmdldFJhd0Nvb2tp
ZXMoVmVjdG9yPFBhcnNlZENvb2tpZSo+ICZzdGFja09mQ29va2llcywgY29uc3QgSwogICAgICAg
ICBDb29raWVMb2coIkNvb2tpZU1hbmFnZXIgLSBsb29raW5nIGF0IHByb3RvY29sIG1hcCAlcyBc
biIsIGN1cnJlbnRNYXAtPmdldE5hbWUoKS51dGY4KCkuZGF0YSgpKTsKIAogICAgICAgICAvLyBT
cGVjaWFsIGNhc2UgZm9yIGxvY2FsIGFuZCBmaWxlcyAtIGJlY2F1c2UgV2ViQXBwcyBleHBlY3Qg
dG8gZ2V0IEFMTCBjb29raWVzIGZyb20gdGhlIGJhY2tpbmctc3RvcmUgb24gbG9jYWwgcHJvdG9j
b2wKLSAgICAgICAgaWYgKHNwZWNpYWxDYXNlRm9yTG9jYWwpIHsKKyAgICAgICAgaWYgKHNwZWNp
YWxDYXNlRm9yV2ViV29ya3MpIHsKICAgICAgICAgICAgIENvb2tpZUxvZygiQ29va2llTWFuYWdl
ciAtIHNwZWNpYWwgY2FzZSBmaW5kIGluIHByb3RvY29sIG1hcCAtICVzXG4iLCBjdXJyZW50TWFw
LT5nZXROYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICBjdXJyZW50TWFwLT5nZXRB
bGxDaGlsZENvb2tpZXMoJmNvb2tpZUNhbmRpZGF0ZXMpOwogICAgICAgICB9IGVsc2UgewpAQCAt
MzAwLDcgKzMwNiw3IEBAIHZvaWQgQ29va2llTWFuYWdlcjo6Z2V0UmF3Q29va2llcyhWZWN0b3I8
UGFyc2VkQ29va2llKj4gJnN0YWNrT2ZDb29raWVzLCBjb25zdCBLCiAgICAgICAgIGlmICghZXF1
YWxJZ25vcmluZ0Nhc2UocGF0aCwgcmVxdWVzdFVSTC5wYXRoKCkpICYmICFwYXRoLmVuZHNXaXRo
KCIvIiwgZmFsc2UpKQogICAgICAgICAgICAgcGF0aCA9IHBhdGggKyAiLyI7CiAKLSAgICAgICAg
Ly8gT25seSBzZWN1cmUgY29ubmVjdGlvbnMgaGF2ZSBhY2Nlc3MgdG8gc2VjdXJlIGNvb2tpZXMu
IFVubGVzcyBzcGVjaWFsQ2FzZUZvckxvY2FsIGlzIHRydWUKKyAgICAgICAgLy8gT25seSBzZWN1
cmUgY29ubmVjdGlvbnMgaGF2ZSBhY2Nlc3MgdG8gc2VjdXJlIGNvb2tpZXMuIFVubGVzcyBzcGVj
aWFsQ2FzZUZvcldlYldvcmtzIGlzIHRydWUuCiAgICAgICAgIC8vIEdldCB0aGUgY29va2llcyBm
aWx0ZXJpbmcgb3V0IEh0dHBPbmx5IGNvb2tpZXMgaWYgcmVxdWVzdGVkLgogICAgICAgICBpZiAo
cmVxdWVzdFVSTC5wYXRoKCkuc3RhcnRzV2l0aChwYXRoLCBmYWxzZSkgJiYgKGlzQ29ubmVjdGlv
blNlY3VyZSB8fCAhY29va2llLT5pc1NlY3VyZSgpKSAmJiAoZmlsdGVyID09IFdpdGhIdHRwT25s
eUNvb2tpZXMgfHwgIWNvb2tpZS0+aXNIdHRwT25seSgpKSkgewogICAgICAgICAgICAgQ29va2ll
TG9nKCJDb29raWVNYW5hZ2VyIC0gY29va2llIGNob3NlbiAtICVzXG4iLCBjb29raWUtPnRvU3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7CkBAIC0zMzQsMTMgKzM0MCwxNSBAQCB2b2lkIENvb2tpZU1h
bmFnZXI6OmNoZWNrQW5kVHJlYXRDb29raWUoUGFyc2VkQ29va2llKiBjYW5kaWRhdGVDb29raWUs
IEJhY2tpbmdTdAogewogICAgIENvb2tpZUxvZygiQ29va2llTWFuYWdlciAtIGNoZWNrQW5kVHJl
YXRDb29raWUgLSBwcm9jZXNzaW5nIHVybCB3aXRoIGRvbWFpbiAtICVzICYgcHJvdG9jb2wgJXNc
biIsIGNhbmRpZGF0ZUNvb2tpZS0+ZG9tYWluKCkudXRmOCgpLmRhdGEoKSwgY2FuZGlkYXRlQ29v
a2llLT5wcm90b2NvbCgpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgLy8gQSBjb29raWUgd2hpY2gg
aXMgbm90IGZyb20gaHR0cCBzaG91bGRuJ3QgaGF2ZSBhIGh0dHBPbmx5IHByb3BlcnR5LgotICAg
IGlmIChmaWx0ZXIgPT0gTm9IdHRwT25seUNvb2tpZSAmJiBjYW5kaWRhdGVDb29raWUtPmlzSHR0
cE9ubHkoKSkgeworICAgIC8vIERlbGV0ZSBpbnZhbGlkIGNvb2tpZXM6CisgICAgLy8gMSkgQSBj
b29raWUgd2hpY2ggaXMgbm90IGZyb20gaHR0cCBzaG91bGRuJ3QgaGF2ZSBhIGh0dHBPbmx5IHBy
b3BlcnR5LgorICAgIC8vIDIpIENvb2tpZXMgY29taW5nIGZyb20gc2NoZW1lcyB0aGF0IHdlIGRv
IG5vdCBzdXBwb3J0IGFuZCB0aGUgc3BlY2lhbCBmbGFnIGlzbid0IG9uCisgICAgaWYgKChmaWx0
ZXIgPT0gTm9IdHRwT25seUNvb2tpZSAmJiBjYW5kaWRhdGVDb29raWUtPmlzSHR0cE9ubHkoKSkg
fHwgKHNob3VsZElnbm9yZVNjaGVtZShjYW5kaWRhdGVDb29raWUtPnByb3RvY29sKCkpICYmICFt
X3Nob3VsZER1bXBBbGxDb29raWVzKSkgewogICAgICAgICBkZWxldGUgY2FuZGlkYXRlQ29va2ll
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY29uc3QgYm9vbCBpZ25vcmVEb21haW4g
PSBzaG91bGRJZ25vcmVEb21haW4oY2FuZGlkYXRlQ29va2llLT5wcm90b2NvbCgpKTsKKyAgICBj
b25zdCBib29sIGlnbm9yZURvbWFpbiA9IChjYW5kaWRhdGVDb29raWUtPnByb3RvY29sKCkgPT0g
ImZpbGUiIHx8IGNhbmRpZGF0ZUNvb2tpZS0+cHJvdG9jb2woKSA9PSAibG9jYWwiKTsKIAogICAg
IC8vIERldGVybWluZSB3aGljaCBwcm90b2NvbCB0cmVlIHRvIGFkZCB0aGUgY29va2llIHRvLiBD
cmVhdGUgb25lIGlmIG5lY2Vzc2FyeS4KICAgICBDb29raWVNYXAqIGN1ck1hcCA9IDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>