<?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>27318</bug_id>
          
          <creation_ts>2009-07-15 14:45:35 -0700</creation_ts>
          <short_desc>Allow LocalStorage to be enabled without enabling SessionStorage</short_desc>
          <delta_ts>2009-07-16 17:42:47 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132044</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-15 14:45:35 -0700</bug_when>
    <thetext>Allow LocalStorage to be enabled without enabling SessionStorage at runtime.  There is a settings class setting for localStorage, but not for sessionStorage.  We want to be able to test one of these features without necessarily enabling the other.

I think the solution is to add a sessionStorageEnabled flag that defaults to true.  Chromium can then opt-out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132049</commentid>
    <comment_count>1</comment_count>
      <attachid>32815</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-15 14:55:42 -0700</bug_when>
    <thetext>Created attachment 32815
v1

Allow LocalStorage to be enabled without enabling SessionStorage at runtime.  There is a settings class setting for localStorage, but not for sessionStorage.  We want to be able to test one of these features without necessarily enabling the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132143</commentid>
    <comment_count>2</comment_count>
      <attachid>32815</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-15 22:00:51 -0700</bug_when>
    <thetext>Comment on attachment 32815
v1

&gt; Index: WebCore/page/DOMWindow.cpp
&gt; ===================================================================
&gt; --- WebCore/page/DOMWindow.cpp	(revision 45916)
&gt; +++ WebCore/page/DOMWindow.cpp	(working copy)
&gt; @@ -552,6 +552,9 @@ Storage* DOMWindow::sessionStorage() con
&gt;          return 0;
&gt;  
&gt;      Document* document = m_frame-&gt;document();
&gt; +    Settings* settings = document-&gt;settings();
&gt; +    if (!settings || !settings-&gt;sessionStorageEnabled())

You should just use page-&gt;settings() here which cannot be null.

Otherwise, looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132373</commentid>
    <comment_count>3</comment_count>
      <attachid>32897</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-16 15:33:31 -0700</bug_when>
    <thetext>Created attachment 32897
v2

Cleaned up the way we access the settings per Darin F.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132408</commentid>
    <comment_count>4</comment_count>
      <attachid>32897</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 17:02:38 -0700</bug_when>
    <thetext>Comment on attachment 32897
v2

Looks good, but two nits:

&gt; -    Document* document = m_frame-&gt;document();
&gt; +    Settings* settings = page-&gt;settings();
&gt; +    if (!settings-&gt;sessionStorageEnabled())
&gt; +        return 0;

If settings isn&apos;t used by the rest of this function, then you don&apos;t need to make a variable for it.

&gt;      , m_localStorageEnabled(false)
&gt; +    , m_sessionStorageEnabled(true)

Why do these have different defaults?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132412</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-16 17:09:38 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 32897 [details])
&gt; Looks good, but two nits:
&gt; 
&gt; &gt; -    Document* document = m_frame-&gt;document();
&gt; &gt; +    Settings* settings = page-&gt;settings();
&gt; &gt; +    if (!settings-&gt;sessionStorageEnabled())
&gt; &gt; +        return 0;
&gt; 
&gt; If settings isn&apos;t used by the rest of this function, then you don&apos;t need to
&gt; make a variable for it.

I&apos;ll change it.

&gt; &gt;      , m_localStorageEnabled(false)
&gt; &gt; +    , m_sessionStorageEnabled(true)
&gt; 
&gt; Why do these have different defaults?

LocalStorage is off by default for security reasons since it allows you to
write information to the disk.  It makes sense for it to require an explicit
opt-in.

SessionStorage has always been on in the past, so it seems wrong to change its
default.  In addition, I don&apos;t think it&apos;s controversial at all in terms of
security.  The only reason we want to turn it off in Chromium is because it&apos;s
currently broken and LocalStorage is a higher priority for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132416</commentid>
    <comment_count>6</comment_count>
      <attachid>32905</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-16 17:17:31 -0700</bug_when>
    <thetext>Created attachment 32905
v3

We now do page-&gt;settings()-&gt; rather than saving page-&gt;settings() to a local variable.

I also updated the change log to explain why SessionStorage is on by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132418</commentid>
    <comment_count>7</comment_count>
      <attachid>32905</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 17:20:10 -0700</bug_when>
    <thetext>Comment on attachment 32905
v3

