diff --git a/lib/main.js b/lib/main.js
index bb38539d9e2204708e521136748c42a85b348a2f..fe24d2a9f1a51421723a85a1e0a250f1041b7860 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -83,24 +83,41 @@ exports.main = function (options) {
 
                 preferences.on('', function (preferenceName) {
 
+                    let content = null;
+
                     if (preferenceName === 'amountInjected') {
                         return;
                     }
 
+                    if (preferenceName === 'domainWhitelist') {
+
+                        let domainWhitelist = preferences.prefs['domainWhitelist'];
+
+                        content = {
+                            'whitelistedDomains': _parseDomainWhitelist(domainWhitelist)
+                        };
+
+                    } else {
+
+                        content = {
+                            [preferenceName]: preferences.prefs[preferenceName]
+                        };
+                    }
+
                     port.postMessage({
                         'subject': 'update-preferences',
-                        'content': {
-                            [preferenceName]: preferences.prefs[preferenceName]
-                        }
+                        'content': content
                     });
                 });
 
+                let domainWhitelist = preferences.prefs['domainWhitelist'];
+
                 port.postMessage({
                     'subject': 'migrate-preferences',
                     'content': {
                         'amountInjected': preferences.prefs['amountInjected'],
                         'blockMissing': preferences.prefs['blockMissing'],
-                        'domainWhitelist': preferences.prefs['domainWhitelist'],
+                        'whitelistedDomains': _parseDomainWhitelist(domainWhitelist),
                         'showReleaseNotes': preferences.prefs['showReleaseNotes']
                     }
                 });
@@ -126,3 +143,29 @@ exports.broadcastInjection = function () {
         });
     }
 };
+
+/**
+ * Private Methods
+ */
+
+function _parseDomainWhitelist(value) {
+
+    let whitelistedDomains = {};
+
+    value.split(';').forEach(function (domain) {
+        whitelistedDomains[_normalizeDomain(domain)] = true;
+    });
+
+    return whitelistedDomains;
+}
+
+function _normalizeDomain(domain) {
+
+    domain = domain.toLowerCase().trim();
+
+    if (domain.startsWith('www.')) {
+        domain = domain.slice(4);
+    }
+
+    return domain;
+}