Merge m-c to m-i
authorPhil Ringnalda <philringnalda@gmail.com>
Sun, 05 Oct 2014 09:57:42 -0700
changeset 208896 7b045852dd44a3f9ba8cf590a0daf055fb3ed7de
parent 208894 a80a2d8bbd47ba91063cacd50c0ed20e1c2c603a (current diff)
parent 208838 0ed32d9a42d67a72a18bfa13a95dd2123490c8bf (diff)
child 208897 0ca09645655e6e2c534b49a2a5bb61777b87bd34
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
milestone35.0a1
Merge m-c to m-i
--- a/browser/app/blocklist.xml
+++ b/browser/app/blocklist.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0"?>
-<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1409700581000">
+<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1412277891000">
   <emItems>
       <emItem  blockID="i454" id="sqlmoz@facebook.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                                 <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                     <prefs>
               </prefs>
@@ -213,16 +213,22 @@
               </prefs>
     </emItem>
       <emItem  blockID="i77" id="{fa277cfc-1d75-4949-a1f9-4ac8e41b2dfd}">
                         <versionRange  minVersion="0" maxVersion="*">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
+      <emItem  blockID="i710" id="{e0352044-1439-48ba-99b6-b05ed1a4d2de}">
+                        <versionRange  minVersion="0" maxVersion="*" severity="3">
+                    </versionRange>
+                    <prefs>
+              </prefs>
+    </emItem>
       <emItem  blockID="i40" id="{28387537-e3f9-4ed7-860c-11e69af4a8a0}">
                         <versionRange  minVersion="0.1" maxVersion="4.3.1.00" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i491" id="{515b2424-5911-40bd-8a2c-bdb20286d8f5}">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
@@ -278,16 +284,22 @@
       <emItem  blockID="i630" id="webbooster@iminent.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
                   <pref>browser.startup.homepage</pref>
                   <pref>browser.search.defaultenginename</pref>
               </prefs>
     </emItem>
+      <emItem  blockID="i8" id="{B13721C7-F507-4982-B2E5-502A71474FED}">
+                        <versionRange  minVersion=" " severity="1">
+                    </versionRange>
+                    <prefs>
+              </prefs>
+    </emItem>
       <emItem  blockID="i7" id="{2224e955-00e9-4613-a844-ce69fccaae91}">
                           <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i174" id="info@thebflix.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                     <prefs>
@@ -474,16 +486,22 @@
               </prefs>
     </emItem>
       <emItem  blockID="i111" os="WINNT" id="{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}">
                         <versionRange  minVersion="0" maxVersion="15.0.5" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
+      <emItem  blockID="i716" id="{cc6cc772-f121-49e0-b1f0-c26583cb0c5e}">
+                        <versionRange  minVersion="0" maxVersion="*" severity="3">
+                    </versionRange>
+                    <prefs>
+              </prefs>
+    </emItem>
       <emItem  blockID="i136" id="Adobe@flash.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i672" id="/^(saamazon@mybrowserbar\.com)|(saebay@mybrowserbar\.com)$/">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
@@ -570,16 +588,24 @@
               </prefs>
     </emItem>
       <emItem  blockID="i42" id="{D19CA586-DD6C-4a0a-96F8-14644F340D60}">
                         <versionRange  minVersion="0.1" maxVersion="14.4.0" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
+      <emItem  blockID="i628" id="ffxtlbr@iminent.com">
+                        <versionRange  minVersion="0" maxVersion="*" severity="1">
+                    </versionRange>
+                    <prefs>
+                  <pref>browser.startup.homepage</pref>
+                  <pref>browser.search.defaultenginename</pref>
+              </prefs>
+    </emItem>
       <emItem  blockID="i449" id="gystqfr@ylgga.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i502" id="{df6bb2ec-333b-4267-8c4f-3f27dc8c6e07}">
                         <versionRange  minVersion="0" maxVersion="*" severity="3">
@@ -630,22 +656,21 @@
               </prefs>
     </emItem>
       <emItem  blockID="i358" id="lfind@nijadsoft.net">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
-      <emItem  blockID="i628" id="ffxtlbr@iminent.com">
+      <emItem  blockID="i720" id="FXqG@xeeR.net">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
                   <pref>browser.startup.homepage</pref>
-                  <pref>browser.search.defaultenginename</pref>
               </prefs>
     </emItem>
       <emItem  blockID="i228" id="crossriderapp5060@crossrider.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
@@ -797,18 +822,18 @@
               </prefs>
     </emItem>
       <emItem  blockID="i678" id="{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
-      <emItem  blockID="i8" id="{B13721C7-F507-4982-B2E5-502A71474FED}">
-                        <versionRange  minVersion=" " severity="1">
+      <emItem  blockID="i106" os="WINNT" id="{97E22097-9A2F-45b1-8DAF-36AD648C7EF4}">
+                        <versionRange  minVersion="0" maxVersion="15.0.5" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i552" id="jid0-O6MIff3eO5dIGf5Tcv8RsJDKxrs@jetpack">
                         <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                     <prefs>
@@ -929,16 +954,23 @@
               </prefs>
     </emItem>
       <emItem  blockID="i477" id="mbrnovone@facebook.com">
                         <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
+      <emItem  blockID="i718" id="G4Ce4@w.net">
+                        <versionRange  minVersion="0" maxVersion="*" severity="1">
+                    </versionRange>
+                    <prefs>
+                  <pref>browser.startup.homepage</pref>
+              </prefs>
+    </emItem>
       <emItem  blockID="i13" id="{E8E88AB0-7182-11DF-904E-6045E0D72085}">
                           <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i446" id="{E90FA778-C2B7-41D0-9FA9-3FEC1CA54D66}">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
@@ -1443,18 +1475,18 @@
               </prefs>
     </emItem>
       <emItem  blockID="i354" id="{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}">
                         <versionRange  minVersion="0" maxVersion="*" severity="1">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
-      <emItem  blockID="i106" os="WINNT" id="{97E22097-9A2F-45b1-8DAF-36AD648C7EF4}">
-                        <versionRange  minVersion="0" maxVersion="15.0.5" severity="1">
+      <emItem  blockID="i714" id="{25dd52dc-89a8-469d-9e8f-8d483095d1e8}">
+                        <versionRange  minVersion="0" maxVersion="*" severity="3">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i46" id="{841468a1-d7f4-4bd3-84e6-bb0f13a06c64}">
                         <versionRange  minVersion="0.1" maxVersion="*">
                       <targetApplication  id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
                               <versionRange  minVersion="9.0a1" maxVersion="9.0" />
@@ -1925,16 +1957,22 @@
               </prefs>
     </emItem>
       <emItem  blockID="i73" id="a1g0a9g219d@a1.com">
                         <versionRange  minVersion="0" maxVersion="*">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
+      <emItem  blockID="i712" id="{a2bfe612-4cf5-48ea-907c-f3fb25bc9d6b}">
+                        <versionRange  minVersion="0" maxVersion="*" severity="3">
+                    </versionRange>
+                    <prefs>
+              </prefs>
+    </emItem>
       <emItem  blockID="i96" id="youtubeee@youtuber3.com">
                         <versionRange  minVersion="0" maxVersion="*">
                     </versionRange>
                     <prefs>
               </prefs>
     </emItem>
       <emItem  blockID="i706" id="thefoxonlybetter@quicksaver">
                         <versionRange  minVersion="1.10" maxVersion="*" severity="3">
--- a/browser/components/loop/content/conversation.html
+++ b/browser/components/loop/content/conversation.html
@@ -28,16 +28,17 @@
     <script type="text/javascript" src="loop/shared/js/utils.js"></script>
     <script type="text/javascript" src="loop/shared/js/models.js"></script>
     <script type="text/javascript" src="loop/shared/js/mixins.js"></script>
     <script type="text/javascript" src="loop/shared/js/views.js"></script>
     <script type="text/javascript" src="loop/shared/js/feedbackApiClient.js"></script>
     <script type="text/javascript" src="loop/shared/js/actions.js"></script>
     <script type="text/javascript" src="loop/shared/js/validate.js"></script>
     <script type="text/javascript" src="loop/shared/js/dispatcher.js"></script>
+    <script type="text/javascript" src="loop/shared/js/otSdkDriver.js"></script>
     <script type="text/javascript" src="loop/shared/js/conversationStore.js"></script>
     <script type="text/javascript" src="loop/js/conversationViews.js"></script>
     <script type="text/javascript" src="loop/shared/js/websocket.js"></script>
     <script type="text/javascript" src="loop/js/client.js"></script>
     <script type="text/javascript" src="loop/js/conversationViews.js"></script>
     <script type="text/javascript" src="loop/js/conversation.js"></script>
   </body>
 </html>