Looks great.  Thanks for the explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132427</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 17:42:47 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/page/DOMWindow.cpp
	M	WebCore/page/Settings.cpp
	M	WebCore/page/Settings.h
Committed r46001</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32815</attachid>
            <date>2009-07-15 14:55:42 -0700</date>
            <delta_ts>2009-07-16 15:33:31 -0700</delta_ts>
            <desc>v1</desc>
            <filename>settings.patch</filename>
            <type>text/plain</type>
            <size>3606</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDctMTUgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgc2Vzc2lvblN0b3JhZ2VFbmFibGVkIHNldHRpbmcgdG8gdGhlIHNldHRpbmdzIGNsYXNz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjczMTgK
KworICAgICAgICBBbGxvdyBMb2NhbFN0b3JhZ2UgdG8gYmUgZW5hYmxlZCB3aXRob3V0IGVuYWJs
aW5nIFNlc3Npb25TdG9yYWdlIGF0CisgICAgICAgIHJ1bnRpbWUuICBUaGVyZSBpcyBhIHNldHRp
bmdzIGNsYXNzIHNldHRpbmcgZm9yIGxvY2FsU3RvcmFnZSwgYnV0IG5vdAorICAgICAgICBmb3Ig
c2Vzc2lvblN0b3JhZ2UuICBXZSB3YW50IHRvIGJlIGFibGUgdG8gdGVzdCBvbmUgb2YgdGhlc2Ug
ZmVhdHVyZXMKKyAgICAgICAgd2l0aG91dCBuZWNlc3NhcmlseSBlbmFibGluZyB0aGUgb3RoZXIu
CisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnNlc3Npb25TdG9yYWdlKTogIENoZWNrIHRoZSBuZXcgZmxhZworICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKTog
IERlZmF1bHQgdGhlIGZsYWcgdG8gdHJ1ZQorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFNlc3Npb25TdG9yYWdlRW5hYmxlZCk6ICBBZGQgdGhlIG5ldyBmbGFnCisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNlc3Npb25TdG9yYWdl
RW5hYmxlZCk6ICBHZXQgdGhlIG5ldyBmbGFnCisKIDIwMDktMDctMTUgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4uCklu
ZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gNDU5MTYpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUyLDYgKzU1Miw5IEBAIFN0b3JhZ2UqIERPTVdp
bmRvdzo6c2Vzc2lvblN0b3JhZ2UoKSBjb24KICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOworICAgIFNldHRpbmdzKiBzZXR0
aW5ncyA9IGRvY3VtZW50LT5zZXR0aW5ncygpOworICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRp
bmdzLT5zZXNzaW9uU3RvcmFnZUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBS
ZWZQdHI8U3RvcmFnZUFyZWE+IHN0b3JhZ2VBcmVhID0gcGFnZS0+c2Vzc2lvblN0b3JhZ2UoKS0+
c3RvcmFnZUFyZWEoZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgIHBhZ2UtPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS0+ZGlkVXNlRE9NU3RvcmFnZShzdG9yYWdlQXJlYS5nZXQoKSwgZmFs
c2UsIG1fZnJhbWUpOwpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA0NTkxNikKKysrIFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDcgQEAgU2V0
dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX2FyZVBsdWdpbnNFbmFibGVkKGZh
bHNlKQogICAgICwgbV9kYXRhYmFzZXNFbmFibGVkKGZhbHNlKQogICAgICwgbV9sb2NhbFN0b3Jh
Z2VFbmFibGVkKGZhbHNlKQorICAgICwgbV9zZXNzaW9uU3RvcmFnZUVuYWJsZWQodHJ1ZSkKICAg
ICAsIG1faXNKYXZhU2NyaXB0RW5hYmxlZChmYWxzZSkKICAgICAsIG1faXNXZWJTZWN1cml0eUVu
YWJsZWQodHJ1ZSkKICAgICAsIG1fYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHModHJ1
ZSkKQEAgLTI0NCw2ICsyNDUsMTEgQEAgdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxTdG9yYWdlRW5h
YmxlZChibwogICAgIG1fbG9jYWxTdG9yYWdlRW5hYmxlZCA9IGxvY2FsU3RvcmFnZUVuYWJsZWQ7
CiB9CiAKK3ZvaWQgU2V0dGluZ3M6OnNldFNlc3Npb25TdG9yYWdlRW5hYmxlZChib29sIHNlc3Np
b25TdG9yYWdlRW5hYmxlZCkKK3sKKyAgICBtX3Nlc3Npb25TdG9yYWdlRW5hYmxlZCA9IHNlc3Np
b25TdG9yYWdlRW5hYmxlZDsKK30KKwogdm9pZCBTZXR0aW5nczo6c2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCiB7CiAgICAgbV9wcml2YXRlQnJv
d3NpbmdFbmFibGVkID0gcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDsKSW5kZXg6IFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZp
c2lvbiA0NTkxNikKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjUsNiArMTI1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldExv
Y2FsU3RvcmFnZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxTdG9yYWdlRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlRW5hYmxlZDsgfQogCisgICAgICAgIHZv
aWQgc2V0U2Vzc2lvblN0b3JhZ2VFbmFibGVkKGJvb2wpOworICAgICAgICBib29sIHNlc3Npb25T
dG9yYWdlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvblN0b3JhZ2VFbmFibGVkOyB9
CisKICAgICAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wpOwogICAgICAg
ICBib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGVC
cm93c2luZ0VuYWJsZWQ7IH0KIApAQCAtMjc3LDYgKzI4MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBtX2FyZVBsdWdpbnNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBt
X2RhdGFiYXNlc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9jYWxTdG9yYWdlRW5hYmxl
ZCA6IDE7CisgICAgICAgIGJvb2wgbV9zZXNzaW9uU3RvcmFnZUVuYWJsZWQgOiAxOwogICAgICAg
ICBib29sIG1faXNKYXZhU2NyaXB0RW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pc1dlYlNl
Y3VyaXR5RW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zy
b21GaWxlVVJMczogMTsK
</data>
<flag name="review"
          id="17177"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32897</attachid>
            <date>2009-07-16 15:33:31 -0700</date>
            <delta_ts>2009-07-16 17:17:31 -0700</delta_ts>
            <desc>v2</desc>
            <filename>settings.v2.patch</filename>
            <type>text/plain</type>
            <size>4294</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDctMTUgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgc2Vzc2lvblN0b3JhZ2VFbmFibGVkIHNldHRpbmcgdG8gdGhlIHNldHRpbmdzIGNsYXNz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjczMTgK
