<div dir="ltr">Hi Chris,<div><br></div><div>Thanks for sharing "Storage in Gecko" thread.</div><div><br></div><div>Regarding tests, current functions are covered by the original "test_module_LoginStore.js" [1] for now. Specific tests will be added once new functions are introduced.</div><div><br></div><div>Cheers,</div><div>Luke</div><div><br></div><div>[1] <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/test/unit/test_module_LoginStore.js">https://dxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/test/unit/test_module_LoginStore.js</a></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">2016-10-12 3:53 GMT+08:00 Chris Peterson <span dir="ltr"><<a href="mailto:cpeterson@mozilla.com" target="_blank">cpeterson@mozilla.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    Is JSONFile.jsm suitable for the long-sought Gecko storage system
    that's not as hacky as <a class="gmail-m_-3828977301276209999moz-txt-link-freetext">about:config</a> prefs or as heavyweight as
    SQLite? btw, I didn't see any tests specifically for JSONFile.jsm.
    Are the other Password Manager tests on top of JSONFile.jsm adequate
    test coverage?<br>
    <br>
    Here is a link to a 2013 "Storage in Gecko" thread on dev-platform
    bikeshedding requirements around sync/async APIs and atomic and lazy
    I/O. This thread spun out bug 866238 ("implement simple key-value
    store on top of IndexedDB").<br>
    <br>
<a class="gmail-m_-3828977301276209999moz-txt-link-freetext" href="https://groups.google.com/d/msg/mozilla.dev.platform/vYbQqkqGzlo/YYIvd-rB9ToJ" target="_blank">https://groups.google.com/d/<wbr>msg/mozilla.dev.platform/<wbr>vYbQqkqGzlo/YYIvd-rB9ToJ</a><div><div class="gmail-h5"><br>
    <br>
    <br>
    <div class="gmail-m_-3828977301276209999moz-cite-prefix">On 10/11/2016 7:53 AM, Luke Chang
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div class="gmail-h5">
      <div dir="ltr">
        <div>
          <div>Hey folks,</div>
          <div><br>
          </div>
          <div>This is a notice about a module, JSONFile.jsm, just
            landed in "toolkit/modules".</div>
          <div><br>
          </div>
          <div>Matt, Steve and I have been working on Form Autofill [1].
            While implementing, we intend to leverage modules of
            Password Manager because of their similar behaviors.
            LoginStore.jsm [2] is one of those modules.</div>
          <div><br>
          </div>
          <div>The above-mentioned JSONFile.jsm is basically separated
            from LoginStore.jsm, which is in charge of storing
            login-related data in a ".json" file. In order to increase
            the reusability of such JSON-formatted storage that we're
            going to use in Form Autofill as well, we refactored
            LoginStore.jsm. More specifically, those IO-specific APIs
            were generalized and moved to JSONFile.jsm. Therefore,
            LoginStore.jsm will focus on schema-related operations such
            as data migrations.</div>
          <div><br>
          </div>
          <div>To sum up, you can now utilize JSONFile.jsm to store
            simple data in a single file as long as the data can be
            serialized to JSON format. More details can be found in bug
            1304322 [3].</div>
          <div><br>
          </div>
          <div>Thanks,</div>
          <div>Luke</div>
          <div><br>
          </div>
          <div>[1] <a href="https://wiki.mozilla.org/Firefox/Features/Form_Autofill" target="_blank">https://wiki.mozilla.org/<wbr>Firefox/Features/Form_Autofill</a></div>
          <div>[2] <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/LoginStore.jsm" target="_blank">https://dxr.mozilla.org/<wbr>mozilla-central/source/<wbr>toolkit/components/<wbr>passwordmgr/LoginStore.jsm</a></div>
          <div>[3] <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1304322" target="_blank">https://bugzilla.mozilla.org/<wbr>show_bug.cgi?id=1304322</a></div>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="gmail-m_-3828977301276209999mimeAttachmentHeader"></fieldset>
      <br>
      </div></div><pre>______________________________<wbr>_________________
firefox-dev mailing list
<a class="gmail-m_-3828977301276209999moz-txt-link-abbreviated" href="mailto:firefox-dev@mozilla.org" target="_blank">firefox-dev@mozilla.org</a>
<a class="gmail-m_-3828977301276209999moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/firefox-dev" target="_blank">https://mail.mozilla.org/<wbr>listinfo/firefox-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>______________________________<wbr>_________________<br>
firefox-dev mailing list<br>
<a href="mailto:firefox-dev@mozilla.org">firefox-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/firefox-dev" rel="noreferrer" target="_blank">https://mail.mozilla.org/<wbr>listinfo/firefox-dev</a><br>
<br></blockquote></div><br></div></div></div>