--- a/browser/components/loop/content/js/client.js
+++ b/browser/components/loop/content/js/client.js
@@ -222,16 +222,18 @@ loop.Client = (function($) {
      * - err null on successful registration, non-null otherwise.
      * - result an object of the obtained data for starting the call, if successful
      *
      * @param {Array} calleeIds an array of emails and phone numbers.
      * @param {String} callType the type of call.
      * @param {Function} cb Callback(err, result)
      */
     setupOutgoingCall: function(calleeIds, callType, cb) {
+      // For direct calls, we only ever use the logged-in session. Direct
+      // calls by guests aren't valid.
       this.mozLoop.hawkRequest(this.mozLoop.LOOP_SESSION_TYPE.FXA,
         "/calls", "POST", {
           calleeId: calleeIds,
           callType: callType
         },
         function (err, responseText) {
           if (err) {
             this._failureHandler(cb, err);
--- a/browser/components/loop/content/js/contacts.js
+++ b/browser/components/loop/content/js/contacts.js
@@ -12,16 +12,39 @@ loop.contacts = (function(_, mozL10n) {
   "use strict";
 
   const Button = loop.shared.views.Button;
   const ButtonGroup = loop.shared.views.ButtonGroup;
 
   // Number of contacts to add to the list at the same time.
   const CONTACTS_CHUNK_SIZE = 100;
 
+  // At least this number of contacts should be present for the filter to appear.
+  const MIN_CONTACTS_FOR_FILTERING = 7;
+
+  let getContactNames = function(contact) {
+    // The model currently does not enforce a name to be present, but we're
+    // going to assume it is awaiting more advanced validation of required fields
+    // by the model. (See bug 1069918)
+    // NOTE: this method of finding a firstname and lastname is not i18n-proof.
+    let names = contact.name[0].split(" ");
+    return {
+      firstName: names.shift(),
+      lastName: names.join(" ")
+    };
+  };
+
+  let getPreferredEmail = function(contact) {
+    // A contact may not contain email addresses, but only a phone number.
+    if (!contact.email || contact.email.length == 0) {
+      return { value: "" };
+    }
+    return contact.email.find(e => e.pref) || contact.email[0];
+  };
+
   const ContactDropdown = React.createClass({displayName: 'ContactDropdown',
     propTypes: {
       handleAction: React.PropTypes.func.isRequired,
       canEdit: React.PropTypes.bool
     },
 
     getInitialState: function () {
       return {
@@ -132,63 +155,35 @@ loop.contacts = (function(_, mozL10n) {
     },
 
     componentShouldUpdate: function(nextProps, nextState) {
       let currContact = this.props.contact;
       let nextContact = nextProps.contact;
       return (
         currContact.name[0] !== nextContact.name[0] ||
         currContact.blocked !== nextContact.blocked ||
-        this.getPreferredEmail(currContact).value !== this.getPreferredEmail(nextContact).value
+        getPreferredEmail(currContact).value !== getPreferredEmail(nextContact).value
       );
     },
 
     handleAction: function(actionName) {
       if (this.props.handleContactAction) {
         this.props.handleContactAction(this.props.contact, actionName);
       }
     },
 
-    getContactNames: function() {
-      // The model currently does not enforce a name to be present, but we're
-      // going to assume it is awaiting more advanced validation of required fields
-      // by the model. (See bug 1069918)
-      // NOTE: this method of finding a firstname and lastname is not i18n-proof.
-      let names = this.props.contact.name[0].split(" ");
-      return {
-        firstName: names.shift(),
-        lastName: names.join(" ")
-      };
-    },
-
-    getPreferredEmail: function(contact = this.props.contact) {
-      let email;
-      // A contact may not contain email addresses, but only a phone number instead.
-      if (contact.email) {
-        email = contact.email[0];
-        contact.email.some(function(address) {
-          if (address.pref) {
-            email = address;
-            return true;
-          }
-          return false;
-        });
-      }
-      return email || { value: "" };
-    },
-
     canEdit: function() {
       // We cannot modify imported contacts.  For the moment, the check for
       // determining whether the contact is imported is based on its category.
       return this.props.contact.category[0] != "google";
     },
 
     render: function() {
-      let names = this.getContactNames();
-      let email = this.getPreferredEmail();
+      let names = getContactNames(this.props.contact);
+      let email = getPreferredEmail(this.props.contact);
       let cx = React.addons.classSet;
       let contactCSSClass = cx({
         contact: true,
         blocked: this.props.contact.blocked
       });
 
       return (
         React.DOM.li({className: contactCSSClass, onMouseLeave: this.hideDropdownMenu}, 
@@ -213,20 +208,23 @@ loop.contacts = (function(_, mozL10n) {
             : null
           
         )
       );
     }
   });
 
   const ContactsList = React.createClass({displayName: 'ContactsList',
+    mixins: [React.addons.LinkedStateMixin],
+
     getInitialState: function() {
       return {
         contacts: {},
-        importBusy: false
+        importBusy: false,
+        filter: "",
       };
     },
 
     componentDidMount: function() {
       let contactsAPI = navigator.mozLoop.contacts;
 
       contactsAPI.getAll((err, contacts) => {
         if (err) {
@@ -339,35 +337,58 @@ loop.contacts = (function(_, mozL10n) {
         return ContactDetail({key: item._guid, contact: item, 
                               handleContactAction: this.handleContactAction})
       };
 
       let shownContacts = _.groupBy(this.state.contacts, function(contact) {
         return contact.blocked ? "blocked" : "available";
       });
 
+      let showFilter = Object.getOwnPropertyNames(this.state.contacts).length >=
+                       MIN_CONTACTS_FOR_FILTERING;
+      if (showFilter) {
+        let filter = this.state.filter.trim().toLocaleLowerCase();
+        if (filter) {
+          let filterFn = contact => {
+            return contact.name[0].toLocaleLowerCase().contains(filter) ||
+                   getPreferredEmail(contact).value.toLocaleLowerCase().contains(filter);
+          };
+          if (shownContacts.available) {
+            shownContacts.available = shownContacts.available.filter(filterFn);
+          }
+          if (shownContacts.blocked) {
+            shownContacts.blocked = shownContacts.blocked.filter(filterFn);
+          }
+        }
+      }
+
       // TODO: bug 1076767 - add a spinner whilst importing contacts.
       return (
         React.DOM.div(null, 
           React.DOM.div({className: "content-area"}, 
             ButtonGroup(null, 
               Button({caption: this.state.importBusy
                                ? mozL10n.get("importing_contacts_progress_button")
                                : mozL10n.get("import_contacts_button"), 
                       disabled: this.state.importBusy, 
                       onClick: this.handleImportButtonClick}), 
               Button({caption: mozL10n.get("new_contact_button"), 
                       onClick: this.handleAddContactButtonClick})
-            )
+            ), 
+            showFilter ?
+            React.DOM.input({className: "contact-filter", 
+                   placeholder: mozL10n.get("contacts_search_placesholder"), 
+                   valueLink: this.linkState("filter")})
+            : null
           ), 
           React.DOM.ul({className: "contact-list"}, 
             shownContacts.available ?
               shownContacts.available.sort(this.sortContacts).map(viewForItem) :
               null, 
-            shownContacts.blocked ?
+            shownContacts.blocked && shownContacts.blocked.length > 0 ?
               React.DOM.div({className: "contact-separator"}, mozL10n.get("contacts_blocked_contacts")) :
               null, 
             shownContacts.blocked ?
               shownContacts.blocked.sort(this.sortContacts).map(viewForItem) :
               null
           )
         )
       );
--- a/browser/components/loop/content/js/contacts.jsx
+++ b/browser/components/loop/content/js/contacts.jsx
@@ -12,16 +12,39 @@ loop.contacts = (function(_, mozL10n) {
   "use strict";
 
   const Button = loop.shared.views.Button;
   const ButtonGroup = loop.shared.views.ButtonGroup;
 
   // Number of contacts to add to the list at the same time.
   const CONTACTS_CHUNK_SIZE = 100;
 
+  // At least this number of contacts should be present for the filter to appear.
+  const MIN_CONTACTS_FOR_FILTERING = 7;
+
+  let getContactNames = function(contact) {
+    // The model currently does not enforce a name to be present, but we're
+    // going to assume it is awaiting more advanced validation of required fields
+    // by the model. (See bug 1069918)
+    // NOTE: this method of finding a firstname and lastname is not i18n-proof.
+    let names = contact.name[0].split(" ");
+    return {
+      firstName: names.shift(),
+      lastName: names.join(" ")
+    };
+  };
+
+  let getPreferredEmail = function(contact) {
+    // A contact may not contain email addresses, but only a phone number.
+    if (!contact.email || contact.email.length == 0) {
+      return { value: "" };
+    }
+    return contact.email.find(e => e.pref) || contact.email[0];
+  };
+
   const ContactDropdown = React.createClass({
     propTypes: {
       handleAction: React.PropTypes.func.isRequired,
       canEdit: React.PropTypes.bool
     },
 
     getInitialState: function () {
       return {
@@ -132,63 +155,35 @@ loop.contacts = (function(_, mozL10n) {
     },
 
     componentShouldUpdate: function(nextProps, nextState) {
       let currContact = this.props.contact;
       let nextContact = nextProps.contact;
       return (
         currContact.name[0] !== nextContact.name[0] ||
         currContact.blocked !== nextContact.blocked ||
-        this.getPreferredEmail(currContact).value !== this.getPreferredEmail(nextContact).value
+        getPreferredEmail(currContact).value !== getPreferredEmail(nextContact).value
       );
     },
 
     handleAction: function(actionName) {
       if (this.props.handleContactAction) {
         this.props.handleContactAction(this.props.contact, actionName);
       }
     },
 
-    getContactNames: function() {
-      // The model currently does not enforce a name to be present, but we're
-      // going to assume it is awaiting more advanced validation of required fields
-      // by the model. (See bug 1069918)
-      // NOTE: this method of finding a firstname and lastname is not i18n-proof.
-      let names = this.props.contact.name[0].split(" ");
-      return {
-        firstName: names.shift(),
-        lastName: names.join(" ")
-      };
-    },
-
-    getPreferredEmail: function(contact = this.props.contact) {
-      let email;
-      // A contact may not contain email addresses, but only a phone number instead.
-      if (contact.email) {
-        email = contact.email[0];
-        contact.email.some(function(address) {
-          if (address.pref) {
-            email = address;
-            return true;
-          }
-          return false;
-        });
-      }
-      return email || { value: "" };
-    },
-
     canEdit: function() {
       // We cannot modify imported contacts.  For the moment, the check for
       // determining whether the contact is imported is based on its category.
       return this.props.contact.category[0] != "google";
     },
 
     render: function() {
-      let names = this.getContactNames();
-      let email = this.getPreferredEmail();
+      let names = getContactNames(this.props.contact);
+      let email = getPreferredEmail(this.props.contact);
       let cx = React.addons.classSet;
       let contactCSSClass = cx({
         contact: true,
         blocked: this.props.contact.blocked
       });
 
       return (
         <li className={contactCSSClass} onMouseLeave={this.hideDropdownMenu}>
@@ -213,20 +208,23 @@ loop.contacts = (function(_, mozL10n) {
             : null
           }
         </li>
       );
     }
   });
 
   const ContactsList = React.createClass({
+    mixins: [React.addons.LinkedStateMixin],
+
     getInitialState: function() {
       return {
         contacts: {},
-        importBusy: false
+        importBusy: false,
+        filter: "",
       };
     },
 
     componentDidMount: function() {
       let contactsAPI = navigator.mozLoop.contacts;
 
       contactsAPI.getAll((err, contacts) => {
         if (err) {
@@ -339,35 +337,58 @@ loop.contacts = (function(_, mozL10n) {
         return <ContactDetail key={item._guid} contact={item}
                               handleContactAction={this.handleContactAction} />
       };
 
       let shownContacts = _.groupBy(this.state.contacts, function(contact) {
         return contact.blocked ? "blocked" : "available";
       });
 
+      let showFilter = Object.getOwnPropertyNames(this.state.contacts).length >=
+                       MIN_CONTACTS_FOR_FILTERING;
+      if (showFilter) {
+        let filter = this.state.filter.trim().toLocaleLowerCase();
+        if (filter) {
+          let filterFn = contact => {
+            return contact.name[0].toLocaleLowerCase().contains(filter) ||
+                   getPreferredEmail(contact).value.toLocaleLowerCase().contains(filter);
+          };
+          if (shownContacts.available) {
+            shownContacts.available = shownContacts.available.filter(filterFn);
+          }
+          if (shownContacts.blocked) {
+            shownContacts.blocked = shownContacts.blocked.filter(filterFn);
+          }
+        }
+      }
+
       // TODO: bug 1076767 - add a spinner whilst importing contacts.
       return (
         <div>
           <div className="content-area">
             <ButtonGroup>
               <Button caption={this.state.importBusy
                                ? mozL10n.get("importing_contacts_progress_button")
                                : mozL10n.get("import_contacts_button")}
                       disabled={this.state.importBusy}
                       onClick={this.handleImportButtonClick} />
               <Button caption={mozL10n.get("new_contact_button")}
                       onClick={this.handleAddContactButtonClick} />
             </ButtonGroup>
+            {showFilter ?
+            <input className="contact-filter"
+                   placeholder={mozL10n.get("contacts_search_placesholder")}
+                   valueLink={this.linkState("filter")} />
+            : null }
           </div>
           <ul className="contact-list">
             {shownContacts.available ?
               shownContacts.available.sort(this.sortContacts).map(viewForItem) :
               null}
-            {shownContacts.blocked ?
+            {shownContacts.blocked && shownContacts.blocked.length > 0 ?
               <div className="contact-separator">{mozL10n.get("contacts_blocked_contacts")}</div> :
               null}
             {shownContacts.blocked ?
               shownContacts.blocked.sort(this.sortContacts).map(viewForItem) :
               null}
           </ul>
         </div>
       );
--- a/browser/components/loop/content/js/conversation.js
+++ b/browser/components/loop/content/js/conversation.js
@@ -535,19 +535,25 @@ loop.conversation = (function(mozL10n) {
       set: function(guid, callback) {
         navigator.mozLoop.setLoopCharPref("ot.guid", guid);
         callback(null);
       }
     });
 
     var dispatcher = new loop.Dispatcher();
     var client = new loop.Client();
+    var sdkDriver = new loop.OTSdkDriver({
+      dispatcher: dispatcher,
+      sdk: OT
+    });
+
     var conversationStore = new loop.store.ConversationStore({}, {
       client: client,
-      dispatcher: dispatcher
+      dispatcher: dispatcher,
+      sdkDriver: sdkDriver
     });
 
     // XXX For now key this on the pref, but this should really be
     // set by the information from the mozLoop API when we can get it (bug 1072323).
     var outgoingEmail = navigator.mozLoop.getLoopCharPref("outgoingemail");
 
     // XXX Old class creation for the incoming conversation view, whilst
     // we transition across (bug 1072323).
--- a/browser/components/loop/content/js/conversation.jsx
+++ b/browser/components/loop/content/js/conversation.jsx
@@ -535,19 +535,25 @@ loop.conversation = (function(mozL10n) {
       set: function(guid, callback) {
         navigator.mozLoop.setLoopCharPref("ot.guid", guid);
         callback(null);
       }
     });
 
     var dispatcher = new loop.Dispatcher();
     var client = new loop.Client();
+    var sdkDriver = new loop.OTSdkDriver({
+      dispatcher: dispatcher,
+      sdk: OT
+    });
+
     var conversationStore = new loop.store.ConversationStore({}, {
       client: client,
-      dispatcher: dispatcher
+      dispatcher: dispatcher,
+      sdkDriver: sdkDriver
     });
 
     // XXX For now key this on the pref, but this should really be
     // set by the information from the mozLoop API when we can get it (bug 1072323).
     var outgoingEmail = navigator.mozLoop.getLoopCharPref("outgoingemail");
 
     // XXX Old class creation for the incoming conversation view, whilst
     // we transition across (bug 1072323).
--- a/browser/components/loop/content/js/conversationViews.js
+++ b/browser/components/loop/content/js/conversationViews.js
@@ -153,41 +153,95 @@ loop.conversationViews = (function(mozL1
       /**
        * OT inserts inline styles into the markup. Using a listener for
        * resize events helps us trigger a full width/height on the element
        * so that they update to the correct dimensions.
        * XXX: this should be factored as a mixin.
        */
       window.addEventListener('orientationchange', this.updateVideoContainer);
       window.addEventListener('resize', this.updateVideoContainer);
+
+      // The SDK needs to know about the configuration and the elements to use
+      // for display. So the best way seems to pass the information here - ideally
+      // the sdk wouldn't need to know this, but we can't change that.
+      this.props.dispatcher.dispatch(new sharedActions.SetupStreamElements({
+        publisherConfig: this._getPublisherConfig(),
+        getLocalElementFunc: this._getElement.bind(this, ".local"),
+        getRemoteElementFunc: this._getElement.bind(this, ".remote")
+      }));
     },
 
     componentWillUnmount: function() {
       window.removeEventListener('orientationchange', this.updateVideoContainer);
       window.removeEventListener('resize', this.updateVideoContainer);
     },
 
+    /**
+     * Returns either the required DOMNode
+     *
+     * @param {String} className The name of the class to get the element for.
+     */
+    _getElement: function(className) {
+      return this.getDOMNode().querySelector(className);
+    },
+
+    /**
+     * Returns the required configuration for publishing video on the sdk.
+     */
+    _getPublisherConfig: function() {
+      // height set to 100%" to fix video layout on Google Chrome
+      // @see https://bugzilla.mozilla.org/show_bug.cgi?id=1020445
+      return {
+        insertMode: "append",
+        width: "100%",
+        height: "100%",
+        publishVideo: this.props.video.enabled,
+        style: {
+          bugDisplayMode: "off",
+          buttonDisplayMode: "off",
+          nameDisplayMode: "off"
+        }
+      }
+    },
+
+    /**
+     * Used to update the video container whenever the orientation or size of the
+     * display area changes.
+     */
     updateVideoContainer: function() {
-      var localStreamParent = document.querySelector('.local .OT_publisher');
-      var remoteStreamParent = document.querySelector('.remote .OT_subscriber');
+      var localStreamParent = this._getElement('.local .OT_publisher');
+      var remoteStreamParent = this._getElement('.remote .OT_subscriber');
       if (localStreamParent) {
         localStreamParent.style.width = "100%";
       }
       if (remoteStreamParent) {
         remoteStreamParent.style.height = "100%";
       }
     },
 
+    /**
+     * Hangs up the call.
+     */
     hangup: function() {
       this.props.dispatcher.dispatch(
         new sharedActions.HangupCall());
     },
 
+    /**
+     * Used to control publishing a stream - i.e. to mute a stream
+     *
+     * @param {String} type The type of stream, e.g. "audio" or "video".
+     * @param {Boolean} enabled True to enable the stream, false otherwise.
+     */
     publishStream: function(type, enabled) {
-      // XXX Add this as part of bug 972017.
+      this.props.dispatcher.dispatch(
+        new sharedActions.SetMute({
+          type: type,
+          enabled: enabled
+        }));
     },
 
     render: function() {
       var localStreamClasses = React.addons.classSet({
         local: true,
         "local-stream": true,
         "local-stream-audio": !this.props.video.enabled
       });
@@ -281,17 +335,18 @@ loop.conversationViews = (function(mozL1
         case CALL_STATES.TERMINATED: {
           return (CallFailedView({
             dispatcher: this.props.dispatcher}
           ));
         }
         case CALL_STATES.ONGOING: {
           return (OngoingConversationView({
             dispatcher: this.props.dispatcher, 
-            video: {enabled: this.state.callType === CALL_TYPES.AUDIO_VIDEO}}
+            video: {enabled: this.state.videoMuted}, 
+            audio: {enabled: this.state.audioMuted}}
             )
           );
         }
         case CALL_STATES.FINISHED: {
           return this._renderFeedbackView();
         }
         default: {
           return (PendingConversationView({
--- a/browser/components/loop/content/js/conversationViews.jsx
+++ b/browser/components/loop/content/js/conversationViews.jsx
@@ -153,41 +153,95 @@ loop.conversationViews = (function(mozL1
       /**
        * OT inserts inline styles into the markup. Using a listener for
        * resize events helps us trigger a full width/height on the element
        * so that they update to the correct dimensions.
        * XXX: this should be factored as a mixin.
        */
       window.addEventListener('orientationchange', this.updateVideoContainer);
       window.addEventListener('resize', this.updateVideoContainer);
+
+      // The SDK needs to know about the configuration and the elements to use
+      // for display. So the best way seems to pass the information here - ideally
+      // the sdk wouldn't need to know this, but we can't change that.
+      this.props.dispatcher.dispatch(new sharedActions.SetupStreamElements({
+        publisherConfig: this._getPublisherConfig(),
+        getLocalElementFunc: this._getElement.bind(this, ".local"),
+        getRemoteElementFunc: this._getElement.bind(this, ".remote")
+      }));
     },
 
     componentWillUnmount: function() {
       window.removeEventListener('orientationchange', this.updateVideoContainer);
       window.removeEventListener('resize', this.updateVideoContainer);
     },
 
+    /**
+     * Returns either the required DOMNode
+     *
+     * @param {String} className The name of the class to get the element for.
+     */
+    _getElement: function(className) {
+      return this.getDOMNode().querySelector(className);
+    },
+
+    /**
+     * Returns the required configuration for publishing video on the sdk.
+     */
+    _getPublisherConfig: function() {
+      // height set to 100%" to fix video layout on Google Chrome
+      // @see https://bugzilla.mozilla.org/show_bug.cgi?id=1020445
+      return {
+        insertMode: "append",
+        width: "100%",
+        height: "100%",
+        publishVideo: this.props.video.enabled,
+        style: {
+          bugDisplayMode: "off",
+          buttonDisplayMode: "off",
+          nameDisplayMode: "off"
+        }
+      }
+    },
+
+    /**
+     * Used to update the video container whenever the orientation or size of the
+     * display area changes.
+     */
     updateVideoContainer: function() {
-      var localStreamParent = document.querySelector('.local .OT_publisher');
-      var remoteStreamParent = document.querySelector('.remote .OT_subscriber');
+      var localStreamParent = this._getElement('.local .OT_publisher');
+      var remoteStreamParent = this._getElement('.remote .OT_subscriber');
       if (localStreamParent) {
         localStreamParent.style.width = "100%";
       }
       if (remoteStreamParent) {
         remoteStreamParent.style.height = "100%";
       }
     },
 
+    /**
+     * Hangs up the call.
+     */
     hangup: function() {
       this.props.dispatcher.dispatch(
         new sharedActions.HangupCall());
     },
 
+    /**
+     * Used to control publishing a stream - i.e. to mute a stream
+     *
+     * @param {String} type The type of stream, e.g. "audio" or "video".
+     * @param {Boolean} enabled True to enable the stream, false otherwise.
+     */
     publishStream: function(type, enabled) {
-      // XXX Add this as part of bug 972017.
+      this.props.dispatcher.dispatch(
+        new sharedActions.SetMute({
+          type: type,
+          enabled: enabled
+        }));
     },
 
     render: function() {
       var localStreamClasses = React.addons.classSet({
         local: true,
         "local-stream": true,
         "local-stream-audio": !this.props.video.enabled
       });
@@ -281,17 +335,18 @@ loop.conversationViews = (function(mozL1
         case CALL_STATES.TERMINATED: {
           return (<CallFailedView
             dispatcher={this.props.dispatcher}
           />);
         }
         case CALL_STATES.ONGOING: {
           return (<OngoingConversationView
             dispatcher={this.props.dispatcher}
-            video={{enabled: this.state.callType === CALL_TYPES.AUDIO_VIDEO}}
+            video={{enabled: this.state.videoMuted}}
+            audio={{enabled: this.state.audioMuted}}
             />
           );
         }
         case CALL_STATES.FINISHED: {
           return this._renderFeedbackView();
         }
         default: {
           return (<PendingConversationView
--- a/browser/components/loop/content/shared/css/contacts.css
+++ b/browser/components/loop/content/shared/css/contacts.css
@@ -1,20 +1,24 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
+.content-area input.contact-filter {
+  margin-top: 14px;
+  border-radius: 10000px;
+}
+
 .contact-list {
   border-top: 1px solid #ccc;
   overflow-x: hidden;
   overflow-y: auto;
-  /* We need enough space to show the context menu of the first contact. */
-  min-height: 204px;
-  /* Show six contacts and scroll for the rest. */
-  max-height: 306px;
+  /* Space for six contacts, not affected by filtering.  This is enough space
+     to show the dropdown menu when there is only one contact. */
+  height: 306px;
 }
 
 .contact,
 .contact-separator {
   padding: 5px 10px;
   font-size: 13px;
 }
 
--- a/browser/components/loop/content/shared/js/actions.js
+++ b/browser/components/loop/content/shared/js/actions.js
@@ -65,26 +65,61 @@ loop.shared.actions = (function() {
 
     /**
      * Used for hanging up the call at the end of a successful call.
      */
     HangupCall: Action.define("hangupCall", {
     }),
 
     /**
+     * Used to indicate the peer hung up the call.
+     */
+    PeerHungupCall: Action.define("peerHungupCall", {
+    }),
+
+    /**
      * Used for notifying of connection progress state changes.
      * The connection refers to the overall connection flow as indicated
      * on the websocket.
      */
     ConnectionProgress: Action.define("connectionProgress", {
       // The connection state from the websocket.
       wsState: String
     }),
 
     /**
      * Used for notifying of connection failures.
      */
     ConnectionFailure: Action.define("connectionFailure", {
       // A string relating to the reason the connection failed.
       reason: String
+    }),
+
+    /**
+     * Used by the ongoing views to notify stores about the elements
+     * required for the sdk.
+     */
+    SetupStreamElements: Action.define("setupStreamElements", {
+      // The configuration for the publisher/subscribe options
+      publisherConfig: Object,
+      // The local stream element
+      getLocalElementFunc: Function,
+      // The remote stream element
+      getRemoteElementFunc: Function
+    }),
+
+    /**
+     * Used for notifying that the media is now up for the call.
+     */
+    MediaConnected: Action.define("mediaConnected", {
+    }),
+
+    /**
+     * Used to mute or unmute a stream
+     */
+    SetMute: Action.define("setMute", {
+      // The part of the stream to enable, e.g. "audio" or "video"
+      type: String,
+      // Whether or not to enable the stream.
+      enabled: Boolean
     })
   };
 })();
--- a/browser/components/loop/content/shared/js/conversationStore.js
+++ b/browser/components/loop/content/shared/js/conversationStore.js
@@ -3,17 +3,17 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* global loop:true */
 
 var loop = loop || {};
 loop.store = (function() {
 
   var sharedActions = loop.shared.actions;
-  var sharedUtils = loop.shared.utils;
+  var CALL_TYPES = loop.shared.utils.CALL_TYPES;
 
   /**
    * Websocket states taken from:
    * https://docs.services.mozilla.com/loop/apis.html#call-progress-state-change-progress
    */
   var WS_STATES = {
     // The call is starting, and the remote party is not yet being alerted.
     INIT: "init",
@@ -62,31 +62,35 @@ loop.store = (function() {
       // The error information, if there was a failure
       error: undefined,
       // True if the call is outgoing, false if not, undefined if unknown
       outgoing: undefined,
       // The id of the person being called for outgoing calls
       calleeId: undefined,
       // The call type for the call.
       // XXX Don't hard-code, this comes from the data in bug 1072323
-      callType: sharedUtils.CALL_TYPES.AUDIO_VIDEO,
+      callType: CALL_TYPES.AUDIO_VIDEO,
 
       // Call Connection information
       // The call id from the loop-server
       callId: undefined,
       // The connection progress url to connect the websocket
       progressURL: undefined,
       // The websocket token that allows connection to the progress url
       websocketToken: undefined,
       // SDK API key
       apiKey: undefined,
       // SDK session ID
       sessionId: undefined,
       // SDK session token
-      sessionToken: undefined
+      sessionToken: undefined,
+      // If the audio is muted
+      audioMuted: true,
+      // If the video is muted
+      videoMuted: true
     },
 
     /**
      * Constructor
      *
      * Options:
      * - {loop.Dispatcher} dispatcher The dispatcher for dispatching actions and
      *                                registering to consume actions.
@@ -99,38 +103,46 @@ loop.store = (function() {
       options = options || {};
 
       if (!options.dispatcher) {
         throw new Error("Missing option dispatcher");
       }
       if (!options.client) {
         throw new Error("Missing option client");
       }
+      if (!options.sdkDriver) {
+        throw new Error("Missing option sdkDriver");
+      }
 
       this.client = options.client;
       this.dispatcher = options.dispatcher;
+      this.sdkDriver = options.sdkDriver;
 
       this.dispatcher.register(this, [
         "connectionFailure",
         "connectionProgress",
         "gatherCallData",
         "connectCall",
         "hangupCall",
+        "peerHungupCall",
         "cancelCall",
-        "retryCall"
+        "retryCall",
+        "mediaConnected",
+        "setMute"
       ]);
     },
 
     /**
      * Handles the connection failure action, setting the state to
      * terminated.
      *
      * @param {sharedActions.ConnectionFailure} actionData The action data.
      */
     connectionFailure: function(actionData) {
+      this._endSession();
       this.set({
         callState: CALL_STATES.TERMINATED,
         callStateReason: actionData.reason
       });
     },
 
     /**
      * Handles the connection progress action, setting the next state
@@ -147,17 +159,25 @@ loop.store = (function() {
             this.set({callState: CALL_STATES.CONNECTING});
           }
           break;
         }
         case WS_STATES.ALERTING: {
           this.set({callState: CALL_STATES.ALERTING});
           break;
         }
-        case WS_STATES.CONNECTING:
+        case WS_STATES.CONNECTING: {
+          this.sdkDriver.connectSession({
+            apiKey: this.get("apiKey"),
+            sessionId: this.get("sessionId"),
+            sessionToken: this.get("sessionToken")
+          });
+          this.set({callState: CALL_STATES.ONGOING});
+          break;
+        }
         case WS_STATES.HALF_CONNECTED:
         case WS_STATES.CONNECTED: {
           this.set({callState: CALL_STATES.ONGOING});
           break;
         }
         default: {
           console.error("Unexpected websocket state passed to connectionProgress:",
             actionData.wsState);
@@ -174,16 +194,18 @@ loop.store = (function() {
     gatherCallData: function(actionData) {
       this.set({
         calleeId: actionData.calleeId,
         outgoing: !!actionData.calleeId,
         callId: actionData.callId,
         callState: CALL_STATES.GATHER
       });
 
+      this.videoMuted = this.get("callType") !== CALL_TYPES.AUDIO_VIDEO;
+
       if (this.get("outgoing")) {
         this._setupOutgoingCall();
       } // XXX Else, other types aren't supported yet.
     },
 
     /**
      * Handles the connect call action, this saves the appropriate
      * data and starts the connection for the websocket to notify the
@@ -195,51 +217,47 @@ loop.store = (function() {
       this.set(actionData.sessionData);
       this._connectWebSocket();
     },
 
     /**
      * Hangs up an ongoing call.
      */
     hangupCall: function() {
-      // XXX Stop the SDK once we add it.
-
-      // Ensure the websocket has been disconnected.
       if (this._websocket) {
         // Let the server know the user has hung up.
         this._websocket.mediaFail();
-        this._ensureWebSocketDisconnected();
       }
 
+      this._endSession();
+      this.set({callState: CALL_STATES.FINISHED});
+    },
+
+    /**
+     * The peer hungup the call.
+     */
+    peerHungupCall: function() {
+      this._endSession();
       this.set({callState: CALL_STATES.FINISHED});
     },
 
     /**
      * Cancels a call
      */
     cancelCall: function() {
       var callState = this.get("callState");
-      if (callState === CALL_STATES.TERMINATED) {
-        // All we need to do is close the window.
-        this.set({callState: CALL_STATES.CLOSE});
-        return;
+      if (this._websocket &&
+          (callState === CALL_STATES.CONNECTING ||
+           callState === CALL_STATES.ALERTING)) {
+         // Let the server know the user has hung up.
+        this._websocket.cancel();
       }
 
-      if (callState === CALL_STATES.CONNECTING ||
-          callState === CALL_STATES.ALERTING) {
-        if (this._websocket) {
-          // Let the server know the user has hung up.
-          this._websocket.cancel();
-          this._ensureWebSocketDisconnected();
-        }
-        this.set({callState: CALL_STATES.CLOSE});
-        return;
-      }
-
-      console.log("Unsupported cancel in state", callState);
+      this._endSession();
+      this.set({callState: CALL_STATES.CLOSE});
     },
 
     /**
      * Retries a call
      */
     retryCall: function() {
       var callState = this.get("callState");
       if (callState !== CALL_STATES.TERMINATED) {
@@ -249,16 +267,33 @@ loop.store = (function() {
 
       this.set({callState: CALL_STATES.GATHER});
       if (this.get("outgoing")) {
         this._setupOutgoingCall();
       }
     },
 
     /**
+     * Notifies that all media is now connected
+     */
+    mediaConnected: function() {
+      this._websocket.mediaUp();
+    },
+
+    /**
+     * Records the mute state for the stream.
+     *
+     * @param {sharedActions.setMute} actionData The mute state for the stream type.
+     */
+    setMute: function(actionData) {
+      var muteType = actionData.type + "Muted";
+      this.set(muteType, actionData.enabled);
+    },
+
+    /**
      * Obtains the outgoing call data from the server and handles the
      * result.
      */
     _setupOutgoingCall: function() {
       // XXX For now, we only have one calleeId, so just wrap that in an array.
       this.client.setupOutgoingCall([this.get("calleeId")],
         this.get("callType"),
         function(err, result) {
@@ -303,24 +338,27 @@ loop.store = (function() {
           }));
         }.bind(this)
       );
 
       this.listenTo(this._websocket, "progress", this._handleWebSocketProgress);
     },
 
     /**
-     * Ensures the websocket gets disconnected.
+     * Ensures the session is ended and the websocket is disconnected.
      */
-    _ensureWebSocketDisconnected: function() {
-     this.stopListening(this._websocket);
+    _endSession: function(nextState) {
+      this.sdkDriver.disconnectSession();
+      if (this._websocket) {
+        this.stopListening(this._websocket);
 
-      // Now close the websocket.
-      this._websocket.close();
-      delete this._websocket;
+        // Now close the websocket.
+        this._websocket.close();
+        delete this._websocket;
+      }
     },
 
     /**
      * Used to handle any progressed received from the websocket. This will
      * dispatch new actions so that the data can be handled appropriately.
      */
     _handleWebSocketProgress: function(progressData) {
       var action;
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/content/shared/js/otSdkDriver.js
@@ -0,0 +1,237 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* global loop:true */
+
+var loop = loop || {};
+loop.OTSdkDriver = (function() {
+
+  var sharedActions = loop.shared.actions;
+
+  /**
+   * This is a wrapper for the OT sdk. It is used to translate the SDK events into
+   * actions, and instruct the SDK what to do as a result of actions.
+   */
+  var OTSdkDriver = function(options) {
+      if (!options.dispatcher) {
+        throw new Error("Missing option dispatcher");
+      }
+      if (!options.sdk) {
+        throw new Error("Missing option sdk");
+      }
+
+      this.dispatcher = options.dispatcher;
+      this.sdk = options.sdk;
+
+      this.dispatcher.register(this, [
+        "setupStreamElements",
+        "setMute"
+      ]);
+  };
+
+  OTSdkDriver.prototype = {
+    /**
+     * Handles the setupStreamElements action. Saves the required data and
+     * kicks off the initialising of the publisher.
+     *
+     * @param {sharedActions.SetupStreamElements} actionData The data associated
+     *   with the action. See action.js.
+     */
+    setupStreamElements: function(actionData) {
+      this.getLocalElement = actionData.getLocalElementFunc;
+      this.getRemoteElement = actionData.getRemoteElementFunc;
+      this.publisherConfig = actionData.publisherConfig;
+
+      // At this state we init the publisher, even though we might be waiting for
+      // the initial connect of the session. This saves time when setting up
+      // the media.
+      this.publisher = this.sdk.initPublisher(this.getLocalElement(),
+        this.publisherConfig,
+        this._onPublishComplete.bind(this));
+    },
+
+    /**
+     * Handles the setMute action. Informs the published stream to mute
+     * or unmute audio as appropriate.
+     *
+     * @param {sharedActions.SetMute} actionData The data associated with the
+     *                                           action. See action.js.
+     */
+    setMute: function(actionData) {
+      if (actionData.type === "audio") {
+        this.publisher.publishAudio(actionData.enabled);
+      } else {
+        this.publisher.publishVideo(actionData.enabled);
+      }
+    },
+
+    /**
+     * Connects a session for the SDK, listening to the required events.
+     *
+     * sessionData items:
+     * - sessionId: The OT session ID
+     * - apiKey: The OT API key
+     * - sessionToken: The token for the OT session
+     *
+     * @param {Object} sessionData The session data for setting up the OT session.
+     */
+    connectSession: function(sessionData) {
+      this.session = this.sdk.initSession(sessionData.sessionId);
+
+      this.session.on("streamCreated", this._onRemoteStreamCreated.bind(this));
+      this.session.on("connectionDestroyed",
+        this._onConnectionDestroyed.bind(this));
+      this.session.on("sessionDisconnected",
+        this._onSessionDisconnected.bind(this));
+
+      // This starts the actual session connection.
+      this.session.connect(sessionData.apiKey, sessionData.sessionToken,
+        this._onConnectionComplete.bind(this));
+    },
+
+    /**
+     * Disconnects the sdk session.
+     */
+    disconnectSession: function() {
+      if (this.session) {
+        this.session.off("streamCreated", this._onRemoteStreamCreated.bind(this));
+        this.session.off("connectionDestroyed",
+          this._onConnectionDestroyed.bind(this));
+        this.session.off("sessionDisconnected",
+          this._onSessionDisconnected.bind(this));
+
+        this.session.disconnect();
+        delete this.session;
+      }
+      if (this.publisher) {
+        this.publisher.destroy();
+        delete this.publisher;
+      }
+
+      // Also, tidy these variables ready for next time.
+      delete this._sessionConnected;
+      delete this._publisherReady;
+      delete this._publishedLocalStream;
+      delete this._subscribedRemoteStream;
+    },
+
+    /**
+     * Called once the session has finished connecting.
+     *
+     * @param {Error} error An OT error object, null if there was no error.
+     */
+    _onConnectionComplete: function(error) {
+      if (error) {
+        console.error("Failed to complete connection", error);
+        this.dispatcher.dispatch(new sharedActions.ConnectionFailure({
+          reason: "couldNotConnect"
+        }));
+        return;
+      }
+
+      this._sessionConnected = true;
+      this._maybePublishLocalStream();
+    },
+
+    /**
+     * Handles the connection event for a peer's connection being dropped.
+     *
+     * @param {SessionDisconnectEvent} event The event details
+     * https://tokbox.com/opentok/libraries/client/js/reference/SessionDisconnectEvent.html
+     */
+    _onConnectionDestroyed: function(event) {
+      var action;
+      if (event.reason === "clientDisconnected") {
+        action = new sharedActions.PeerHungupCall();
+      } else {
+        // Strictly speaking this isn't a failure on our part, but since our
+        // flow requires a full reconnection, then we just treat this as
+        // if a failure of our end had occurred.
+        action = new sharedActions.ConnectionFailure({
+          reason: "peerNetworkDisconnected"
+        });
+      }
+      this.dispatcher.dispatch(action);
+    },
+
+    /**
+     * Handles the session event for the connection for this client being
+     * destroyed.
+     *
+     * @param {SessionDisconnectEvent} event The event details:
+     * https://tokbox.com/opentok/libraries/client/js/reference/SessionDisconnectEvent.html
+     */
+    _onSessionDisconnected: function(event) {
+      // We only need to worry about the network disconnected reason here.
+      if (event.reason === "networkDisconnected") {
+        this.dispatcher.dispatch(new sharedActions.ConnectionFailure({
+          reason: "networkDisconnected"
+        }));
+      }
+    },
+
+    /**
+     * Handles the event when the remote stream is created.
+     *
+     * @param {StreamEvent} event The event details:
+     * https://tokbox.com/opentok/libraries/client/js/reference/StreamEvent.html
+     */
+    _onRemoteStreamCreated: function(event) {
+      this.session.subscribe(event.stream,
+        this.getRemoteElement(), this.publisherConfig);
+
+      this._subscribedRemoteStream = true;
+      if (this._checkAllStreamsConnected()) {
+        this.dispatcher.dispatch(new sharedActions.MediaConnected());
+      }
+    },
+
+    /**
+     * Handles the publishing being complete.
+     *
+     * @param {Error} error An OT error object, null if there was no error.
+     */
+    _onPublishComplete: function(error) {
+      if (error) {
+        console.error("Failed to initialize publisher", error);
+        this.dispatcher.dispatch(new sharedActions.ConnectionFailure({
+          reason: "noMedia"
+        }));
+        return;
+      }
+
+      this._publisherReady = true;
+      this._maybePublishLocalStream();
+    },
+
+    /**
+     * Publishes the local stream if the session is connected
+     * and the publisher is ready.
+     */
+    _maybePublishLocalStream: function() {
+      if (this._sessionConnected && this._publisherReady) {
+        // We are clear to publish the stream to the session.
+        this.session.publish(this.publisher);
+
+        // Now record the fact, and check if we've got all media yet.
+        this._publishedLocalStream = true;
+        if (this._checkAllStreamsConnected()) {
+          this.dispatcher.dispatch(new sharedActions.MediaConnected());
+        }
+      }
+    },
+
+    /**
+     * Used to check if both local and remote streams are available
+     * and send an action if they are.
+     */
+    _checkAllStreamsConnected: function() {
+      return this._publishedLocalStream &&
+        this._subscribedRemoteStream;
+    }
+  };
+
+  return OTSdkDriver;
+
+})();
--- a/browser/components/loop/jar.mn
+++ b/browser/components/loop/jar.mn
@@ -54,16 +54,17 @@ browser.jar:
 
   # Shared scripts
   content/browser/loop/shared/js/actions.js           (content/shared/js/actions.js)
   content/browser/loop/shared/js/conversationStore.js (content/shared/js/conversationStore.js)
   content/browser/loop/shared/js/dispatcher.js        (content/shared/js/dispatcher.js)
   content/browser/loop/shared/js/feedbackApiClient.js (content/shared/js/feedbackApiClient.js)
   content/browser/loop/shared/js/models.js            (content/shared/js/models.js)
   content/browser/loop/shared/js/mixins.js            (content/shared/js/mixins.js)
+  content/browser/loop/shared/js/otSdkDriver.js       (content/shared/js/otSdkDriver.js)
   content/browser/loop/shared/js/views.js             (content/shared/js/views.js)
   content/browser/loop/shared/js/utils.js             (content/shared/js/utils.js)
   content/browser/loop/shared/js/validate.js          (content/shared/js/validate.js)
   content/browser/loop/shared/js/websocket.js         (content/shared/js/websocket.js)
 
   # Shared libs
 #ifdef DEBUG
   content/browser/loop/shared/libs/react-0.11.1.js    (content/shared/libs/react-0.11.1.js)
--- a/browser/components/loop/test/desktop-local/conversationViews_test.js
+++ b/browser/components/loop/test/desktop-local/conversationViews_test.js
@@ -156,36 +156,130 @@ describe("loop.conversationViews", funct
         React.addons.TestUtils.Simulate.click(cancelBtn);
 
         sinon.assert.calledOnce(dispatcher.dispatch);
         sinon.assert.calledWithMatch(dispatcher.dispatch,
           sinon.match.hasOwn("name", "cancelCall"));
       });
   });
 
+  describe("OngoingConversationView", function() {
+    function mountTestComponent(props) {
+      return TestUtils.renderIntoDocument(
+        loop.conversationViews.OngoingConversationView(props));
+    }
+
+    it("should dispatch a setupStreamElements action when the view is created",
+      function() {
+        view = mountTestComponent({
+          dispatcher: dispatcher
+        });
+
+        sinon.assert.calledOnce(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "setupStreamElements"));
+      });
+
+    it("should dispatch a hangupCall action when the hangup button is pressed",
+      function() {
+        view = mountTestComponent({
+          dispatcher: dispatcher
+        });
+
+        var hangupBtn = view.getDOMNode().querySelector('.btn-hangup');
+
+        React.addons.TestUtils.Simulate.click(hangupBtn);
+
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "hangupCall"));
+      });
+
+    it("should dispatch a setMute action when the audio mute button is pressed",
+      function() {
+        view = mountTestComponent({
+          dispatcher: dispatcher,
+          audio: {enabled: false}
+        });
+
+        var muteBtn = view.getDOMNode().querySelector('.btn-mute-audio');
+
+        React.addons.TestUtils.Simulate.click(muteBtn);
+
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "setMute"));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("enabled", true));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("type", "audio"));
+      });
+
+    it("should dispatch a setMute action when the video mute button is pressed",
+      function() {
+        view = mountTestComponent({
+          dispatcher: dispatcher,
+          video: {enabled: true}
+        });
+
+        var muteBtn = view.getDOMNode().querySelector('.btn-mute-video');
+
+        React.addons.TestUtils.Simulate.click(muteBtn);
+
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "setMute"));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("enabled", false));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("type", "video"));
+      });
+
+    it("should set the mute button as mute off", function() {
+      view = mountTestComponent({
+        dispatcher: dispatcher,
+        video: {enabled: true}
+      });
+
+      var muteBtn = view.getDOMNode().querySelector('.btn-mute-video');
+
+      expect(muteBtn.classList.contains("muted")).eql(false);
+    });
+
+    it("should set the mute button as mute on", function() {
+      view = mountTestComponent({
+        dispatcher: dispatcher,
+        audio: {enabled: false}
+      });
+
+      var muteBtn = view.getDOMNode().querySelector('.btn-mute-audio');
+
+      expect(muteBtn.classList.contains("muted")).eql(true);
+    });
+  });
+
   describe("OutgoingConversationView", function() {
     var store;
 
     function mountTestComponent() {
       return TestUtils.renderIntoDocument(
         loop.conversationViews.OutgoingConversationView({
+          dispatcher: dispatcher,
           store: store
         }));
     }
 
     beforeEach(function() {
-      store = new loop.store.ConversationStore({}, {
-        dispatcher: dispatcher,
-        client: {}
-      });
-
       navigator.mozLoop = {
         getLoopCharPref: function() { return "fake"; },
         appVersionInfo: sinon.spy()
       };
+
+      store = new loop.store.ConversationStore({}, {
+        dispatcher: dispatcher,
+        client: {},
+        sdkDriver: {}
+      });
     });
 
     afterEach(function() {
       delete navigator.mozLoop;
     });
 
     it("should render the CallFailedView when the call state is 'terminated'",
       function() {
--- a/browser/components/loop/test/desktop-local/conversation_test.js
+++ b/browser/components/loop/test/desktop-local/conversation_test.js
@@ -138,17 +138,18 @@ describe("loop.conversation", function()
       oldTitle = document.title;
       client = new loop.Client();
       conversation = new loop.shared.models.ConversationModel({}, {
         sdk: {}
       });
       dispatcher = new loop.Dispatcher();
       store = new loop.store.ConversationStore({}, {
         client: client,
-        dispatcher: dispatcher
+        dispatcher: dispatcher,
+        sdkDriver: {}
       });
     });
 
     afterEach(function() {
       ccView = undefined;
       document.title = oldTitle;
     });
 
--- a/browser/components/loop/test/desktop-local/index.html
+++ b/browser/components/loop/test/desktop-local/index.html
@@ -37,16 +37,17 @@
   <script src="../../content/shared/js/conversationStore.js"></script>
   <script src="../../content/shared/js/models.js"></script>
   <script src="../../content/shared/js/mixins.js"></script>
   <script src="../../content/shared/js/views.js"></script>
   <script src="../../content/shared/js/websocket.js"></script>
   <script src="../../content/shared/js/actions.js"></script>
   <script src="../../content/shared/js/validate.js"></script>
   <script src="../../content/shared/js/dispatcher.js"></script>
+  <script src="../../content/shared/js/otSdkDriver.js"></script>
   <script src="../../content/js/client.js"></script>
   <script src="../../content/js/conversationViews.js"></script>
   <script src="../../content/js/conversation.js"></script>
   <script type="text/javascript;version=1.8" src="../../content/js/contacts.js"></script>
   <script src="../../content/js/panel.js"></script>
 
   <!-- Test scripts -->
   <script src="client_test.js"></script>
--- a/browser/components/loop/test/shared/conversationStore_test.js
+++ b/browser/components/loop/test/shared/conversationStore_test.js
@@ -5,18 +5,19 @@ var expect = chai.expect;
 
 describe("loop.ConversationStore", function () {
   "use strict";
 
   var CALL_STATES = loop.store.CALL_STATES;
   var WS_STATES = loop.store.WS_STATES;
   var sharedActions = loop.shared.actions;
   var sharedUtils = loop.shared.utils;
-  var sandbox, dispatcher, client, store, fakeSessionData;
+  var sandbox, dispatcher, client, store, fakeSessionData, sdkDriver;
   var connectPromise, resolveConnectPromise, rejectConnectPromise;
+  var wsCancelSpy, wsCloseSpy, wsMediaUpSpy, fakeWebsocket;
 
   function checkFailures(done, f) {
     try {
       f();
       done();
     } catch (err) {
       done(err);
     }
@@ -24,19 +25,35 @@ describe("loop.ConversationStore", funct
 
   beforeEach(function() {
     sandbox = sinon.sandbox.create();
 
     dispatcher = new loop.Dispatcher();
     client = {
       setupOutgoingCall: sinon.stub()
     };
+    sdkDriver = {
+      connectSession: sinon.stub(),
+      disconnectSession: sinon.stub()
+    };
+
+    wsCancelSpy = sinon.spy();
+    wsCloseSpy = sinon.spy();
+    wsMediaUpSpy = sinon.spy();
+
+    fakeWebsocket = {
+      cancel: wsCancelSpy,
+      close: wsCloseSpy,
+      mediaUp: wsMediaUpSpy
+    };
+
     store = new loop.store.ConversationStore({}, {
       client: client,
-      dispatcher: dispatcher
+      dispatcher: dispatcher,
+      sdkDriver: sdkDriver
     });
     fakeSessionData = {
       apiKey: "fakeKey",
       callId: "142536",
       sessionId: "321456",
       sessionToken: "341256",
       websocketToken: "543216",
       progressURL: "fakeURL"
@@ -58,28 +75,61 @@ describe("loop.ConversationStore", funct
 
   afterEach(function() {
     sandbox.restore();
   });
 
   describe("#initialize", function() {
     it("should throw an error if the dispatcher is missing", function() {
       expect(function() {
-        new loop.store.ConversationStore({}, {client: client});
+        new loop.store.ConversationStore({}, {
+          client: client,
+          sdkDriver: sdkDriver
+        });
       }).to.Throw(/dispatcher/);
     });
 
     it("should throw an error if the client is missing", function() {
       expect(function() {
-        new loop.store.ConversationStore({}, {dispatcher: dispatcher});
+        new loop.store.ConversationStore({}, {
+          dispatcher: dispatcher,
+          sdkDriver: sdkDriver
+        });
       }).to.Throw(/client/);
     });
+
+    it("should throw an error if the sdkDriver is missing", function() {
+      expect(function() {
+        new loop.store.ConversationStore({}, {
+          client: client,
+          dispatcher: dispatcher
+        });
+      }).to.Throw(/sdkDriver/);
+    });
   });
 
   describe("#connectionFailure", function() {
+    beforeEach(function() {
+      store._websocket = fakeWebsocket;
+    });
+
+    it("should disconnect the session", function() {
+      dispatcher.dispatch(
+        new sharedActions.ConnectionFailure({reason: "fake"}));
+
+      sinon.assert.calledOnce(sdkDriver.disconnectSession);
+    });
+
+    it("should ensure the websocket is closed", function() {
+      dispatcher.dispatch(
+        new sharedActions.ConnectionFailure({reason: "fake"}));
+
+      sinon.assert.calledOnce(wsCloseSpy);
+    });
+
     it("should set the state to 'terminated'", function() {
       store.set({callState: CALL_STATES.ALERTING});
 
       dispatcher.dispatch(
         new sharedActions.ConnectionFailure({reason: "fake"}));
 
       expect(store.get("callState")).eql(CALL_STATES.TERMINATED);
       expect(store.get("callStateReason")).eql("fake");
@@ -114,45 +164,39 @@ describe("loop.ConversationStore", funct
         dispatcher.dispatch(
           new sharedActions.ConnectionProgress({wsState: WS_STATES.ALERTING}));
 
         expect(store.get("callState")).eql(CALL_STATES.ALERTING);
       });
     });
 
     describe("progress: connecting", function() {
-      it("should change the state to 'ongoing'", function() {
+      beforeEach(function() {
         store.set({callState: CALL_STATES.ALERTING});
+      });
 
+      it("should change the state to 'ongoing'", function() {
         dispatcher.dispatch(
           new sharedActions.ConnectionProgress({wsState: WS_STATES.CONNECTING}));
 
         expect(store.get("callState")).eql(CALL_STATES.ONGOING);
       });
-    });
 
-    describe("progress: half-connected", function() {
-      it("should change the state to 'ongoing'", function() {
-        store.set({callState: CALL_STATES.ALERTING});
+      it("should connect the session", function() {
+        store.set(fakeSessionData);
 
         dispatcher.dispatch(
-          new sharedActions.ConnectionProgress({wsState: WS_STATES.HALF_CONNECTED}));
-
-        expect(store.get("callState")).eql(CALL_STATES.ONGOING);
-      });
-    });
+          new sharedActions.ConnectionProgress({wsState: WS_STATES.CONNECTING}));
 
-    describe("progress: connecting", function() {
-      it("should change the state to 'ongoing'", function() {
-        store.set({callState: CALL_STATES.ALERTING});
-
-        dispatcher.dispatch(
-          new sharedActions.ConnectionProgress({wsState: WS_STATES.CONNECTED}));
-
-        expect(store.get("callState")).eql(CALL_STATES.ONGOING);
+        sinon.assert.calledOnce(sdkDriver.connectSession);
+        sinon.assert.calledWithExactly(sdkDriver.connectSession, {
+          apiKey: "fakeKey",
+          sessionId: "321456",
+          sessionToken: "341256"
+        });
       });
     });
   });
 
   describe("#gatherCallData", function() {
     beforeEach(function() {
       store.set({callState: CALL_STATES.INIT});
     });
@@ -327,16 +371,22 @@ describe("loop.ConversationStore", funct
 
       store._websocket = {
         mediaFail: wsMediaFailSpy,
         close: wsCloseSpy
       };
       store.set({callState: CALL_STATES.ONGOING});
     });
 
+    it("should disconnect the session", function() {
+      dispatcher.dispatch(new sharedActions.HangupCall());
+
+      sinon.assert.calledOnce(sdkDriver.disconnectSession);
+    });
+
     it("should send a media-fail message to the websocket if it is open", function() {
       dispatcher.dispatch(new sharedActions.HangupCall());
 
       sinon.assert.calledOnce(wsMediaFailSpy);
     });
 
     it("should ensure the websocket is closed", function() {
       dispatcher.dispatch(new sharedActions.HangupCall());
@@ -346,56 +396,87 @@ describe("loop.ConversationStore", funct
 
     it("should set the callState to finished", function() {
       dispatcher.dispatch(new sharedActions.HangupCall());
 
       expect(store.get("callState")).eql(CALL_STATES.FINISHED);
     });
   });
 
+  describe("#peerHungupCall", function() {
+    var wsMediaFailSpy, wsCloseSpy;
+    beforeEach(function() {
+      wsMediaFailSpy = sinon.spy();
+      wsCloseSpy = sinon.spy();
+
+      store._websocket = {
+        mediaFail: wsMediaFailSpy,
+        close: wsCloseSpy
+      };
+      store.set({callState: CALL_STATES.ONGOING});
+    });
+
+    it("should disconnect the session", function() {
+      dispatcher.dispatch(new sharedActions.PeerHungupCall());
+
+      sinon.assert.calledOnce(sdkDriver.disconnectSession);
+    });
+
+    it("should ensure the websocket is closed", function() {
+      dispatcher.dispatch(new sharedActions.PeerHungupCall());
+
+      sinon.assert.calledOnce(wsCloseSpy);
+    });
+
+    it("should set the callState to finished", function() {
+      dispatcher.dispatch(new sharedActions.PeerHungupCall());
+
+      expect(store.get("callState")).eql(CALL_STATES.FINISHED);
+    });
+  });
+
   describe("#cancelCall", function() {
+    beforeEach(function() {
+      store._websocket = fakeWebsocket;
+
+      store.set({callState: CALL_STATES.CONNECTING});
+    });
+
+    it("should disconnect the session", function() {
+      dispatcher.dispatch(new sharedActions.CancelCall());
+
+      sinon.assert.calledOnce(sdkDriver.disconnectSession);
+    });
+
+    it("should send a cancel message to the websocket if it is open", function() {
+      dispatcher.dispatch(new sharedActions.CancelCall());
+
+      sinon.assert.calledOnce(wsCancelSpy);
+    });
+
+    it("should ensure the websocket is closed", function() {
+      dispatcher.dispatch(new sharedActions.CancelCall());
+
+      sinon.assert.calledOnce(wsCloseSpy);
+    });
+
+    it("should set the state to close if the call is connecting", function() {
+      dispatcher.dispatch(new sharedActions.CancelCall());
+
+      expect(store.get("callState")).eql(CALL_STATES.CLOSE);
+    });
+
     it("should set the state to close if the call has terminated already", function() {
       store.set({callState: CALL_STATES.TERMINATED});
 
       dispatcher.dispatch(new sharedActions.CancelCall());
 
       expect(store.get("callState")).eql(CALL_STATES.CLOSE);
     });
 
-    describe("whilst connecting", function() {
-      var wsCancelSpy, wsCloseSpy;
-      beforeEach(function() {
-        wsCancelSpy = sinon.spy();
-        wsCloseSpy = sinon.spy();
-
-        store._websocket = {
-          cancel: wsCancelSpy,
-          close: wsCloseSpy
-        };
-        store.set({callState: CALL_STATES.CONNECTING});
-      });
-
-      it("should send a cancel message to the websocket if it is open", function() {
-        dispatcher.dispatch(new sharedActions.CancelCall());
-
-        sinon.assert.calledOnce(wsCancelSpy);
-      });
-
-      it("should ensure the websocket is closed", function() {
-        dispatcher.dispatch(new sharedActions.CancelCall());
-
-        sinon.assert.calledOnce(wsCloseSpy);
-      });
-
-      it("should set the state to close if the call is connecting", function() {
-        dispatcher.dispatch(new sharedActions.CancelCall());
-
-        expect(store.get("callState")).eql(CALL_STATES.CLOSE);
-      });
-    });
   });
 
   describe("#retryCall", function() {
     it("should set the state to gather", function() {
       store.set({callState: CALL_STATES.TERMINATED});
 
       dispatcher.dispatch(new sharedActions.RetryCall());
 
@@ -413,16 +494,50 @@ describe("loop.ConversationStore", funct
       dispatcher.dispatch(new sharedActions.RetryCall());
 
       sinon.assert.calledOnce(client.setupOutgoingCall);
       sinon.assert.calledWith(client.setupOutgoingCall,
         ["fake"], sharedUtils.CALL_TYPES.AUDIO_VIDEO);
     });
   });
 
+  describe("#mediaConnected", function() {
+    it("should send mediaUp via the websocket", function() {
+      store._websocket = fakeWebsocket;
+
+      dispatcher.dispatch(new sharedActions.MediaConnected());
+
+      sinon.assert.calledOnce(wsMediaUpSpy);
+    });
+  });
+
+  describe("#setMute", function() {
+    it("should save the mute state for the audio stream", function() {
+      store.set({"audioMuted": false});
+
+      dispatcher.dispatch(new sharedActions.SetMute({
+        type: "audio",
+        enabled: true
+      }));
+
+      expect(store.get("audioMuted")).eql(true);
+    });
+
+    it("should save the mute state for the video stream", function() {
+      store.set({"videoMuted": true});
+
+      dispatcher.dispatch(new sharedActions.SetMute({
+        type: "video",
+        enabled: false
+      }));
+
+      expect(store.get("videoMuted")).eql(false);
+    });
+  });
+
   describe("Events", function() {
     describe("Websocket progress", function() {
       beforeEach(function() {
         dispatcher.dispatch(
           new sharedActions.ConnectCall({sessionData: fakeSessionData}));
 
         sandbox.stub(dispatcher, "dispatch");
       });
--- a/browser/components/loop/test/shared/index.html
+++ b/browser/components/loop/test/shared/index.html
@@ -37,27 +37,29 @@
   <script src="../../content/shared/js/models.js"></script>
   <script src="../../content/shared/js/mixins.js"></script>
   <script src="../../content/shared/js/views.js"></script>
   <script src="../../content/shared/js/websocket.js"></script>
   <script src="../../content/shared/js/feedbackApiClient.js"></script>
   <script src="../../content/shared/js/validate.js"></script>
   <script src="../../content/shared/js/actions.js"></script>
   <script src="../../content/shared/js/dispatcher.js"></script>
+  <script src="../../content/shared/js/otSdkDriver.js"></script>
   <script src="../../content/shared/js/conversationStore.js"></script>
 
   <!-- Test scripts -->
   <script src="models_test.js"></script>
   <script src="mixins_test.js"></script>
   <script src="utils_test.js"></script>
   <script src="views_test.js"></script>
   <script src="websocket_test.js"></script>
   <script src="feedbackApiClient_test.js"></script>
   <script src="validate_test.js"></script>
   <script src="dispatcher_test.js"></script>
   <script src="conversationStore_test.js"></script>
+  <script src="otSdkDriver_test.js"></script>
   <script>
     mocha.run(function () {
       $("#mocha").append("<p id='complete'>Complete.</p>");
     });
   </script>
 </body>
 </html>
new file mode 100644
--- /dev/null
+++ b/browser/components/loop/test/shared/otSdkDriver_test.js
@@ -0,0 +1,300 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+var expect = chai.expect;
+
+describe("loop.OTSdkDriver", function () {
+  "use strict";
+
+  var sharedActions = loop.shared.actions;
+
+  var sandbox;
+  var dispatcher, driver, publisher, sdk, session, sessionData;
+  var fakeLocalElement, fakeRemoteElement, publisherConfig;
+
+  beforeEach(function() {
+    sandbox = sinon.sandbox.create();
+
+    fakeLocalElement = {fake: 1};
+    fakeRemoteElement = {fake: 2};
+    publisherConfig = {
+      fake: "config"
+    };
+    sessionData = {
+      apiKey: "1234567890",
+      sessionId: "3216549870",
+      sessionToken: "1357924680"
+    };
+
+    dispatcher = new loop.Dispatcher();
+    session = _.extend({
+      connect: sinon.stub(),
+      disconnect: sinon.stub(),
+      publish: sinon.stub(),
+      subscribe: sinon.stub()
+    }, Backbone.Events);
+
+    publisher = {
+      destroy: sinon.stub(),
+      publishAudio: sinon.stub(),
+      publishVideo: sinon.stub()
+    };
+
+    sdk = {
+      initPublisher: sinon.stub(),
+      initSession: sinon.stub().returns(session)
+    };
+
+    driver = new loop.OTSdkDriver({
+      dispatcher: dispatcher,
+      sdk: sdk
+    });
+  });
+
+  afterEach(function() {
+    sandbox.restore();
+  });
+
+  describe("Constructor", function() {
+    it("should throw an error if the dispatcher is missing", function() {
+      expect(function() {
+        new loop.OTSdkDriver({sdk: sdk});
+      }).to.Throw(/dispatcher/);
+    });
+
+    it("should throw an error if the sdk is missing", function() {
+      expect(function() {
+        new loop.OTSdkDriver({dispatcher: dispatcher});
+      }).to.Throw(/sdk/);
+    });
+  });
+
+  describe("#setupStreamElements", function() {
+    it("should call initPublisher", function() {
+      dispatcher.dispatch(new sharedActions.SetupStreamElements({
+        getLocalElementFunc: function() {return fakeLocalElement;},
+        getRemoteElementFunc: function() {return fakeRemoteElement;},
+        publisherConfig: publisherConfig
+      }));
+
+      sinon.assert.calledOnce(sdk.initPublisher);
+      sinon.assert.calledWith(sdk.initPublisher, fakeLocalElement, publisherConfig);
+    });
+
+    describe("On Publisher Complete", function() {
+      it("should publish the stream if the connection is ready", function() {
+        sdk.initPublisher.callsArgWith(2, null);
+
+        driver.session = session;
+        driver._sessionConnected = true;
+
+        dispatcher.dispatch(new sharedActions.SetupStreamElements({
+          getLocalElementFunc: function() {return fakeLocalElement;},
+          getRemoteElementFunc: function() {return fakeRemoteElement;},
+          publisherConfig: publisherConfig
+        }));
+
+        sinon.assert.calledOnce(session.publish);
+      });
+
+      it("should dispatch connectionFailure if connecting failed", function() {
+        sdk.initPublisher.callsArgWith(2, new Error("Failure"));
+
+        // Special stub, as we want to use the dispatcher, but also know that
+        // we've been called correctly for the second dispatch.
+        var dispatchStub = (function() {
+          var originalDispatch = dispatcher.dispatch.bind(dispatcher);
+          return sandbox.stub(dispatcher, "dispatch", function(action) {
+            originalDispatch(action);
+          });
+        }());
+
+        driver.session = session;
+        driver._sessionConnected = true;
+
+        dispatcher.dispatch(new sharedActions.SetupStreamElements({
+          getLocalElementFunc: function() {return fakeLocalElement;},
+          getRemoteElementFunc: function() {return fakeRemoteElement;},
+          publisherConfig: publisherConfig
+        }));
+
+        sinon.assert.called(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "connectionFailure"));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("reason", "noMedia"));
+      });
+    });
+  });
+
+  describe("#setMute", function() {
+    beforeEach(function() {
+      sdk.initPublisher.returns(publisher);
+
+      dispatcher.dispatch(new sharedActions.SetupStreamElements({
+        getLocalElementFunc: function() {return fakeLocalElement;},
+        getRemoteElementFunc: function() {return fakeRemoteElement;},
+        publisherConfig: publisherConfig
+      }));
+    });
+
+    it("should publishAudio with the correct enabled value", function() {
+      dispatcher.dispatch(new sharedActions.SetMute({
+        type: "audio",
+        enabled: false
+      }));
+
+      sinon.assert.calledOnce(publisher.publishAudio);
+      sinon.assert.calledWithExactly(publisher.publishAudio, false);
+    });
+
+    it("should publishVideo with the correct enabled value", function() {
+      dispatcher.dispatch(new sharedActions.SetMute({
+        type: "video",
+        enabled: true
+      }));
+
+      sinon.assert.calledOnce(publisher.publishVideo);
+      sinon.assert.calledWithExactly(publisher.publishVideo, true);
+    });
+  });
+
+  describe("#connectSession", function() {
+    it("should initialise a new session", function() {
+      driver.connectSession(sessionData);
+
+      sinon.assert.calledOnce(sdk.initSession);
+      sinon.assert.calledWithExactly(sdk.initSession, "3216549870");
+    });
+
+    it("should connect the session", function () {
+      driver.connectSession(sessionData);
+
+      sinon.assert.calledOnce(session.connect);
+      sinon.assert.calledWith(session.connect, "1234567890", "1357924680");
+    });
+
+    describe("On connection complete", function() {
+      it("should publish the stream if the publisher is ready", function() {
+        driver._publisherReady = true;
+        session.connect.callsArg(2);
+
+        driver.connectSession(sessionData);
+
+        sinon.assert.calledOnce(session.publish);
+      });
+
+      it("should dispatch connectionFailure if connecting failed", function() {
+        session.connect.callsArgWith(2, new Error("Failure"));
+        sandbox.stub(dispatcher, "dispatch");
+
+        driver.connectSession(sessionData);
+
+        sinon.assert.calledOnce(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "connectionFailure"));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("reason", "couldNotConnect"));
+      });
+    });
+  });
+
+  describe("#disconnectionSession", function() {
+    it("should disconnect the session", function() {
+      driver.session = session;
+
+      driver.disconnectSession();
+
+      sinon.assert.calledOnce(session.disconnect);
+    });
+
+    it("should destroy the publisher", function() {
+      driver.publisher = publisher;
+
+      driver.disconnectSession();
+
+      sinon.assert.calledOnce(publisher.destroy);
+    });
+  });
+
+  describe("Events", function() {
+    beforeEach(function() {
+      driver.connectSession(sessionData);
+
+      dispatcher.dispatch(new sharedActions.SetupStreamElements({
+        getLocalElementFunc: function() {return fakeLocalElement;},
+        getRemoteElementFunc: function() {return fakeRemoteElement;},
+        publisherConfig: publisherConfig
+      }));
+
+      sandbox.stub(dispatcher, "dispatch");
+    });
+
+    describe("connectionDestroyed", function() {
+      it("should dispatch a peerHungupCall action if the client disconnected", function() {
+        session.trigger("connectionDestroyed", {
+          reason: "clientDisconnected"
+        });
+
+        sinon.assert.calledOnce(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "peerHungupCall"));
+      });
+
+      it("should dispatch a connectionFailure action if the connection failed", function() {
+        session.trigger("connectionDestroyed", {
+          reason: "networkDisconnected"
+        });
+
+        sinon.assert.calledOnce(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "connectionFailure"));
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("reason", "peerNetworkDisconnected"));
+      });
+    });
+
+    describe("sessionDisconnected", function() {
+      it("should dispatch a connectionFailure action if the session was disconnected",
+        function() {
+          session.trigger("sessionDisconnected", {
+            reason: "networkDisconnected"
+          });
+
+          sinon.assert.calledOnce(dispatcher.dispatch);
+          sinon.assert.calledWithMatch(dispatcher.dispatch,
+            sinon.match.hasOwn("name", "connectionFailure"));
+          sinon.assert.calledWithMatch(dispatcher.dispatch,
+            sinon.match.hasOwn("reason", "networkDisconnected"));
+        });
+    });
+
+    describe("streamCreated", function() {
+      var fakeStream;
+
+      beforeEach(function() {
+        fakeStream = {
+          fakeStream: 3
+        };
+      });
+
+      it("should subscribe to the stream", function() {
+        session.trigger("streamCreated", {stream: fakeStream});
+
+        sinon.assert.calledOnce(session.subscribe);
+        sinon.assert.calledWithExactly(session.subscribe,
+          fakeStream, fakeRemoteElement, publisherConfig);
+      });
+
+      it("should dispach a mediaConnected action if both streams are up", function() {
+        driver._publishedLocalStream = true;
+
+        session.trigger("streamCreated", {stream: fakeStream});
+
+        sinon.assert.calledOnce(dispatcher.dispatch);
+        sinon.assert.calledWithMatch(dispatcher.dispatch,
+          sinon.match.hasOwn("name", "mediaConnected"));
+      });
+    });
+  });
+});
--- a/browser/devtools/profiler/panel.js
+++ b/browser/devtools/profiler/panel.js
@@ -30,22 +30,22 @@ exports.ProfilerPanel = ProfilerPanel;
 ProfilerPanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor.
    *
    * @return object
    *         A promise that is resolved when the Profiler completes opening.
    */
   open: Task.async(function*() {
-    let connection = getProfilerConnection(this._toolbox);
-    yield connection.open();
+    this._connection = getProfilerConnection(this._toolbox);
+    yield this._connection.open();
 
     this.panelWin.gToolbox = this._toolbox;
     this.panelWin.gTarget = this.target;
-    this.panelWin.gFront = new ProfilerFront(connection);
+    this.panelWin.gFront = new ProfilerFront(this._connection);
     yield this.panelWin.startupProfiler();
 
     this.isReady = true;
     this.emit("ready");
     return this;
   }),
 
   // DevToolPanel API
@@ -54,12 +54,16 @@ ProfilerPanel.prototype = {
 
   destroy: Task.async(function*() {
     // Make sure this panel is not already destroyed.
     if (this._destroyed) {
       return;
     }
 
     yield this.panelWin.shutdownProfiler();
+
+    // Destroy the connection to ensure packet handlers are removed from client.
+    this._connection.destroy();
+
     this.emit("destroyed");
     this._destroyed = true;
   })
 };
--- a/browser/devtools/profiler/utils/shared.js
+++ b/browser/devtools/profiler/utils/shared.js
@@ -108,37 +108,54 @@ ProfilerConnection.prototype = {
 
     this._connectMiscActors();
     this._connected = true;
 
     Services.obs.notifyObservers(null, "profiler-connection-opened", null);
   }),
 
   /**
+   * Destroys this connection.
+   */
+  destroy: function() {
+    this._disconnectMiscActors();
+    this._connected = false;
+  },
+
+  /**
    * Initializes a connection to miscellaneous actors which are going to be
    * used in tandem with the profiler actor.
    */
   _connectMiscActors: function() {
     // Only initialize the framerate front if the respective actor is available.
     // Older Gecko versions don't have an existing implementation, in which case
     // all the methods we need can be easily mocked.
     if (this._target.form && this._target.form.framerateActor) {
       this._framerate = new FramerateFront(this._target.client, this._target.form);
     } else {
       this._framerate = {
+        destroy: () => {},
         startRecording: () => {},
         stopRecording: () => {},
         cancelRecording: () => {},
         isRecording: () => false,
         getPendingTicks: () => null
       };
     }
   },
 
   /**
+   * Closes the connections to miscellaneous actors.
+   * @see ProfilerConnection.prototype._connectMiscActors
+   */
+  _disconnectMiscActors: function() {
+    this._framerate.destroy();
+  },
+
+  /**
    * Sends the request over the remote debugging protocol to the
    * specified actor.
    *
    * @param string actor
    *        The designated actor. Currently supported: "profiler", "framerate".
    * @param string method
    *        Method to call on the backend.
    * @param any args [optional]
--- a/mobile/android/base/BrowserApp.java
+++ b/mobile/android/base/BrowserApp.java
@@ -745,17 +745,17 @@ public class BrowserApp extends GeckoApp
 
         super.onBackPressed();
     }
 
     @Override
     public void onResume() {
         super.onResume();
 
-        final String args = getIntent().getStringExtra("args");
+        final String args = StringUtils.getStringExtra(getIntent(), "args");
         // If an external intent tries to start Fennec in guest mode, and it's not already
         // in guest mode, this will change modes before opening the url.
         // NOTE: OnResume is called twice sometimes when showing on the lock screen.
         final boolean enableGuestSession = GuestSession.shouldUse(this, args);
         final boolean inGuestSession = GeckoProfile.get(this).inGuestMode();
         if (enableGuestSession != inGuestSession) {
             doRestart(getIntent());
             GeckoAppShell.systemExit();
@@ -1493,35 +1493,38 @@ public class BrowserApp extends GeckoApp
             Telemetry.HistogramAdd("PLACES_PAGES_COUNT",
                     BrowserDB.getCount(getContentResolver(), "history"));
             Telemetry.HistogramAdd("PLACES_BOOKMARKS_COUNT",
                     BrowserDB.getCount(getContentResolver(), "bookmarks"));
             Telemetry.HistogramAdd("FENNEC_FAVICONS_COUNT",
                     BrowserDB.getCount(getContentResolver(), "favicons"));
             Telemetry.HistogramAdd("FENNEC_THUMBNAILS_COUNT",
                     BrowserDB.getCount(getContentResolver(), "thumbnails"));
-            Telemetry.HistogramAdd("BROWSER_IS_USER_DEFAULT", (isDefaultBrowser() ? 1 : 0));
+            Telemetry.HistogramAdd("BROWSER_IS_USER_DEFAULT", (isDefaultBrowser(Intent.ACTION_VIEW) ? 1 : 0));
+            if (Versions.feature16Plus) {
+                Telemetry.HistogramAdd("BROWSER_IS_ASSIST_DEFAULT", (isDefaultBrowser(Intent.ACTION_ASSIST) ? 1 : 0));
+            }
         } else if ("Updater:Launch".equals(event)) {
             handleUpdaterLaunch();
 
         } else if ("BrowserToolbar:Visibility".equals(event)) {
             setBrowserToolbarVisible(message.getBoolean("visible"));
 
         } else {
             super.handleMessage(event, message, callback);
         }
     }
 
     /**
      * Use a dummy Intent to do a default browser check.
      *
      * @return true if this package is the default browser on this device, false otherwise.
      */
-    private boolean isDefaultBrowser() {
-        final Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mozilla.org"));
+    private boolean isDefaultBrowser(String action) {
+        final Intent viewIntent = new Intent(action, Uri.parse("http://www.mozilla.org"));
         final ResolveInfo info = getPackageManager().resolveActivity(viewIntent, PackageManager.MATCH_DEFAULT_ONLY);
         if (info == null) {
             // No default is set
             return false;
         }
 
         final String packageName = info.activityInfo.packageName;
         return (TextUtils.equals(packageName, getPackageName()));
--- a/mobile/android/base/GeckoApp.java
+++ b/mobile/android/base/GeckoApp.java
@@ -51,16 +51,17 @@ import org.mozilla.gecko.updater.UpdateS
 import org.mozilla.gecko.util.ActivityResultHandler;
 import org.mozilla.gecko.util.EventCallback;
 import org.mozilla.gecko.util.FileUtils;
 import org.mozilla.gecko.util.GeckoEventListener;
 import org.mozilla.gecko.util.HardwareUtils;
 import org.mozilla.gecko.util.NativeEventListener;
 import org.mozilla.gecko.util.NativeJSObject;
 import org.mozilla.gecko.util.PrefUtils;
+import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.webapp.EventListener;
 import org.mozilla.gecko.webapp.UninstallListener;
 import org.mozilla.gecko.widget.ButtonToast;
 
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -1081,21 +1082,20 @@ public abstract class GeckoApp
                 if (Versions.feature11Plus) {
                     window.getDecorView().setSystemUiVisibility(fullscreen ? 1 : 0);
                 }
             }
         });
     }
 
     /**
-     * Check and start the Java profiler if MOZ_PROFILER_STARTUP env var is specified
+     * Check and start the Java profiler if MOZ_PROFILER_STARTUP env var is specified.
      **/
-    protected void earlyStartJavaSampler(Intent intent)
-    {
-        String env = intent.getStringExtra("env0");
+    protected static void earlyStartJavaSampler(Intent intent) {
+        String env = StringUtils.getStringExtra(intent, "env0");
         for (int i = 1; env != null; i++) {
             if (env.startsWith("MOZ_PROFILER_STARTUP=")) {
                 if (!env.endsWith("=")) {
                     GeckoJavaSampler.start(10, 1000);
                     Log.d(LOGTAG, "Profiling Java on startup");
                 }
                 break;
             }
@@ -1120,17 +1120,17 @@ public abstract class GeckoApp
         }
 
         // The clock starts...now. Better hurry!
         mJavaUiStartupTimer = new Telemetry.UptimeTimer("FENNEC_STARTUP_TIME_JAVAUI");
         mGeckoReadyStartupTimer = new Telemetry.UptimeTimer("FENNEC_STARTUP_TIME_GECKOREADY");
 
         final Intent intent = getIntent();
         final String action = intent.getAction();
-        final String args = intent.getStringExtra("args");
+        final String args = StringUtils.getStringExtra(intent, "args");
 
         earlyStartJavaSampler(intent);
 
         // GeckoLoader wants to dig some environment variables out of the
         // incoming intent, so pass it in here. GeckoLoader will do its
         // business later and dispose of the reference.
         GeckoLoader.setLastIntent(intent);
 
@@ -1831,30 +1831,32 @@ public abstract class GeckoApp
             Intent settingsIntent = new Intent(GeckoApp.this, GeckoPreferences.class);
             // Copy extras.
             settingsIntent.putExtras(intent);
             startActivity(settingsIntent);
         }
     }
 
     /*
-     * Handles getting a uri from and intent in a way that is backwards
-     * compatable with our previous implementations
+     * Handles getting a URI from an intent in a way that is backwards-
+     * compatible with our previous implementations.
      */
     protected String getURIFromIntent(Intent intent) {
         final String action = intent.getAction();
-        if (ACTION_ALERT_CALLBACK.equals(action) || NotificationHelper.HELPER_BROADCAST_ACTION.equals(action))
+        if (ACTION_ALERT_CALLBACK.equals(action) || NotificationHelper.HELPER_BROADCAST_ACTION.equals(action)) {
             return null;
+        }
 
         String uri = intent.getDataString();
-        if (uri != null)
+        if (uri != null) {
             return uri;
+        }
 
         if ((action != null && action.startsWith(ACTION_WEBAPP_PREFIX)) || ACTION_HOMESCREEN_SHORTCUT.equals(action)) {
-            uri = intent.getStringExtra("args");
+            uri = StringUtils.getStringExtra(intent, "args");
             if (uri != null && uri.startsWith("--url=")) {
                 uri.replace("--url=", "");
             }
         }
         return uri;
     }
 
     protected int getOrientation() {
--- a/mobile/android/base/GeckoAppShell.java
+++ b/mobile/android/base/GeckoAppShell.java
@@ -30,17 +30,16 @@ import java.util.Queue;
 import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 import org.json.JSONException;
 import org.json.JSONObject;
-
 import org.mozilla.gecko.AppConstants.Versions;
 import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
 import org.mozilla.gecko.favicons.decoders.FaviconDecoder;
 import org.mozilla.gecko.gfx.BitmapUtils;
 import org.mozilla.gecko.gfx.LayerView;
 import org.mozilla.gecko.gfx.PanZoomController;
 import org.mozilla.gecko.mozglue.GeckoLoader;
 import org.mozilla.gecko.mozglue.JNITarget;
@@ -51,16 +50,17 @@ import org.mozilla.gecko.prompts.PromptS
 import org.mozilla.gecko.SmsManager;
 import org.mozilla.gecko.util.EventCallback;
 import org.mozilla.gecko.util.GeckoRequest;
 import org.mozilla.gecko.util.HardwareUtils;
 import org.mozilla.gecko.util.NativeEventListener;
 import org.mozilla.gecko.util.NativeJSContainer;
 import org.mozilla.gecko.util.NativeJSObject;
 import org.mozilla.gecko.util.ProxySelector;
+import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.DownloadManager;
 import android.app.PendingIntent;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
@@ -2590,20 +2590,25 @@ public class GeckoAppShell
                 return "PROXY " + proxy.address().toString();
             case SOCKS:
                 return "SOCKS " + proxy.address().toString();
         }
 
         return "DIRECT";
     }
 
-    /* Downloads the uri pointed to by a share intent, and alters the intent to point to the locally stored file.
+    /* Downloads the URI pointed to by a share intent, and alters the intent to point to the locally stored file.
      */
     public static void downloadImageForIntent(final Intent intent) {
-        final String src = intent.getStringExtra(Intent.EXTRA_TEXT);
+        final String src = StringUtils.getStringExtra(intent, Intent.EXTRA_TEXT);
+        if (src == null) {
+            showImageShareFailureToast();
+            return;
+        }
+
         final File dir = GeckoApp.getTempDirectory();
 
         if (dir == null) {
             showImageShareFailureToast();
             return;
         }
 
         GeckoApp.deleteTempFiles();
--- a/mobile/android/base/NotificationHelper.java
+++ b/mobile/android/base/NotificationHelper.java
@@ -2,17 +2,17 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko;
 
 import org.mozilla.gecko.gfx.BitmapUtils;
 import org.mozilla.gecko.util.GeckoEventListener;
-
+import org.mozilla.gecko.util.StringUtils;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.IntentFilter;
@@ -130,19 +130,19 @@ public final class NotificationHelper im
             // i.e. Don't bug the user if they're just closing a bunch of notifications.
             if (!GeckoThread.checkLaunchState(GeckoThread.LaunchState.GeckoRunning)) {
                 return;
             }
         }
 
         JSONObject args = new JSONObject();
 
-        // The handler and cookie parameters are optional
+        // The handler and cookie parameters are optional.
         final String handler = data.getQueryParameter(HANDLER_ATTR);
-        final String cookie = i.getStringExtra(COOKIE_ATTR);
+        final String cookie = StringUtils.getStringExtra(i, COOKIE_ATTR);
 
         try {
             args.put(ID_ATTR, id);
             args.put(EVENT_TYPE_ATTR, notificationType);
             args.put(HANDLER_ATTR, handler);
             args.put(COOKIE_ATTR, cookie);
 
             if (BUTTON_EVENT.equals(notificationType)) {
--- a/mobile/android/base/favicons/LoadFaviconTask.java
+++ b/mobile/android/base/favicons/LoadFaviconTask.java
@@ -314,18 +314,16 @@ public class LoadFaviconTask {
 
         // Having downloaded the image, decode it.
         return FaviconDecoder.decodeFavicon(buffer, 0, bPointer + 1);
     }
 
     // LoadFavicon tasks are performed on a unique background executor thread
     // to avoid network blocking.
     public final void execute() {
-        ThreadUtils.assertOnUiThread();
-
         try {
             Favicons.longRunningExecutor.execute(new Runnable() {
                 @Override
                 public void run() {
                     final Bitmap result = doInBackground();
 
                     ThreadUtils.getUiHandler().post(new Runnable() {
                        @Override
@@ -354,16 +352,24 @@ public class LoadFaviconTask {
         return mCancelled;
     }
 
     Bitmap doInBackground() {
         if (isCancelled()) {
             return null;
         }
 
+        // Attempt to decode the favicon URL as a data URL. We don't bother storing such URIs in
+        // the database: the cost of decoding them here probably doesn't exceed the cost of mucking
+        // about with the DB.
+        LoadFaviconResult uriBitmaps = FaviconDecoder.decodeDataURI(faviconURL);
+        if (uriBitmaps != null) {
+            return pushToCacheAndGetResult(uriBitmaps);
+        }
+
         String storedFaviconUrl;
         boolean isUsingDefaultURL = false;
 
         // Handle the case of malformed favicon URL.
         // If favicon is empty, fall back to the stored one.
         if (TextUtils.isEmpty(faviconURL)) {
             // Try to get the favicon URL from the memory cache.
             storedFaviconUrl = Favicons.getFaviconURLForPageURLFromCache(pageUrl);
--- a/mobile/android/base/favicons/decoders/FaviconDecoder.java
+++ b/mobile/android/base/favicons/decoders/FaviconDecoder.java
@@ -121,17 +121,17 @@ public class FaviconDecoder {
 
     public static LoadFaviconResult decodeDataURI(String uri) {
         if (uri == null) {
             Log.w(LOG_TAG, "Can't decode null data: URI.");
             return null;
         }
 
         if (!uri.startsWith("data:image/")) {
-            Log.w(LOG_TAG, "Can't decode non-image data: URI.");
+            // Can't decode non-image data: URI.
             return null;
         }
 
         // Otherwise, let's attack this blindly. Strictly we should be parsing.
         int offset = uri.indexOf(',') + 1;
         if (offset == 0) {
             Log.w(LOG_TAG, "No ',' in data: URI; malformed?");
             return null;
--- a/mobile/android/base/home/SearchEngineRow.java
+++ b/mobile/android/base/home/SearchEngineRow.java
@@ -84,17 +84,18 @@ class SearchEngineRow extends AnimatedHe
                         Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.SUGGESTION, "url");
 
                         mUrlOpenListener.onUrlOpen(suggestion, EnumSet.noneOf(OnUrlOpenListener.Flags.class));
                     }
                 } else if (mSearchListener != null) {
                     if (v == mUserEnteredView) {
                         Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.SUGGESTION, "user");
                     } else {
-                        Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.SUGGESTION, "engine");
+                        final String extras = "engine." + (String) v.getTag();
+                        Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.SUGGESTION, extras);
                     }
                     mSearchListener.onSearch(mSearchEngine, suggestion);
                 }
             }
         };
 
         mLongClickListener = new OnLongClickListener() {
             @Override
@@ -193,16 +194,19 @@ class SearchEngineRow extends AnimatedHe
                 suggestionItem = mSuggestionView.getChildAt(suggestionCounter + 1);
                 suggestionItem.setVisibility(View.VISIBLE);
             } else {
                 suggestionItem = mInflater.inflate(R.layout.suggestion_item, null);
 
                 suggestionItem.setOnClickListener(mClickListener);
                 suggestionItem.setOnLongClickListener(mLongClickListener);
 
+                // Store the position of the suggestion for telemetry.
+                suggestionItem.setTag(String.valueOf(suggestionCounter));
+
                 final ImageView magnifier =
                         (ImageView) suggestionItem.findViewById(R.id.suggestion_magnifier);
                 magnifier.setVisibility(View.GONE);
 
                 mSuggestionView.addView(suggestionItem);
             }
 
             setSuggestionOnView(suggestionItem, suggestion);
--- a/mobile/android/base/locales/Makefile.in
+++ b/mobile/android/base/locales/Makefile.in
@@ -110,23 +110,21 @@ endef
 
 # L10NBASEDIR is not defined for en-US.
 l10n-srcdir := $(if $(filter en-US,$(AB_CD)),,$(or $(realpath $(L10NBASEDIR)),$(abspath $(L10NBASEDIR)))/$(AB_CD)/mobile/chrome)
 
 $(eval $(call generated_file_template,suggestedsites,suggestedsites.json))
 
 $(suggestedsites-dstdir-raw)/suggestedsites.json: FORCE
 	$(call py_action,generate_suggestedsites, \
-		--verbose \
 		--android-package-name=$(ANDROID_PACKAGE_NAME) \
 		--resources=$(srcdir)/../resources \
 		$(if $(filter en-US,$(AB_CD)),,--srcdir=$(l10n-srcdir)) \
 		--srcdir=$(topsrcdir)/mobile/locales/en-US/chrome \
 		$@)
 
 $(eval $(call generated_file_template,browsersearch,browsersearch.json))
 
 $(browsersearch-dstdir-raw)/browsersearch.json: FORCE
 	$(call py_action,generate_browsersearch, \
-		--verbose \
 		$(if $(filter en-US,$(AB_CD)),,--srcdir=$(l10n-srcdir)) \
 		--srcdir=$(topsrcdir)/mobile/locales/en-US/chrome \
 		$@)
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -401,16 +401,17 @@ gbjar.sources += [
     'tabs/TabsListLayout.java',
     'tabs/TabsPanel.java',
     'TabsAccessor.java',
     'Telemetry.java',
     'TelemetryContract.java',
     'TextSelection.java',
     'TextSelectionHandle.java',
     'ThumbnailHelper.java',
+    'toolbar/ActionBarViewFlipper.java',
     'toolbar/AutocompleteHandler.java',
     'toolbar/BackButton.java',
     'toolbar/BrowserToolbar.java',
     'toolbar/BrowserToolbarNewTablet.java',
     'toolbar/BrowserToolbarPhone.java',
     'toolbar/BrowserToolbarPhoneBase.java',
     'toolbar/BrowserToolbarPreHC.java',
     'toolbar/BrowserToolbarTablet.java',
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_action_bar_button.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:state_pressed="true"
+          android:state_enabled="true">
+
+        <inset android:insetTop="@dimen/new_tablet_browser_toolbar_menu_item_inset_vertical"
+               android:insetBottom="@dimen/new_tablet_browser_toolbar_menu_item_inset_vertical"
+               android:insetLeft="@dimen/new_tablet_browser_toolbar_menu_item_inset_horizontal"
+               android:insetRight="@dimen/new_tablet_browser_toolbar_menu_item_inset_horizontal">
+            <shape android:shape="rectangle">
+                <solid android:color="#D7D7DC"/>
+                <corners android:radius="@dimen/new_tablet_browser_toolbar_menu_item_corner_radius"/>
+            </shape>
+        </inset>
+
+    </item>
+
+    <item android:state_focused="true"
+          android:state_pressed="false">
+
+        <inset android:insetTop="@dimen/new_tablet_browser_toolbar_menu_item_inset_vertical"
+               android:insetBottom="@dimen/new_tablet_browser_toolbar_menu_item_inset_vertical"
+               android:insetLeft="@dimen/new_tablet_browser_toolbar_menu_item_inset_horizontal"
+               android:insetRight="@dimen/new_tablet_browser_toolbar_menu_item_inset_horizontal">
+            <shape android:shape="rectangle">
+                <solid android:color="#C0C9D0"/>
+                <corners android:radius="@dimen/new_tablet_browser_toolbar_menu_item_corner_radius"/>
+            </shape>
+        </inset>
+
+    </item>
+
+    <item>
+        <shape android:shape="rectangle">
+            <solid android:color="@android:color/transparent"/>
+        </shape>
+    </item>
+
+</selector>
--- a/mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_divider.xml
+++ b/mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_divider.xml
@@ -1,17 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
 
-    <gradient
-        android:startColor="#D1D5DA"
-        android:endColor="@android:color/transparent"
-        android:angle="90"/>
+    <solid android:color="#555555"/>
 
     <size android:width="1dp"
-          android:height="32dp"/>
+          android:height="30dp"/>
+
+    <!-- We draw this ourselves in TabStripView.draw() and to avoid implementing more
+         than we have to, only bottom padding is taken into account. -->
+    <padding android:bottom="6dp"/>
 
 </shape>
--- a/mobile/android/base/newtablet/res/layout-large-v11/new_tablet_browser_toolbar.xml
+++ b/mobile/android/base/newtablet/res/layout-large-v11/new_tablet_browser_toolbar.xml
@@ -19,17 +19,17 @@
                android:focusable="false"
                android:background="@drawable/url_bar_entry"/>
 
     <org.mozilla.gecko.toolbar.ForwardButton style="@style/UrlBar.ImageButton.Forward.NewTablet"
                                              android:id="@+id/forward"
                                              android:layout_alignLeft="@id/back"/>
 
     <org.mozilla.gecko.toolbar.BackButton android:id="@id/back"
-                                          style="@style/UrlBar.ImageButton"
+                                          style="@style/UrlBar.ImageButton.NewTablet"
                                           android:layout_width="@dimen/back_button_width"
                                           android:layout_height="@dimen/back_button_width"
                                           android:layout_centerVertical="true"
                                           android:layout_marginLeft="12dp"
                                           android:layout_alignParentLeft="true"
                                           android:src="@drawable/new_tablet_ic_menu_back"
                                           android:contentDescription="@string/back"
                                           android:background="@drawable/url_bar_nav_button"/>
@@ -56,42 +56,45 @@
                   android:layout_height="match_parent"
                   android:gravity="center_vertical"
                   android:layout_marginLeft="6dp"
                   android:orientation="horizontal"
                   android:layout_toLeftOf="@id/tabs"/>
 
     <org.mozilla.gecko.widget.ThemedImageButton
             android:id="@+id/tabs"
-            style="@style/UrlBar.ImageButton"
+            style="@style/UrlBar.ImageButton.NewTablet"
             android:layout_toLeftOf="@id/menu"
-            android:background="@drawable/action_bar_button"/>
+            android:background="@drawable/new_tablet_action_bar_button"/>
 
-    <!-- In a 56dp space, centering 24dp image will leave 16dp on the horizontal sides. -->
+    <!-- In a 56x60dp space, centering 24dp image will leave 16x18dp. -->
     <org.mozilla.gecko.toolbar.TabCounter android:id="@+id/tabs_counter"
                         style="@style/UrlBar.ImageButton.TabCount.NewTablet"
                         android:layout_alignLeft="@id/tabs"
                         android:layout_alignRight="@id/tabs"
                         android:layout_alignTop="@id/tabs"
                         android:layout_alignBottom="@id/tabs"
-                        android:layout_margin="16dp"
+                        android:layout_marginTop="18dp"
+                        android:layout_marginBottom="18dp"
+                        android:layout_marginLeft="16dp"
+                        android:layout_marginRight="16dp"
                         gecko:layout="@layout/new_tablet_tabs_counter"/>
 
     <org.mozilla.gecko.widget.ThemedImageButton
             android:id="@+id/menu"
-            style="@style/UrlBar.ImageButton"
+            style="@style/UrlBar.ImageButton.NewTablet"
             android:layout_alignParentRight="true"
             android:layout_marginRight="6dp"
             android:contentDescription="@string/menu"
-            android:background="@drawable/action_bar_button"
+            android:background="@drawable/new_tablet_action_bar_button"
             android:visibility="gone"/>
 
     <org.mozilla.gecko.widget.ThemedImageView
             android:id="@+id/menu_icon"
-            style="@style/UrlBar.ImageButton"
+            style="@style/UrlBar.ImageButton.NewTablet"
             android:layout_alignLeft="@id/menu"
             android:layout_alignRight="@id/menu"
             android:src="@drawable/new_tablet_menu"
             android:visibility="gone"/>
 
     <!-- We draw after the menu items so when they are hidden, the cancel button,
          which is thus drawn on top, may be pressed. -->
     <org.mozilla.gecko.widget.ThemedImageView
--- a/mobile/android/base/overlays/ui/ShareDialog.java
+++ b/mobile/android/base/overlays/ui/ShareDialog.java
@@ -31,16 +31,17 @@ import org.mozilla.gecko.db.LocalBrowser
 import org.mozilla.gecko.overlays.OverlayConstants;
 import org.mozilla.gecko.overlays.service.OverlayActionService;
 import org.mozilla.gecko.overlays.service.sharemethods.ParcelableClientRecord;
 import org.mozilla.gecko.overlays.service.sharemethods.SendTab;
 import org.mozilla.gecko.overlays.service.sharemethods.ShareMethod;
 import org.mozilla.gecko.LocaleAware;
 import org.mozilla.gecko.sync.setup.activities.WebURLFinder;
 import org.mozilla.gecko.util.HardwareUtils;
+import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.util.UIAsyncTask;
 
 /**
  * A transparent activity that displays the share overlay.
  */
 public class ShareDialog extends LocaleAware.LocaleAwareActivity implements SendTabTargetSelectedListener {
     private static final String LOGTAG = "GeckoShareDialog";
@@ -110,17 +111,17 @@ public class ShareDialog extends LocaleA
         super.onCreate(savedInstanceState);
 
         getWindow().setWindowAnimations(0);
 
         Intent intent = getIntent();
         final Resources resources = getResources();
 
         // The URL is usually hiding somewhere in the extra text. Extract it.
-        final String extraText = intent.getStringExtra(Intent.EXTRA_TEXT);
+        final String extraText = StringUtils.getStringExtra(intent, Intent.EXTRA_TEXT);
         if (TextUtils.isEmpty(extraText)) {
             abortDueToNoURL();
             return;
         }
 
         final String pageUrl = new WebURLFinder(extraText).bestWebURL();
         if (TextUtils.isEmpty(pageUrl)) {
             abortDueToNoURL();
--- a/mobile/android/base/resources/layout/gecko_app.xml
+++ b/mobile/android/base/resources/layout/gecko_app.xml
@@ -82,17 +82,17 @@
 
             <ViewStub android:id="@+id/new_tablet_tab_strip"
                       android:inflatedId="@id/new_tablet_tab_strip"
                       android:layout="@layout/new_tablet_tab_strip"
                       android:layout_width="match_parent"
                       android:layout_height="@dimen/new_tablet_tab_strip_height"
                       android:visibility="gone"/>
 
-            <org.mozilla.gecko.widget.GeckoViewFlipper
+            <org.mozilla.gecko.toolbar.ActionBarViewFlipper
                 android:id="@+id/browser_actionbar"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/browser_toolbar_height"
                 android:clickable="true"
                 android:focusable="true">
 
                 <org.mozilla.gecko.toolbar.BrowserToolbar
                     android:id="@+id/browser_toolbar"
@@ -103,17 +103,17 @@
                     android:focusable="true"
                     android:background="@drawable/url_bar_bg"/>
 
                 <org.mozilla.gecko.ActionModeCompatView android:id="@+id/actionbar"
                                                         android:layout_height="match_parent"
                                                         android:layout_width="match_parent"
                                                         style="@style/GeckoActionBar"/>
 
-            </org.mozilla.gecko.widget.GeckoViewFlipper>
+            </org.mozilla.gecko.toolbar.ActionBarViewFlipper>
 
         </LinearLayout>
 
         <org.mozilla.gecko.toolbar.ToolbarProgressView android:id="@+id/progress"
                                                        android:layout_width="match_parent"
                                                        android:layout_height="14dp"
                                                        android:layout_marginTop="-8dp"
                                                        android:layout_below="@id/browser_chrome"
--- a/mobile/android/base/resources/values-large-v11/styles.xml
+++ b/mobile/android/base/resources/values-large-v11/styles.xml
@@ -1,15 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <resources>
 
+    <style name="UrlBar.ImageButton.NewTablet">
+        <item name="android:layout_width">@dimen/new_tablet_browser_toolbar_menu_item_width</item>
+    </style>
+
     <style name="UrlBar.ImageButton.Forward">
         <item name="android:contentDescription">@string/forward</item>
         <item name="android:layout_width">45dip</item>
         <item name="android:layout_height">37dip</item>
         <item name="android:paddingLeft">10dp</item>
         <item name="android:paddingTop">7dp</item>
         <item name="android:paddingBottom">7dp</item>
         <item name="android:layout_gravity">center_vertical</item>
@@ -28,16 +32,19 @@
         <item name="android:paddingBottom">0dp</item>
         <item name="android:layout_marginTop">11.5dp</item>
         <item name="android:layout_marginBottom">11.5dp</item>
         <item name="android:src">@drawable/new_tablet_ic_menu_forward</item>
     </style>
 
     <style name="UrlBar.ImageButton.TabCount.NewTablet">
         <item name="android:background">@drawable/new_tablet_tabs_count</item>
+
+        <!-- From UrlBar.ImageButton.NewTablet because we can't inherit directly. -->
+        <item name="android:layout_width">@dimen/new_tablet_browser_toolbar_menu_item_width</item>
     </style>
 
     <style name="UrlBar.Button.Container">
         <item name="android:layout_marginTop">6dp</item>
         <item name="android:layout_marginBottom">6dp</item>
         <!-- Start with forward hidden -->
         <item name="android:orientation">horizontal</item>
     </style>
@@ -60,26 +67,37 @@
 
         <!-- Same as pre-19 Toast style, but with no left and right margins.
              They're removed since large tablets are never going to be only 400dp wide. -->
     </style>
 
     <style name="Widget.MenuItemActionBar">
         <item name="android:layout_width">@dimen/browser_toolbar_height</item>
         <item name="android:layout_height">@dimen/browser_toolbar_height</item>
-        <item name="android:padding">@dimen/browser_toolbar_button_padding</item>
         <item name="android:background">@drawable/action_bar_button</item>
         <item name="android:scaleType">fitCenter</item>
+
+        <!-- We split up padding* because we can't override it in *.NewTablet otherwise. -->
+        <item name="android:paddingTop">@dimen/browser_toolbar_button_padding</item>
+        <item name="android:paddingBottom">@dimen/browser_toolbar_button_padding</item>
+        <item name="android:paddingLeft">@dimen/browser_toolbar_button_padding</item>
+        <item name="android:paddingRight">@dimen/browser_toolbar_button_padding</item>
     </style>
 
     <style name="Widget.MenuItemActionBar.NewTablet">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
-        <item name="android:padding">@dimen/new_tablet_browser_toolbar_menu_item_padding</item>
         <item name="android:scaleType">center</item>
+        <item name="android:background">@drawable/new_tablet_action_bar_button</item>
+
+        <!-- layout_* doesn't work here, likely because it's an ImageButton, so we use padding instead. -->
+        <item name="android:paddingTop">@dimen/new_tablet_browser_toolbar_menu_item_padding_vertical</item>
+        <item name="android:paddingBottom">@dimen/new_tablet_browser_toolbar_menu_item_padding_vertical</item>
+        <item name="android:paddingLeft">@dimen/new_tablet_browser_toolbar_menu_item_padding_horizontal</item>
+        <item name="android:paddingRight">@dimen/new_tablet_browser_toolbar_menu_item_padding_horizontal</item>
     </style>
 
     <style name="Widget.BookmarksListView" parent="Widget.HomeListView">
         <item name="android:scrollbarStyle">outsideOverlay</item>
     </style>
 
     <style name="Widget.TopSitesGridView" parent="Widget.GridView">
         <item name="android:paddingLeft">5dp</item>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -15,19 +15,26 @@
     <!-- favicon_size includes 4dp of right padding. We can't use margin (which would allow us to
          specify the actual size) because that would decrease the size of our hit target. -->
     <dimen name="browser_toolbar_favicon_size">21.33dip</dimen>
     <dimen name="browser_toolbar_shadow_size">2dp</dimen>
 
     <dimen name="new_tablet_tab_strip_height">48dp</dimen>
     <dimen name="new_tablet_tab_strip_item_width">250dp</dimen>
     <dimen name="new_tablet_tab_strip_item_margin">-30dp</dimen>
-    <dimen name="new_tablet_tab_strip_favicon_size">-30dp</dimen>
+    <dimen name="new_tablet_tab_strip_favicon_size">16dp</dimen>
     <dimen name="new_tablet_forward_default_offset">-6dp</dimen>
-    <dimen name="new_tablet_browser_toolbar_menu_item_padding">19dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_height">60dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_width">56dp</dimen>
+    <!-- Padding combines with an 18dp image to form the menu item width and height. -->
+    <dimen name="new_tablet_browser_toolbar_menu_item_padding_horizontal">19dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_padding_vertical">21dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_inset_vertical">5dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_inset_horizontal">3dp</dimen>
+    <dimen name="new_tablet_browser_toolbar_menu_item_corner_radius">5dp</dimen>
     <dimen name="forward_default_offset">-13dip</dimen>
 
     <!-- Dimensions used by Favicons and FaviconView -->
     <dimen name="favicon_size_small">16dp</dimen>
     <dimen name="favicon_size_large">32dp</dimen>
     <dimen name="favicon_bg">32dp</dimen>
     <dimen name="favicon_bg_radius">1dp</dimen>
     <!-- Set the upper limit on the size of favicon that will be processed. Favicons larger than
--- a/mobile/android/base/tabs/TabStripView.java
+++ b/mobile/android/base/tabs/TabStripView.java
@@ -3,16 +3,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.tabs;
 
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Canvas;
+import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
 
 import java.util.ArrayList;
 import java.util.List;
 
@@ -22,30 +23,35 @@ import org.mozilla.gecko.Tabs;
 import org.mozilla.gecko.widget.TwoWayView;
 
 public class TabStripView extends TwoWayView {
     private static final String LOGTAG = "GeckoTabStrip";
 
     private final TabStripAdapter adapter;
     private final Drawable divider;
 
+    // Filled by calls to ShapeDrawable.getPadding();
+    // saved to prevent allocation in draw().
+    private final Rect dividerPadding = new Rect();
+
     private boolean isPrivate;
 
     public TabStripView(Context context, AttributeSet attrs) {
         super(context, attrs);
 
         setOrientation(Orientation.HORIZONTAL);
         setChoiceMode(ChoiceMode.SINGLE);
         setItemsCanFocus(true);
         setChildrenDrawingOrderEnabled(true);
         setWillNotDraw(false);
 
         final Resources resources = getResources();
 
         divider = resources.getDrawable(R.drawable.new_tablet_tab_strip_divider);
+        divider.getPadding(dividerPadding);
 
         final int itemMargin =
                 resources.getDimensionPixelSize(R.dimen.new_tablet_tab_strip_item_margin);
         setItemMargin(itemMargin);
 
         adapter = new TabStripAdapter(context);
         setAdapter(adapter);
     }
@@ -136,17 +142,17 @@ public class TabStripView extends TwoWay
             return i;
         }
     }
 
     @Override
     public void draw(Canvas canvas) {
         super.draw(canvas);
 
-        final int bottom = getHeight() - getPaddingBottom();
+        final int bottom = getHeight() - getPaddingBottom() - dividerPadding.bottom;
         final int top = bottom - divider.getIntrinsicHeight();
 
         final int dividerWidth = divider.getIntrinsicWidth();
         final int itemMargin = getItemMargin();
 
         final int childCount = getChildCount();
         final int checkedIndex = getCheckedIndex(childCount);
 
--- a/mobile/android/base/tests/BaseRobocopTest.java
+++ b/mobile/android/base/tests/BaseRobocopTest.java
@@ -1,24 +1,28 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.tests;
 
 import java.util.Map;
 
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.DefaultHttpClient;
+
+import org.mozilla.gecko.AppConstants;
 import org.mozilla.gecko.Assert;
 import org.mozilla.gecko.FennecInstrumentationTestRunner;
 import org.mozilla.gecko.FennecMochitestAssert;
 import org.mozilla.gecko.FennecNativeDriver;
 import org.mozilla.gecko.FennecTalosAssert;
 
-import org.mozilla.gecko.AppConstants;
-
 import android.app.Activity;
 import android.content.Context;
 import android.os.PowerManager;
 import android.test.ActivityInstrumentationTestCase2;
 import android.util.Log;
 
 @SuppressWarnings("unchecked")
 public abstract class BaseRobocopTest extends ActivityInstrumentationTestCase2<Activity> {
@@ -106,16 +110,43 @@ public abstract class BaseRobocopTest ex
         } else {
             mAsserter = new FennecMochitestAssert();
         }
         mAsserter.setLogFile(mLogFile);
         mAsserter.setTestName(getClass().getName());
     }
 
     /**
+     * Function to early abort if we can't reach the given HTTP server. Provides local testers
+     * with diagnostic information. Not currently available for TALOS tests, which are rarely run
+     * locally in any case.
+     */
+    public void throwIfHttpGetFails() {
+        if (getTestType() == Type.TALOS) {
+            return;
+        }
+
+        // rawURL to test fetching from. This should be a raw (IP) URL, not an alias
+        // (like mochi.test). We can't (easily) test fetching from the aliases, since
+        // those are managed by Fennec's proxy settings.
+        final String rawUrl = ((String) mConfig.get("rawhost")).replaceAll("(/$)", "");
+
+        try {
+            final HttpClient httpclient = new DefaultHttpClient();
+            final HttpResponse response = httpclient.execute(new HttpGet(rawUrl));
+            final int statusCode = response.getStatusLine().getStatusCode();
+            if (200 != statusCode) {
+                throw new IllegalStateException("Status code: " + statusCode);
+            }
+        } catch (Exception e) {
+            mAsserter.ok(false, "Robocop tests on your device need network/wifi access to reach: [" + rawUrl + "].", e.toString());
+        }
+    }
+
+    /**
      * Ensure that the screen on the test device is powered on during tests.
      */
     public void throwIfScreenNotOn() {
         final PowerManager pm = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);
         mAsserter.ok(pm.isScreenOn(),
             "Robocop tests need the test device screen to be powered on.", "");
     }
 }
--- a/mobile/android/base/tests/BaseTest.java
+++ b/mobile/android/base/tests/BaseTest.java
@@ -117,17 +117,18 @@ abstract class BaseTest extends BaseRobo
         mActivity = getActivity();
         // Set up Robotium.solo and Driver objects
         mSolo = new Solo(getInstrumentation(), mActivity);
         mDriver = new FennecNativeDriver(mActivity, mSolo, mRootPath);
         mActions = new FennecNativeActions(mActivity, mSolo, getInstrumentation(), mAsserter);
         mDevice = new Device();
         mDatabaseHelper = new DatabaseHelper(mActivity, mAsserter);
 
-        // Ensure Robocop tests are run with Display powered on.
+        // Ensure Robocop tests have access to network, and are run with Display powered on.
+        throwIfHttpGetFails();
         throwIfScreenNotOn();
     }
 
     protected void initializeProfile() {
         final GeckoProfile profile;
         if (mProfile.startsWith("/")) {
             profile = GeckoProfile.get(getActivity(), "default", mProfile);
         } else {
--- a/mobile/android/base/tests/UITest.java
+++ b/mobile/android/base/tests/UITest.java
@@ -70,17 +70,18 @@ abstract class UITest extends BaseRoboco
 
         mBaseHostnameUrl = mConfig.get("host").replaceAll("(/$)", "");
         mBaseIpUrl = mConfig.get("rawhost").replaceAll("(/$)", "");
 
         // Helpers depend on components so initialize them first.
         initComponents();
         initHelpers();
 
-        // Ensure Robocop tests are run with Display powered on.
+        // Ensure Robocop tests have access to network, and are run with Display powered on.
+        throwIfHttpGetFails();
         throwIfScreenNotOn();
     }
 
     @Override
     public void tearDown() throws Exception {
         try {
             mAsserter.endTest();
             // request a force quit of the browser and wait for it to take effect
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/toolbar/ActionBarViewFlipper.java
@@ -0,0 +1,38 @@
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.gecko.toolbar;
+
+import org.mozilla.gecko.NewTabletUI;
+import org.mozilla.gecko.R;
+import org.mozilla.gecko.widget.GeckoViewFlipper;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.ViewGroup;
+
+//TODO: (bug 1058909) Remove this class when old tablet is removed.
+/**
+ * A temporary view that sets its height based on whether we are on new tablet or not.
+ * Note that this view should be removed when the old tablet is removed and replaced with using
+ * browser_toolbar_height directly.
+ */
+public class ActionBarViewFlipper extends GeckoViewFlipper {
+
+    public ActionBarViewFlipper(final Context context, final AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void onAttachedToWindow() {
+        super.onAttachedToWindow();
+
+        if (NewTabletUI.isEnabled(getContext())) {
+            final ViewGroup.LayoutParams lp = getLayoutParams();
+            lp.height = getResources().getDimensionPixelSize(R.dimen.new_tablet_browser_toolbar_height);
+            setLayoutParams(lp);
+        }
+    }
+}
--- a/mobile/android/base/util/StringUtils.java
+++ b/mobile/android/base/util/StringUtils.java
@@ -1,17 +1,19 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.util;
 
+import android.content.Intent;
 import android.net.Uri;
 import android.text.TextUtils;
+import android.util.Log;
 
 public class StringUtils {
 
     private static final String FILTER_URL_PREFIX = "filter://";
     private static final String USER_ENTERED_URL_PREFIX = "user-entered:";
 
     /*
      * This method tries to guess if the given string could be a search query or URL,
@@ -181,9 +183,18 @@ public class StringUtils {
             return uri.getSchemeSpecificPart();
         }
         return url;
     }
 
     public static String encodeUserEnteredUrl(String url) {
         return Uri.fromParts("user-entered", url, null).toString();
     }
+
+    public static String getStringExtra(Intent intent, String name) {
+        try {
+            return intent.getStringExtra(name);
+        } catch (android.os.BadParcelableException ex) {
+            Log.w("GeckoUtils", "Couldn't get string extra: malformed intent.");
+            return null;
+        }
+    }
 }
--- a/mobile/android/search/java/org/mozilla/search/autocomplete/SuggestionsFragment.java
+++ b/mobile/android/search/java/org/mozilla/search/autocomplete/SuggestionsFragment.java
@@ -104,17 +104,17 @@ public class SuggestionsFragment extends
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 final Suggestion suggestion = (Suggestion) suggestionsList.getItemAtPosition(position);
 
                 final Rect startBounds = new Rect();
                 view.getGlobalVisibleRect(startBounds);
 
                 // The user tapped on a suggestion from the search engine.
-                Telemetry.sendUIEvent(TelemetryContract.Event.SEARCH, TelemetryContract.Method.SUGGESTION, "suggest");
+                Telemetry.sendUIEvent(TelemetryContract.Event.SEARCH, TelemetryContract.Method.SUGGESTION, position);
 
                 searchListener.onSearch(suggestion.value, new SuggestionAnimation() {
                     @Override
                     public Rect getStartBounds() {
                         return startBounds;
                     }
                 });
             }
--- a/security/manager/boot/src/StaticHPKPins.h
+++ b/security/manager/boot/src/StaticHPKPins.h
@@ -1087,9 +1087,9 @@ static const TransportSecurityPreload kP
   { "youtube.com", true, false, false, -1, &kPinset_google_root_pems },
   { "ytimg.com", true, false, false, -1, &kPinset_google_root_pems },
 };
 
 // Pinning Preload List Length = 331;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1420279733906000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1420884673118000);
--- a/security/manager/boot/src/nsSTSPreloadList.errors
+++ b/security/manager/boot/src/nsSTSPreloadList.errors
@@ -1,172 +1,642 @@
+accounts.firefox.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+accounts.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+accounts.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+aclu.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+activiti.alfresco.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+adamkostecki.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+addvocate.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 admin.google.com: did not receive HSTS header (error ignored - included regardless)
 adsfund.org: could not connect to host
+aie.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 airbnb.com: did not receive HSTS header
+aladdinschools.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+alexsexton.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+alpha.irccloud.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ansdell.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+anycoin.me: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+apadvantage.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+api.intercom.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 api.lookout.com: could not connect to host
 api.mega.co.nz: could not connect to host
 api.recurly.com: did not receive HSTS header
+api.simple.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+api.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 apis.google.com: did not receive HSTS header (error ignored - included regardless)
+apn-einstellungen.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+app.lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+app.manilla.com: could not connect to host
+app.recurly.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+app.simpletax.ca: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+app.yinxiang.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 appengine.google.com: did not receive HSTS header (error ignored - included regardless)
 appseccalifornia.org: did not receive HSTS header
+archlinux.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+arivo.com.br: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+auf-feindgebiet.de: could not connect to host
 azprep.us: did not receive HSTS header
-baer.im: did not receive HSTS header
+baer.im: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bank.simple.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+barcodeberlin.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+baruch.me: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 bassh.net: did not receive HSTS header
+bayrisch-fuer-anfaenger.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 bccx.com: could not connect to host
+bcrook.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+beastowner.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+beastowner.li: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bedeta.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+beneathvt.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+benjamins.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+best-wedding-quotes.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 betnet.fr: could not connect to host
 bigshinylock.minazo.net: could not connect to host
+bitbucket.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bitfactory.ws: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bl4ckb0x.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bl4ckb0x.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bl4ckb0x.info: could not connect to host
+bl4ckb0x.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bl4ckb0x.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+blacklane.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+blocksatz-medien.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+blog.cyveillance.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+blog.gparent.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+blog.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 blog.lookout.com: did not receive HSTS header
+blog.torproject.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bohramt.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+boxcryptor.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 braintreegateway.com: did not receive HSTS header
 braintreepayments.com: did not receive HSTS header
 browserid.org: did not receive HSTS header
+brunosouza.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+buddhistische-weisheiten.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bugzil.la: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+bugzilla.mozilla.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+business.lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 business.medbank.com.mt: did not receive HSTS header
-calyxinstitute.org: could not connect to host
+bytepark.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ca.gparent.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+calyxinstitute.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+carezone.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 carlolly.co.uk: did not receive HSTS header
+cartouche24.eu: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 cartucce24.it: could not connect to host
 celltek-server.de: did not receive HSTS header
-cert.se: max-age too low: 2628001
+cert.se: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+certible.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+check.torproject.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 checkout.google.com: did not receive HSTS header (error ignored - included regardless)
 chrome-devtools-frontend.appspot.com: did not receive HSTS header (error ignored - included regardless)
 chrome.google.com: did not receive HSTS header (error ignored - included regardless)
+chromiumcodereview.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+chromiumcodereview.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+clapping-rhymes.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 cloud.google.com: did not receive HSTS header (error ignored - included regardless)
+cloudcert.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cloudns.com.au: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cloudsecurityalliance.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cloudup.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+code-poets.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 code.google.com: did not receive HSTS header (error ignored - included regardless)
+codereview.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+codereview.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
 codereview.chromium.org: did not receive HSTS header (error ignored - included regardless)
+config.schokokeks.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+conformal.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+conrad-kostecki.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+controlcenter.gigahost.dk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 crate.io: did not receive HSTS header
 crbug.com: did not receive HSTS header
+crm.onlime.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 crowdcurity.com: did not receive HSTS header
+crypto.cat: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 crypto.is: did not receive HSTS header
+cryptopartyatx.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 csawctf.poly.edu: did not receive HSTS header
+cube.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cupcake.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cupcake.is: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cybershambles.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cybozu.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+cyphertite.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+daphne.informatik.uni-freiburg.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+data-abundance.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+data.qld.gov.au: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+datenkeks.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+davidlyness.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+dedimax.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+derhil.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+detectify.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+developer.mydigipass.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+die-besten-weisheiten.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+dillonkorman.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 discovery.lookout.com: did not receive HSTS header
+dist.torproject.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 dl.google.com: did not receive HSTS header (error ignored - included regardless)
+dm.lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+dm.mylookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 docs.google.com: did not receive HSTS header (error ignored - included regardless)
+docs.python.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+domains.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+domains.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+donmez.ws: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+download.jitsi.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 drive.google.com: did not receive HSTS header (error ignored - included regardless)
-dropbox.com: max-age too low: 2592000
+dropbox.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 dropcam.com: did not receive HSTS header
+ebanking.indovinabank.com.vn: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ecosystem.atlassian.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ed.gs: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 edmodo.com: did not receive HSTS header
+edyou.eu: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+eff.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 email.lookout.com: could not connect to host
+emailprivacytester.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+encircleapp.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 encrypted.google.com: did not receive HSTS header (error ignored - included regardless)
+energy-drink-magazin.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+entropia.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 epoxate.com: did not receive HSTS header
+errors.zenpayroll.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 espra.com: could not connect to host
-f-droid.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ethitter.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+eurotramp.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+explodie.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+f-droid.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+factor.cc: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+fairbill.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+faq.lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 fatzebra.com.au: did not receive HSTS header
+feedbin.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ferienhaus-polchow-ruegen.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+fiken.no: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+firemail.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+fischer-its.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+fj.simple.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+flynn.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+forewordreviews.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+forodeespanol.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+forum.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+forum.quantifiedself.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+freeshell.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 gamesdepartment.co.uk: did not receive HSTS header
+gemeinfreie-lieder.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+gernert-server.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 get.zenpayroll.com: did not receive HSTS header
+getcloak.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+getdigitized.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 getlantern.org: did not receive HSTS header
+giacomopelagatti.it: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 glass.google.com: did not receive HSTS header (error ignored - included regardless)
+globalcs.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+globuli-info.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 gmail.com: did not receive HSTS header (error ignored - included regardless)
+gmantra.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+go.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+gocardless.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 googlemail.com: did not receive HSTS header (error ignored - included regardless)
 googleplex.com: could not connect to host
 googleplex.com: could not connect to host (error ignored - included regardless)
 goto.google.com: did not receive HSTS header (error ignored - included regardless)
 gparent.org: did not receive HSTS header
+grc.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+greensolid.biz: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 greplin.com: did not receive HSTS header
+grepular.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 groups.google.com: did not receive HSTS header (error ignored - included regardless)
-guphi.net: did not receive HSTS header
+guphi.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+guthabenkarten-billiger.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 hackerone-user-content.com: could not connect to host
+hackerone.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+harvestapp.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+hasilocke.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 haste.ch: could not connect to host
-heha.co: could not connect to host
+haufschild.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+hausverbrauch.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+heha.co: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+helichat.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+help.simpletax.ca: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+helpium.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+hex2013.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 history.google.com: did not receive HSTS header (error ignored - included regardless)
 hoerbuecher-und-hoerspiele.de: did not receive HSTS header
-honeytracks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+honeytracks.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless)
+hostinginnederland.nl: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+hostix.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 howrandom.org: could not connect to host
-in.xero.com: max-age too low: 3600
+iban.is: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+id.atlassian.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+id.mayfirst.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ihrlotto.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+imouto.my: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+in.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+inertianetworks.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 intercom.io: did not receive HSTS header
-iop.intuit.com: max-age too low: 86400
+iop.intuit.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 irccloud.com: did not receive HSTS header
+irische-segenswuensche.info: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+isitchristmas.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+it-schwerin.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 itriskltd.com: did not receive HSTS header
+jackyyf.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+janoberst.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+janus-engineering.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jelmer.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jelmer.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jfreitag.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jitsi.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jonas-keidel.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+jonaswitmer.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 jottit.com: could not connect to host
+julian-kipka.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+k-dev.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kardize24.pl: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+keeperapp.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+keepersecurity.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kernel-error.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+keyerror.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 keymaster.lookout.com: did not receive HSTS header
-kiwiirc.com: max-age too low: 5256000
+kinderbuecher-kostenlos.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kinsights.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kitsta.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kiwiirc.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+klatschreime.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+klaxn.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kleidertauschpartys.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+konklone.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+koop-bremen.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+koordinate.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kraken.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+kura.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lagerauftrag.info: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lasst-uns-beten.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lastpass.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+launchkey.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lavalite.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lb-toner.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 ledgerscope.net: did not receive HSTS header
 liberty.lavabit.com: could not connect to host
+library.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 lifeguard.aecom.com: did not receive HSTS header
+linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+linx.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 lists.mayfirst.org: did not receive HSTS header
-logentries.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
-login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
+lockify.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+loenshotel.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+loftboard.eu: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+logentries.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+login.corp.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+login.corp.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+login.persona.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+login.sapo.pt: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+login.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 logotype.se: did not receive HSTS header
-ludwig.im: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
-lumi.do: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lolicore.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ludwig.im: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+lumi.do: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+luneta.nearbuysystems.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 m.gparent.org: could not connect to host
+mach-politik.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mail.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 mail.google.com: did not receive HSTS header (error ignored - included regardless)
+mailbox.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+makeyourlaws.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+malnex.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+manage.zenpayroll.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+manageprojects.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+manager.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mandala-ausmalbilder.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 market.android.com: did not receive HSTS header (error ignored - included regardless)
+markusueberallassetmanagement.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mathiasbynens.be: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 matteomarescotti.name: could not connect to host
+mattmccutchen.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mbp.banking.co.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mediacru.sh: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+medium.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mega.co.nz: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+members.mayfirst.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+members.nearlyfreespeech.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mig5.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mikewest.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+miku.hatsune.my: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+miskatonic.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mnsure.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mobile.usaa.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 mobilethreat.net: could not connect to host
 mobilethreatnetwork.net: could not connect to host
+mondwandler.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mountainroseherbs.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+movlib.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 mudcrab.us: could not connect to host
+munich-rage.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+musicgamegalaxy.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mutantmonkey.sexy: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mwe.st: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 my.alfresco.com: did not receive HSTS header
+my.onlime.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+my.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 mydigipass.com: did not receive HSTS header
 mykolab.com: did not receive HSTS header
+mylookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+mynigma.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 nachsenden.info: did not receive HSTS header
+neg9.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+neilwynne.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 neonisi.com: could not connect to host
+netzbit.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 netzpolitik.org: did not receive HSTS header
 nexth.de: could not connect to host
 nexth.net: could not connect to host
 nexth.us: could not connect to host
+ng-security.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 noexpect.org: could not connect to host
-npw.net: did not receive HSTS header
+npw.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+onedrive.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+onedrive.live.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 openshift.redhat.com: did not receive HSTS header
+oplop.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+opsmate.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+optimus.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+otakuworld.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 ottospora.nl: could not connect to host
+oversight.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+p.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+packagist.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pajonzeck.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+palava.tv: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.by: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.com.tr: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.kz: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.ru: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passport.yandex.ua: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+passwd.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 passwordbox.com: did not receive HSTS header
-paypal.com: max-age too low: 14400
-payroll.xero.com: max-age too low: 3600
+paste.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pastebin.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pay.gigahost.dk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+paymill.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+paymill.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+paypal.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+payroll.xero.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pdf.yt: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+picksin.club: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pierre-schmitz.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 piratenlogin.de: did not receive HSTS header
+pixi.me: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 platform.lookout.com: could not connect to host
 play.google.com: did not receive HSTS header (error ignored - included regardless)
+plus.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+plus.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+plus.sandbox.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+plus.sandbox.google.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+portal.tirol.gv.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+posteo.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 pressfreedomfoundation.org: did not receive HSTS header
 prodpad.com: did not receive HSTS header
 profiles.google.com: did not receive HSTS header (error ignored - included regardless)
+projektzentrisch.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 promecon-gmbh.de: did not receive HSTS header
+prowhisky.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pubkey.is: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+publications.qld.gov.au: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pult.co: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+pypi.python.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+python.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+qetesh.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+rad-route.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+raiseyourflag.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 rapidresearch.me: could not connect to host
+redports.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+reedloden.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+reserve-online.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+reviews.anime.my: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+riccy.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+riesenmagnete.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+rippleunion.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 riseup.net: did not receive HSTS header
+rme.li: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+robteix.com: did not receive HSTS header
+roddis.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+romab.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+rosenkeller.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+roundcube.mayfirst.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+rws-vertriebsportal.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+s-c.se: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 sah3.net: could not connect to host
+sakaki.anime.my: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+salaervergleich.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+sandbox.mydigipass.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 saturngames.co.uk: did not receive HSTS header
+schokokeks.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+schwarzer.it: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+scrambl.is: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 script.google.com: did not receive HSTS header (error ignored - included regardless)
+sdsl-speedtest.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+security-carpet.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 security.google.com: did not receive HSTS header (error ignored - included regardless)
+securityheaders.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 secuvera.de: could not connect to host
+seifried.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 semenkovich.com: did not receive HSTS header
 serverdensity.io: did not receive HSTS header
+servethecity-karlsruhe.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+sherbers.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+shodan.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 shops.neonisi.com: could not connect to host
 siammedia.co: did not receive HSTS header
+silentcircle.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 silentcircle.org: could not connect to host
-simon.butcher.name: max-age too low: 2629743
+simbolo.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+simon.butcher.name: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+simple.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+simpletax.ca: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+simplystudio.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 sites.google.com: did not receive HSTS header (error ignored - included regardless)
+skydrive.live.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 sol.io: could not connect to host
 souyar.de: could not connect to host
 souyar.net: could not connect to host
 souyar.us: could not connect to host
 spreadsheets.google.com: did not receive HSTS header (error ignored - included regardless)
+sprueche-zum-valentinstag.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+sprueche-zur-geburt.info: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+sprueche-zur-hochzeit.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+sprueche-zur-konfirmation.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 square.com: did not receive HSTS header
+squareup.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 ssl.google-analytics.com: did not receive HSTS header (error ignored - included regardless)
 ssl.panoramio.com: did not receive HSTS header
+stage.wepay.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+static.wepay.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+stationary-traveller.eu: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 stocktrade.de: could not connect to host
+stripe.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 strongest-privacy.com: could not connect to host
+studydrive.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+subrosa.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 sunshinepress.org: could not connect to host
+supplies24.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+supplies24.es: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+support.mayfirst.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 surfeasy.com: did not receive HSTS header
+surkatty.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tageau.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 talk.google.com: did not receive HSTS header (error ignored - included regardless)
 talkgadget.google.com: did not receive HSTS header (error ignored - included regardless)
+tatort-fanpage.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 tektoria.de: did not receive HSTS header
+tent.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+texte-zur-taufe.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+thepaymentscompany.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+therapynotes.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tinfoilsecurity.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tinte24.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tintenfix.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tipps-fuer-den-haushalt.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tittelbach.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tomfisher.eu: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.es: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.fr: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.it: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.nl: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+toner24.pl: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonerdepot.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonerjet.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonerjet.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonerklick.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonerkurier.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonermaus.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonermonster.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonex.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tonex.nl: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+torproject.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 translate.googleapis.com: did not receive HSTS header (error ignored - included regardless)
+trauertexte.info: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+tunebitfm.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+twitter.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ub3rk1tten.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ubertt.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+ukrainians.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+unterfrankenclan.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 uprotect.it: could not connect to host
+usaa.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+viennan.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+vmoagents.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+vocaloid.my: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+w-spotlight.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+w-spotlight.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
 wallet.google.com: did not receive HSTS header (error ignored - included regardless)
+webandmore.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webcollect.org.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webfilings-eu-mirror.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webfilings-eu-mirror.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+webfilings-eu.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webfilings-eu.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+webfilings-mirror-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webfilings-mirror-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+webfilings.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webfilings.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+webmail.gigahost.dk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 webmail.mayfirst.org: did not receive HSTS header
-wf-training-master.appspot.com: could not connect to host
-wf-training-master.appspot.com: could not connect to host (error ignored - included regardless)
+webmail.onlime.ch: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+webmail.schokokeks.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+websenat.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+welches-kinderfahrrad.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wepay.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-bigsky-master.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-bigsky-master.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-demo-eu.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-demo-eu.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-demo-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-demo-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-dogfood-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-dogfood-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-pentest.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-pentest.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-staging-hr.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-staging-hr.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-training-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-training-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-training-master.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-training-master.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+wf-trial-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wf-trial-hrd.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
 whonix.org: did not receive HSTS header
-www.calyxinstitute.org: could not connect to host
+wiki.python.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wildbee.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+winhistory-forum.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wiz.biz: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+writeapp.me: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+wunderlist.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.aclu.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.airbnb.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.apollo-auto.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.banking.co.at: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.braintreepayments.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.calyxinstitute.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.capitainetrain.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.cueup.com: could not connect to host
+www.cyveillance.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.developer.mydigipass.com: could not connect to host
-www.dropbox.com: max-age too low: 2592000
+www.dropbox.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.dropcam.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.elanex.biz: did not receive HSTS header
+www.entropia.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.eternalgoth.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.evernote.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.gamesdepartment.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.getcloak.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.gmail.com: did not receive HSTS header (error ignored - included regardless)
 www.googlemail.com: did not receive HSTS header (error ignored - included regardless)
+www.gov.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.grc.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.greplin.com: did not receive HSTS header
+www.heliosnet.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.intercom.io: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.irccloud.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.jitsi.org: did not receive HSTS header
+www.lastpass.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.ledgerscope.net: did not receive HSTS header
+www.linode.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.logentries.com: did not receive HSTS header
+www.lookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.makeyourlaws.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.moneybookers.com: did not receive HSTS header
+www.mydigipass.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.mylookout.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.neonisi.com: could not connect to host
-www.paycheckrecords.com: max-age too low: 86400
+www.noisebridge.net: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.opsmate.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.paycheckrecords.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.paypal.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.python.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.rme.li: did not receive HSTS header
 www.roddis.net: did not receive HSTS header
 www.sandbox.mydigipass.com: could not connect to host
+www.schokokeks.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.simbolo.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.simple.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
 www.surfeasy.com: did not receive HSTS header
-zoo24.de: max-age too low: 2592000
+www.therapynotes.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.tinfoilsecurity.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.torproject.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.twitter.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.usaa.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.wepay.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+www.zenpayroll.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+xbrlsuccess.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+xbrlsuccess.appspot.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no] (error ignored - included regardless)
+xps2pdf.co.uk: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+y-o-w.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+z.ai: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+zenpayroll.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+zeropush.com: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+zoo24.de: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
+zotero.org: [Exception... "Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 3 [nsISiteSecurityService.processHeader]"  nsresult: "0x80570035 (NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 124"  data: no]
--- a/security/manager/boot/src/nsSTSPreloadList.inc
+++ b/security/manager/boot/src/nsSTSPreloadList.inc
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /*****************************************************************************/
 /* This is an automatically generated file. If you're not                    */
 /* nsSiteSecurityService.cpp, you shouldn't be #including it.     */
 /*****************************************************************************/
 
 #include <stdint.h>
-const PRTime gPreloadListExpirationTime = INT64_C(1422698928654000);
+const PRTime gPreloadListExpirationTime = INT64_C(1423303867520000);
 
 class nsSTSPreload
 {
   public:
     const char *mHost;
     const bool mIncludeSubdomains;
 };
 
@@ -83,26 +83,26 @@ static const nsSTSPreload kSTSPreloadLis
   { "ca.gparent.org", false },
   { "carezone.com", false },
   { "cartouche24.eu", true },
   { "certible.com", true },
   { "check.torproject.org", false },
   { "checkout.google.com", true },
   { "chrome-devtools-frontend.appspot.com", true },
   { "chrome.google.com", true },
-  { "chromiumcodereview.appspot.com", false },
+  { "chromiumcodereview.appspot.com", true },
   { "clapping-rhymes.com", true },
   { "cloud.google.com", true },
   { "cloudcert.org", true },
   { "cloudns.com.au", true },
   { "cloudsecurityalliance.org", true },
   { "cloudup.com", true },
   { "code-poets.co.uk", true },
   { "code.google.com", true },
-  { "codereview.appspot.com", false },
+  { "codereview.appspot.com", true },
   { "codereview.chromium.org", true },
   { "config.schokokeks.org", false },
   { "conformal.com", true },
   { "conrad-kostecki.de", true },
   { "controlcenter.gigahost.dk", true },
   { "crm.onlime.ch", false },
   { "crypto.cat", false },
   { "cryptopartyatx.org", true },
@@ -323,18 +323,18 @@ static const nsSTSPreload kSTSPreloadLis
   { "pay.gigahost.dk", true },
   { "paymill.com", true },
   { "paymill.de", true },
   { "pdf.yt", true },
   { "picksin.club", true },
   { "pierre-schmitz.com", true },
   { "pixi.me", true },
   { "play.google.com", false },
-  { "plus.google.com", false },
-  { "plus.sandbox.google.com", false },
+  { "plus.google.com", true },
+  { "plus.sandbox.google.com", true },
   { "portal.tirol.gv.at", true },
   { "posteo.de", true },
   { "profiles.google.com", true },
   { "projektzentrisch.de", true },
   { "prowhisky.de", true },
   { "pubkey.is", true },
   { "publications.qld.gov.au", false },
   { "pult.co", true },
@@ -346,17 +346,16 @@ static const nsSTSPreload kSTSPreloadLis
   { "redports.org", true },
   { "reedloden.com", true },
   { "reserve-online.net", true },
   { "reviews.anime.my", true },
   { "riccy.org", true },
   { "riesenmagnete.de", true },
   { "rippleunion.com", true },
   { "rme.li", false },
-  { "robteix.com", true },
   { "roddis.net", false },
   { "romab.com", true },
   { "rosenkeller.org", true },
   { "roundcube.mayfirst.org", false },
   { "rws-vertriebsportal.de", true },
   { "s-c.se", true },
   { "sakaki.anime.my", true },
   { "salaervergleich.com", true },
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -6212,16 +6212,21 @@
     "kind": "boolean",
     "description": "Was WebIDE's debug button used during this runtime connection?"
   },
   "BROWSER_IS_USER_DEFAULT": {
     "expires_in_version": "never",
     "kind": "boolean",
     "description": "The result of the startup default desktop browser check."
   },
+  "BROWSER_IS_ASSIST_DEFAULT": {
+    "expires_in_version": "never",
+    "kind": "boolean",
+    "description": "The result of the default browser check for assist intent."
+  },
   "MIXED_CONTENT_PAGE_LOAD": {
     "expires_in_version": "never",
     "kind": "enumerated",
     "n_values": 4,
     "description": "Accumulates type of content (mixed, mixed passive, unmixed) per page load"
   },
   "MIXED_CONTENT_UNBLOCK_COUNTER": {
     "expires_in_version": "never",