KworICAgICAgICBBbGxvdyBMb2NhbFN0b3JhZ2UgdG8gYmUgZW5hYmxlZCB3aXRob3V0IGVuYWJs
aW5nIFNlc3Npb25TdG9yYWdlIGF0CisgICAgICAgIHJ1bnRpbWUuICBUaGVyZSBpcyBhIHNldHRp
bmdzIGNsYXNzIHNldHRpbmcgZm9yIGxvY2FsU3RvcmFnZSwgYnV0IG5vdAorICAgICAgICBmb3Ig
c2Vzc2lvblN0b3JhZ2UuICBXZSB3YW50IHRvIGJlIGFibGUgdG8gdGVzdCBvbmUgb2YgdGhlc2Ug
ZmVhdHVyZXMKKyAgICAgICAgd2l0aG91dCBuZWNlc3NhcmlseSBlbmFibGluZyB0aGUgb3RoZXIu
CisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnNlc3Npb25TdG9yYWdlKTogIENoZWNrIHRoZSBuZXcgZmxhZworICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UpOiAgQSBiaXQgb2YgY2xlYW51cAorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRp
bmdzKTogIERlZmF1bHQgdGhlIGZsYWcgdG8gdHJ1ZQorICAgICAgICAoV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldFNlc3Npb25TdG9yYWdlRW5hYmxlZCk6ICBBZGQgdGhlIG5ldyBmbGFnCisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNlc3Npb25T
dG9yYWdlRW5hYmxlZCk6ICBHZXQgdGhlIG5ldyBmbGFnCisKIDIwMDktMDctMTUgIFNoaW5pY2hp
cm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lvbiA0NTk2NykKKysrIFdlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDYsMTIgKzU0NiwxOCBA
QCBTdG9yYWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9yYWdlKCkgY29uCiB7CiAgICAgaWYgKG1f
c2Vzc2lvblN0b3JhZ2UpCiAgICAgICAgIHJldHVybiBtX3Nlc3Npb25TdG9yYWdlLmdldCgpOwot
ICAgICAgICAKLSAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOworCisgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOwogICAg
IGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBtX2ZyYW1lLT5kb2N1bWVudCgpOworICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IHBhZ2UtPnNl
dHRpbmdzKCk7CisgICAgaWYgKCFzZXR0aW5ncy0+c2Vzc2lvblN0b3JhZ2VFbmFibGVkKCkpCisg
ICAgICAgIHJldHVybiAwOwogCiAgICAgUmVmUHRyPFN0b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYSA9
IHBhZ2UtPnNlc3Npb25TdG9yYWdlKCktPnN0b3JhZ2VBcmVhKGRvY3VtZW50LT5zZWN1cml0eU9y
aWdpbigpKTsKICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFVzZURPTVN0b3Jh
Z2Uoc3RvcmFnZUFyZWEuZ2V0KCksIGZhbHNlLCBtX2ZyYW1lKTsKQEAgLTU3Myw4ICs1NzksOCBA
QCBTdG9yYWdlKiBET01XaW5kb3c6OmxvY2FsU3RvcmFnZSgpIGNvbnN0CiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50
LT5zZXR0aW5ncygpOwotICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5sb2NhbFN0b3Jh
Z2VFbmFibGVkKCkpCisgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gcGFnZS0+c2V0dGluZ3MoKTsK
KyAgICBpZiAoIXNldHRpbmdzLT5sb2NhbFN0b3JhZ2VFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgU3RvcmFnZU5hbWVzcGFjZSogbG9jYWxTdG9yYWdlID0gcGFnZS0+Z3JvdXAo
KS5sb2NhbFN0b3JhZ2UoKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNDU5NjcpCisrKyBX
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBA
IFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9hcmVQbHVnaW5zRW5hYmxl
ZChmYWxzZSkKICAgICAsIG1fZGF0YWJhc2VzRW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9jYWxT
dG9yYWdlRW5hYmxlZChmYWxzZSkKKyAgICAsIG1fc2Vzc2lvblN0b3JhZ2VFbmFibGVkKHRydWUp
CiAgICAgLCBtX2lzSmF2YVNjcmlwdEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzV2ViU2VjdXJp
dHlFbmFibGVkKHRydWUpCiAgICAgLCBtX2FsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KHRydWUpCkBAIC0yNDQsNiArMjQ1LDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldExvY2FsU3RvcmFn
ZUVuYWJsZWQoYm8KICAgICBtX2xvY2FsU3RvcmFnZUVuYWJsZWQgPSBsb2NhbFN0b3JhZ2VFbmFi
bGVkOwogfQogCit2b2lkIFNldHRpbmdzOjpzZXRTZXNzaW9uU3RvcmFnZUVuYWJsZWQoYm9vbCBz
ZXNzaW9uU3RvcmFnZUVuYWJsZWQpCit7CisgICAgbV9zZXNzaW9uU3RvcmFnZUVuYWJsZWQgPSBz
ZXNzaW9uU3RvcmFnZUVuYWJsZWQ7Cit9CisKIHZvaWQgU2V0dGluZ3M6OnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKQogewogICAgIG1fcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCA9IHByaXZhdGVCcm93c2luZ0VuYWJsZWQ7CkluZGV4OiBXZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAko
cmV2aXNpb24gNDU5NjcpCisrKyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI1LDYgKzEyNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBz
ZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGxvY2FsU3RvcmFnZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsU3RvcmFnZUVuYWJsZWQ7IH0KIAorICAgICAg
ICB2b2lkIHNldFNlc3Npb25TdG9yYWdlRW5hYmxlZChib29sKTsKKyAgICAgICAgYm9vbCBzZXNz
aW9uU3RvcmFnZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25TdG9yYWdlRW5hYmxl
ZDsgfQorCiAgICAgICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sKTsKICAg
ICAgICAgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9wcml2
YXRlQnJvd3NpbmdFbmFibGVkOyB9CiAKQEAgLTI3Nyw2ICsyODAsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIGJvb2wgbV9hcmVQbHVnaW5zRW5hYmxlZCA6IDE7CiAgICAgICAgIGJv
b2wgbV9kYXRhYmFzZXNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2xvY2FsU3RvcmFnZUVu
YWJsZWQgOiAxOworICAgICAgICBib29sIG1fc2Vzc2lvblN0b3JhZ2VFbmFibGVkIDogMTsKICAg
ICAgICAgYm9vbCBtX2lzSmF2YVNjcmlwdEVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faXNX
ZWJTZWN1cml0eUVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fYWxsb3dVbml2ZXJzYWxBY2Nl
c3NGcm9tRmlsZVVSTHM6IDE7Cg==
</data>
<flag name="review"
          id="17246"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32905</attachid>
            <date>2009-07-16 17:17:31 -0700</date>
            <delta_ts>2009-07-16 17:20:10 -0700</delta_ts>
            <desc>v3</desc>
            <filename>settings.v3.patch</filename>
            <type>text/plain</type>
            <size>4604</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDktMDctMTUgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgc2Vzc2lvblN0b3JhZ2VFbmFibGVkIHNldHRpbmcgdG8gdGhlIHNldHRpbmdzIGNsYXNz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjczMTgK
KworICAgICAgICBBbGxvdyBMb2NhbFN0b3JhZ2UgdG8gYmUgZW5hYmxlZCB3aXRob3V0IGVuYWJs
aW5nIFNlc3Npb25TdG9yYWdlIGF0CisgICAgICAgIHJ1bnRpbWUuICBUaGVyZSBpcyBhIHNldHRp
bmdzIGNsYXNzIHNldHRpbmcgZm9yIGxvY2FsU3RvcmFnZSwgYnV0IG5vdAorICAgICAgICBmb3Ig
c2Vzc2lvblN0b3JhZ2UuICBXZSB3YW50IHRvIGJlIGFibGUgdG8gdGVzdCBvbmUgb2YgdGhlc2Ug
ZmVhdHVyZXMKKyAgICAgICAgd2l0aG91dCBuZWNlc3NhcmlseSBlbmFibGluZyB0aGUgb3RoZXIu
CisKKyAgICAgICAgU2Vzc2lvblN0b3JhZ2UgZGVmYXVsdHMgdG8gdHJ1ZSBzbyBhcyB0byBub3Qg
Y2hhbmdlIGJlaGF2aW9yIGFuZAorICAgICAgICBiZWNhdXNlIHRoZXJlIHJlYWxseSBhcmVuJ3Qg
YW55IHNlY3VyaXR5IGNvbmNlcm5zIGFyb3VuZCBTZXNzaW9uU3RvcmFnZQorICAgICAgICAodW5s
aWtlIExvY2Fsc1N0b3JhZ2UpLiAgVGhlIGZsYWcgaXMgbmVlZGVkIGluIENocm9taXVtIG9ubHkg
YmVjYXVzZQorICAgICAgICB3ZSB3YW50IHRvIGVuYWJsZSB0aGUgY29tcGlsZSB0aW1lIGZsYWcg
aW4gdGhlIGRlZmF1bHQgYnVpbGQsIGJ1dCBkb24ndAorICAgICAgICB3YW50IGl0IG9uIGJ5IGRl
ZmF1bHQgdW50aWwgaXQncyBiZWVuIHRob3JvdWdobHkgdGVzdGVkLgorCisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXNzaW9uU3Rv
cmFnZSk6ICBDaGVjayB0aGUgbmV3IGZsYWcKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6
bG9jYWxTdG9yYWdlKTogIEEgYml0IG9mIGNsZWFudXAKKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6ICBEZWZhdWx0IHRo
ZSBmbGFnIHRvIHRydWUKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXNzaW9uU3Rv
cmFnZUVuYWJsZWQpOiAgQWRkIHRoZSBuZXcgZmxhZworICAgICAgICAqIHBhZ2UvU2V0dGluZ3Mu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXNzaW9uU3RvcmFnZUVuYWJsZWQpOiAg
R2V0IHRoZSBuZXcgZmxhZworCiAyMDA5LTA3LTE1ICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFq
aUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4
OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAkocmV2aXNpb24gNDU5NjcpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ2LDEyICs1NDYsMTcgQEAgU3RvcmFnZSogRE9NV2lu
ZG93OjpzZXNzaW9uU3RvcmFnZSgpIGNvbgogewogICAgIGlmIChtX3Nlc3Npb25TdG9yYWdlKQog
ICAgICAgICByZXR1cm4gbV9zZXNzaW9uU3RvcmFnZS5nZXQoKTsKLSAgICAgICAgCi0gICAgUGFn
ZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHRo
aXMtPmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAg
ICAgIHJldHVybiAwOwogCi0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1l
bnQoKTsKKyAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCktPnNlc3Npb25TdG9yYWdlRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm4gMDsKIAogICAgIFJlZlB0cjxTdG9yYWdlQXJlYT4gc3RvcmFnZUFy
ZWEgPSBwYWdlLT5zZXNzaW9uU3RvcmFnZSgpLT5zdG9yYWdlQXJlYShkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKSk7CiAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRVc2VET01T
dG9yYWdlKHN0b3JhZ2VBcmVhLmdldCgpLCBmYWxzZSwgbV9mcmFtZSk7CkBAIC01NzMsOCArNTc4
LDcgQEAgU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UoKSBjb25zdAogICAgIGlmICgh
cGFnZSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBkb2N1
bWVudC0+c2V0dGluZ3MoKTsKLSAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+bG9jYWxT
dG9yYWdlRW5hYmxlZCgpKQorICAgIGlmICghcGFnZS0+c2V0dGluZ3MoKS0+bG9jYWxTdG9yYWdl
RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFN0b3JhZ2VOYW1lc3BhY2UqIGxv
Y2FsU3RvcmFnZSA9IHBhZ2UtPmdyb3VwKCkubG9jYWxTdG9yYWdlKCk7CkluZGV4OiBXZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAJKHJldmlzaW9uIDQ1OTY3KQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkK
ICAgICAsIG1fYXJlUGx1Z2luc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2RhdGFiYXNlc0VuYWJs
ZWQoZmFsc2UpCiAgICAgLCBtX2xvY2FsU3RvcmFnZUVuYWJsZWQoZmFsc2UpCisgICAgLCBtX3Nl
c3Npb25TdG9yYWdlRW5hYmxlZCh0cnVlKQogICAgICwgbV9pc0phdmFTY3JpcHRFbmFibGVkKGZh
bHNlKQogICAgICwgbV9pc1dlYlNlY3VyaXR5RW5hYmxlZCh0cnVlKQogICAgICwgbV9hbGxvd1Vu
aXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyh0cnVlKQpAQCAtMjQ0LDYgKzI0NSwxMSBAQCB2b2lk
IFNldHRpbmdzOjpzZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvCiAgICAgbV9sb2NhbFN0b3JhZ2VF
bmFibGVkID0gbG9jYWxTdG9yYWdlRW5hYmxlZDsKIH0KIAordm9pZCBTZXR0aW5nczo6c2V0U2Vz
c2lvblN0b3JhZ2VFbmFibGVkKGJvb2wgc2Vzc2lvblN0b3JhZ2VFbmFibGVkKQoreworICAgIG1f
c2Vzc2lvblN0b3JhZ2VFbmFibGVkID0gc2Vzc2lvblN0b3JhZ2VFbmFibGVkOworfQorCiB2b2lk
IFNldHRpbmdzOjpzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wgcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCkKIHsKICAgICBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQgPSBwcml2YXRlQnJvd3Np
bmdFbmFibGVkOwpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDQ1OTY3KQorKysgV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0TG9jYWxTdG9yYWdlRW5hYmxlZChib29sKTsKICAg
ICAgICAgYm9vbCBsb2NhbFN0b3JhZ2VFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbFN0
b3JhZ2VFbmFibGVkOyB9CiAKKyAgICAgICAgdm9pZCBzZXRTZXNzaW9uU3RvcmFnZUVuYWJsZWQo
Ym9vbCk7CisgICAgICAgIGJvb2wgc2Vzc2lvblN0b3JhZ2VFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9zZXNzaW9uU3RvcmFnZUVuYWJsZWQ7IH0KKwogICAgICAgICB2b2lkIHNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDsgfQogCkBAIC0yNzcs
NiArMjgwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fYXJlUGx1Z2lu
c0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fZGF0YWJhc2VzRW5hYmxlZCA6IDE7CiAgICAg
ICAgIGJvb2wgbV9sb2NhbFN0b3JhZ2VFbmFibGVkIDogMTsKKyAgICAgICAgYm9vbCBtX3Nlc3Np
b25TdG9yYWdlRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pc0phdmFTY3JpcHRFbmFibGVk
IDogMTsKICAgICAgICAgYm9vbCBtX2lzV2ViU2VjdXJpdHlFbmFibGVkIDogMTsKICAgICAgICAg
Ym9vbCBtX2FsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzOiAxOwo=
</data>
<flag name="review"
          id="17254"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>