Merge m-c to inbound. a=merge
authorRyan VanderMeulen <ryanvm@gmail.com>
Sat, 09 Apr 2016 15:22:21 -0400
changeset 316299 ee048ce0f8d5d6570b7582728b3ac540634a367c
parent 316298 1bb3c8365cc4edc7552e6bd7390e6deb917b65f7 (current diff)
parent 316165 d62963756d9a9d19cbbb5d8f3dd3c7cfa8fdef88 (diff)
child 316300 89c24de1de01be6296c2b323ba788f0f2c310ce9
push id9480
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 17:12:58 +0000
treeherdermozilla-aurora@0d6a91c76a9e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone48.0a1
Merge m-c to inbound. a=merge
devtools/client/inspector/test/browser.ini
mobile/android/base/java/org/mozilla/gecko/db/LocalReadingListAccessor.java
mobile/android/base/java/org/mozilla/gecko/db/ReadingListAccessor.java
mobile/android/base/java/org/mozilla/gecko/db/ReadingListProvider.java
mobile/android/base/java/org/mozilla/gecko/home/ReadingListRow.java
mobile/android/base/java/org/mozilla/gecko/overlays/service/sharemethods/AddToReadingList.java
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_add.xml
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_add_asset.png
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_remove.xml
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_remove_asset.png
mobile/android/base/resources/drawable-hdpi/icon_reading_list_empty.png
mobile/android/base/resources/drawable-hdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-hdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-mdpi-v11/ic_menu_reader_add.xml
mobile/android/base/resources/drawable-mdpi-v11/ic_menu_reader_remove.xml
mobile/android/base/resources/drawable-xhdpi-v11/ic_menu_reader_add.png
mobile/android/base/resources/drawable-xhdpi-v11/ic_menu_reader_remove.png
mobile/android/base/resources/drawable-xhdpi/icon_reading_list_empty.png
mobile/android/base/resources/drawable-xhdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-xxhdpi-v11/ic_menu_reader_add.png
mobile/android/base/resources/drawable-xxhdpi-v11/ic_menu_reader_remove.png
mobile/android/base/resources/drawable-xxhdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable/ic_menu_reader_add.xml
mobile/android/base/resources/drawable/ic_menu_reader_remove.xml
mobile/android/base/resources/drawable/overlay_share_reading_list_button.xml
mobile/android/base/resources/drawable/reading_list_indicator_read.xml
mobile/android/base/resources/drawable/reading_list_indicator_unread.xml
mobile/android/base/resources/layout/reading_list_item_row.xml
mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testReadingListProvider.java
--- a/browser/base/content/browser-syncui.js
+++ b/browser/base/content/browser-syncui.js
@@ -23,16 +23,17 @@ var gSyncUI = {
          "weave:service:login:error",
          "weave:service:logout:finish",
          "weave:service:start-over",
          "weave:service:start-over:finish",
          "weave:ui:login:error",
          "weave:ui:sync:error",
          "weave:ui:sync:finish",
          "weave:ui:clear-error",
+         "weave:engine:sync:finish"
   ],
 
   _unloaded: false,
   // The number of "active" syncs - while this is non-zero, our button will spin
   _numActiveSyncTasks: 0,
 
   init: function () {
     Cu.import("resource://services-common/stringbundle.js");
@@ -412,16 +413,27 @@ var gSyncUI = {
       }
     }
   }),
 
   onSyncFinish: function SUI_onSyncFinish() {
     let title = this._stringBundle.GetStringFromName("error.sync.title");
   },
 
+  onClientsSynced: function() {
+    let broadcaster = document.getElementById("sync-syncnow-state");
+    if (broadcaster) {
+      if (Weave.Service.clientsEngine.stats.numClients > 1) {
+        broadcaster.setAttribute("devices-status", "multi");
+      } else {
+        broadcaster.setAttribute("devices-status", "single");
+      }
+    }
+  },
+
   observe: function SUI_observe(subject, topic, data) {
     this.log.debug("observed", topic);
     if (this._unloaded) {
       Cu.reportError("SyncUI observer called after unload: " + topic);
       return;
     }
 
     // Unwrap, just like Svc.Obs, but without pulling in that dependency.
@@ -465,16 +477,22 @@ var gSyncUI = {
         this.updateUI();
         break;
       case "weave:service:ready":
         this.initUI();
         break;
       case "weave:notification:added":
         this.initNotifications();
         break;
+      case "weave:engine:sync:finish":
+        if (data != "clients") {
+          return;
+        }
+        this.onClientsSynced();
+        break;
     }
   },
 
   QueryInterface: XPCOMUtils.generateQI([
     Ci.nsIObserver,
     Ci.nsISupportsWeakReference
   ])
 };
--- a/browser/components/customizableui/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/CustomizableWidgets.jsm
@@ -311,19 +311,21 @@ const CustomizableWidgets = [
       let bundle = doc.getElementById("bundle_browser");
       let formatArgs = ["android", "ios"].map(os => {
         let link = doc.createElement("label");
         link.textContent = bundle.getString(`appMenuRemoteTabs.mobilePromo.${os}`)
         link.setAttribute("mobile-promo-os", os);
         link.className = "text-link remotetabs-promo-link";
         return link.outerHTML;
       });
+      let promoParentElt = doc.getElementById("PanelUI-remotetabs-mobile-promo");
+      let fxAccountsBrand = promoParentElt.getAttribute("fxAccountsBrand");
+      formatArgs.push(fxAccountsBrand);
       // Put it all together...
-      let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo", formatArgs);
-      let promoParentElt = doc.getElementById("PanelUI-remotetabs-mobile-promo");
+      let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text", formatArgs);
       promoParentElt.innerHTML = contents;
       // We manually manage the "click" event to open the promo links because
       // allowing the "text-link" widget handle it has 2 problems: (1) it only
       // supports button 0 and (2) it's tricky to intercept when it does the
       // open and auto-close the panel. (1) can probably be fixed, but (2) is
       // trickier without hard-coding here the knowledge of exactly what buttons
       // it does support.
       // So we allow left and middle clicks to open the link in a new tab and
--- a/browser/components/customizableui/content/panelUI.inc.xul
+++ b/browser/components/customizableui/content/panelUI.inc.xul
@@ -103,26 +103,28 @@
     </panelview>
 
     <panelview id="PanelUI-remotetabs" flex="1" class="PanelUI-subView">
       <label value="&appMenuRemoteTabs.label;" class="panel-subview-header"/>
       <vbox class="panel-subview-body">
         <!-- this widget has 3 boxes in the body, but only 1 is ever visible -->
         <!-- When Sync is ready to sync -->
         <vbox id="PanelUI-remotetabs-main" observes="sync-syncnow-state">
-          <toolbarbutton id="PanelUI-remotetabs-view-sidebar"
-                         class="subviewbutton"
-                         observes="viewTabsSidebar"
-                         label="&appMenuRemoteTabs.sidebar.label;"/>
-          <toolbarbutton id="PanelUI-remotetabs-syncnow"
-                         observes="sync-status"
-                         class="subviewbutton"
-                         oncommand="gSyncUI.doSync();"
-                         closemenu="none"/>
-          <menuseparator id="PanelUI-remotetabs-separator"/>
+          <vbox id="PanelUI-remotetabs-buttons">
+            <toolbarbutton id="PanelUI-remotetabs-view-sidebar"
+                           class="subviewbutton"
+                           observes="viewTabsSidebar"
+                           label="&appMenuRemoteTabs.sidebar.label;"/>
+            <toolbarbutton id="PanelUI-remotetabs-syncnow"
+                           observes="sync-status"
+                           class="subviewbutton"
+                           oncommand="gSyncUI.doSync();"
+                           closemenu="none"/>
+            <menuseparator id="PanelUI-remotetabs-separator"/>
+          </vbox>
           <deck id="PanelUI-remotetabs-deck">
             <!-- Sync is ready to Sync and the "tabs" engine is enabled -->
             <vbox id="PanelUI-remotetabs-tabspane">
               <vbox id="PanelUI-remotetabs-tabslist"
                     notabsforclientlabel="&appMenuRemoteTabs.notabs.label;"
                     />
             </vbox>
             <!-- Sync is ready to Sync but the "tabs" engine isn't enabled-->
@@ -144,19 +146,20 @@
               <!-- Show intentionally blank panel, see bug 1239845 -->
             </vbox>
             <!-- Sync has only 1 (ie, this) device connected -->
             <hbox id="PanelUI-remotetabs-nodevicespane" pack="center" flex="1">
               <vbox class="PanelUI-remotetabs-instruction-box">
                 <hbox pack="center">
                   <image class="fxaSyncIllustration" alt=""/>
                 </hbox>
-                <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.noclients.label;</label>
+                <label class="PanelUI-remotetabs-instruction-title">&appMenuRemoteTabs.noclients.title;</label>
+                <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.noclients.subtitle;</label>
                 <!-- The inner HTML for PanelUI-remotetabs-mobile-promo is built at runtime -->
-                <label id="PanelUI-remotetabs-mobile-promo"/>
+                <label id="PanelUI-remotetabs-mobile-promo" fxAccountsBrand="&syncBrand.fxAccount.label;"/>
               </vbox>
             </hbox>
           </deck>
         </vbox>
         <!-- a box to ensure contained boxes are centered horizonally -->
         <hbox pack="center" flex="1">
           <!-- When Sync is not configured -->
           <vbox id="PanelUI-remotetabs-setupsync"
--- a/browser/components/syncedtabs/SyncedTabsDeckView.js
+++ b/browser/components/syncedtabs/SyncedTabsDeckView.js
@@ -68,19 +68,22 @@ SyncedTabsDeckView.prototype = {
     let bundle = this._getBrowserBundle();
     let formatArgs = ["android", "ios"].map(os => {
       let link = this._doc.createElement("a");
       link.textContent = bundle.getString(`appMenuRemoteTabs.mobilePromo.${os}`)
       link.className = `${os}-link text-link`;
       link.setAttribute("href", "#");
       return link.outerHTML;
     });
+    let promoParentElt = this.container.querySelector(".device-promo");
+    let fxAccountsBrand = promoParentElt.getAttribute("fxAccountsBrand");
+    formatArgs.push(fxAccountsBrand);
     // Put it all together...
-    let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo", formatArgs);
-    this.container.querySelector(".device-promo").innerHTML = contents;
+    let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text", formatArgs);
+    promoParentElt.innerHTML = contents;
   },
 
   destroy() {
     this._tabListComponent.uninit();
     this.container.remove();
   },
 
   update(state) {
--- a/browser/components/syncedtabs/sidebar.xhtml
+++ b/browser/components/syncedtabs/sidebar.xhtml
@@ -5,16 +5,19 @@
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" [
   <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
   %browserDTD;
   <!ENTITY % globalDTD
     SYSTEM "chrome://global/locale/global.dtd">
   %globalDTD;
+  <!ENTITY % syncBrandDTD
+    SYSTEM "chrome://browser/locale/syncBrand.dtd">
+  %syncBrandDTD;
 ]>
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
   <head>
     <script src="chrome://browser/content/syncedtabs/sidebar.js" type="application/javascript;version=1.8"></script>
     <script type="application/javascript" src="chrome://browser/content/utilityOverlay.js"/>
 
     <link rel="stylesheet" type="text/css" media="all" href="chrome://browser/skin/syncedtabs/sidebar.css"/>
@@ -72,18 +75,19 @@
         <div class="tabs-fetching sync-state">
           <!-- Show intentionally blank panel, see bug 1239845 -->
         </div>
         <div class="notAuthedInfo sync-state">
           <p>&syncedTabs.sidebar.notsignedin.label;</p>
           <p><a href="#" class="sync-prefs text-link">&fxaSignIn.label;</a></p>
         </div>
         <div class="singleDeviceInfo sync-state">
-          <p>&syncedTabs.sidebar.noclients.label;</p>
-          <p class="device-promo"></p>
+          <p>&syncedTabs.sidebar.noclients.title;</p>
+          <p>&syncedTabs.sidebar.noclients.subtitle;</p>
+          <p class="device-promo" fxAccountsBrand="&syncBrand.fxAccount.label;"></p>
         </div>
         <div class="tabs-disabled sync-state">
           <p>&syncedTabs.sidebar.tabsnotsyncing.label;</p>
           <p><a href="#" class="sync-prefs text-link">&syncedTabs.sidebar.openprefs.label;</a></p>
         </div>
       </div>
     </template>
 
--- a/browser/locales/en-US/chrome/browser/browser.dtd
+++ b/browser/locales/en-US/chrome/browser/browser.dtd
@@ -343,17 +343,18 @@ These should match what Safari and other
      the name of a device when that device has no open tabs -->
 <!ENTITY appMenuRemoteTabs.notabs.label "No open tabs">
 <!-- LOCALIZATION NOTE (appMenuRemoteTabs.tabsnotsyncing.label): This is shown
      when Sync is configured but syncing tabs is disabled. -->
 <!ENTITY appMenuRemoteTabs.tabsnotsyncing.label "Turn on tab syncing to view a list of tabs from your other devices.">
 <!-- LOCALIZATION NOTE (appMenuRemoteTabs.noclients.label): This is shown
      when Sync is configured but this appears to be the only device attached to
      the account. We also show links to download Firefox for android/ios. -->
-<!ENTITY appMenuRemoteTabs.noclients.label "Sign in to Firefox from your other devices to view their tabs here.">
+<!ENTITY appMenuRemoteTabs.noclients.title "No synced tabs… yet!">
+<!ENTITY appMenuRemoteTabs.noclients.subtitle "Want to see your tabs from other devices here?">
 <!ENTITY appMenuRemoteTabs.openprefs.label "Sync Preferences">
 <!ENTITY appMenuRemoteTabs.notsignedin.label "Sign in to view a list of tabs from your other devices.">
 <!ENTITY appMenuRemoteTabs.signin.label "Sign in to Sync">
 <!ENTITY appMenuRemoteTabs.sidebar.label "View Synced Tabs Sidebar">
 
 <!ENTITY customizeMenu.addToToolbar.label "Add to Toolbar">
 <!ENTITY customizeMenu.addToToolbar.accesskey "A">
 <!ENTITY customizeMenu.addToPanel.label "Add to Menu">
@@ -719,16 +720,18 @@ you can use these alternative items. Oth
      The word "toolbar" is appended automatically and should not be contained below! -->
 <!ENTITY tabsToolbar.label "Browser tabs">
 
 <!-- LOCALIZATION NOTE (syncTabsMenu3.label): This appears in the history menu -->
 <!ENTITY syncTabsMenu3.label     "Synced Tabs">
 
 <!ENTITY syncedTabs.sidebar.label              "Synced Tabs">
 <!ENTITY syncedTabs.sidebar.noclients.label    "Sign in to Firefox from your other devices to view their tabs here.">
+<!ENTITY syncedTabs.sidebar.noclients.title    "No synced tabs… yet!">
+<!ENTITY syncedTabs.sidebar.noclients.subtitle "Want to see your tabs from other devices here?">
 <!ENTITY syncedTabs.sidebar.notsignedin.label  "Sign in to view a list of tabs from your other devices.">
 <!ENTITY syncedTabs.sidebar.notabs.label       "No open tabs">
 <!ENTITY syncedTabs.sidebar.openprefs.label    "Open &syncBrand.shortName.label; Preferences">
 <!-- LOCALIZATION NOTE (syncedTabs.sidebar.tabsnotsyncing.label): This is shown
      when Sync is configured but syncing tabs is disabled. -->
 <!ENTITY syncedTabs.sidebar.tabsnotsyncing.label       "Turn on tab syncing to view a list of tabs from your other devices.">
 
 <!ENTITY syncedTabs.context.open.label                       "Open">
--- a/browser/locales/en-US/chrome/browser/browser.properties
+++ b/browser/locales/en-US/chrome/browser/browser.properties
@@ -681,24 +681,25 @@ appmenu.updateFailed.description = Backg
 appmenu.restartBrowserButton.label = Restart %S
 appmenu.downloadUpdateButton.label = Download Update
 
 # LOCALIZATION NOTE : FILE Reader View is a feature name and therefore typically used as a proper noun.
 
 readingList.promo.firstUse.readerView.title = Reader View
 readingList.promo.firstUse.readerView.body = Remove clutter so you can focus exactly on what you want to read.
 
-# LOCALIZATION NOTE (appMenuRemoteTabs.mobilePromo):
+# LOCALIZATION NOTE (appMenuRemoteTabs.mobilePromo.text):
 # %1$S will be replaced with a link, the text of which is
 # appMenuRemoteTabs.mobilePromo.android and the link will be to
 # https://www.mozilla.org/firefox/android/.
 # %2$S will be replaced with a link, the text of which is
 # appMenuRemoteTabs.mobilePromo.ios
 # and the link will be to https://www.mozilla.org/firefox/ios/.
-appMenuRemoteTabs.mobilePromo = Get %1$S or %2$S.
+# %3$S will be replace by the content of syncBrand.fxAccount.label (Firefox Account)
+appMenuRemoteTabs.mobilePromo.text = Download %1$S or %2$S and connect them to your %3$S.
 appMenuRemoteTabs.mobilePromo.android = Firefox for Android
 appMenuRemoteTabs.mobilePromo.ios = Firefox for iOS
 
 # LOCALIZATION NOTE (e10s.offerPopup.mainMessage
 #                    e10s.offerPopup.highlight1
 #                    e10s.offerPopup.highlight2
 #                    e10s.offerPopup.enableAndRestart.label
 #                    e10s.offerPopup.enableAndRestart.accesskey
--- a/browser/themes/shared/customizableui/panelUIOverlay.inc.css
+++ b/browser/themes/shared/customizableui/panelUIOverlay.inc.css
@@ -674,28 +674,33 @@ toolbarpaletteitem[place="palette"] > to
 #PanelUI-fxa-icon {
   list-style-image: url(chrome://browser/skin/sync-horizontalbar.png);
 }
 
 #PanelUI-remotetabs {
   --panel-ui-sync-illustration-height: 157.5px;
 }
 
+.PanelUI-remotetabs-instruction-title,
 .PanelUI-remotetabs-instruction-label,
 #PanelUI-remotetabs-mobile-promo {
   /* If you change the margin here, the min-height of the synced tabs panel
     (e.g. #PanelUI-remotetabs[mainview] #PanelUI-remotetabs-setupsync, etc) may
     need adjusting (see bug 1248506) */
   margin: 15px;
   text-align: center;
   text-shadow: none;
   max-width: 15em;
   color: GrayText;
 }
 
+.PanelUI-remotetabs-instruction-title {
+  font-size: 1.3em;
+}
+
 /* The boxes with "instructions" get extra top and bottom padding for space
    around the illustration and buttons */
 .PanelUI-remotetabs-instruction-box {
   /* If you change the padding here, the min-height of the synced tabs panel
     (e.g. #PanelUI-remotetabs[mainview] #PanelUI-remotetabs-setupsync, etc) may
     need adjusting (see bug 1248506) */
   padding-bottom: 30px;
   padding-top: 15px;
@@ -770,16 +775,20 @@ toolbarpaletteitem[place="palette"] > to
 /* Collapse the non-active vboxes in the remotetabs deck to use only the
    height the active box needs */
 #PanelUI-remotetabs-deck:not([selectedIndex="1"]) > #PanelUI-remotetabs-tabsdisabledpane,
 #PanelUI-remotetabs-deck:not([selectedIndex="2"]) > #PanelUI-remotetabs-fetching,
 #PanelUI-remotetabs-deck:not([selectedIndex="3"]) > #PanelUI-remotetabs-nodevicespane {
   visibility: collapse;
 }
 
+#PanelUI-remotetabs-main[devices-status="single"] > #PanelUI-remotetabs-buttons {
+  display: none;
+}
+
 #PanelUI-fxa-icon[syncstatus="active"] {
   list-style-image: url(chrome://browser/skin/syncProgress-horizontalbar.png);
 }
 
 #PanelUI-footer-fxa[fxastatus="migrate-signup"] > #PanelUI-fxa-status > #PanelUI-fxa-label,
 #PanelUI-footer-fxa[fxastatus="migrate-verify"] > #PanelUI-fxa-status > #PanelUI-fxa-label {
   list-style-image: url(chrome://browser/skin/warning.svg);
   -moz-image-region: auto;
--- a/devtools/client/inspector/test/browser.ini
+++ b/devtools/client/inspector/test/browser.ini
@@ -101,16 +101,17 @@ skip-if = (e10s && debug) # Bug 1250058 
 [browser_inspector_menu-03-paste-items.js]
 [browser_inspector_menu-04-use-in-console.js]
 [browser_inspector_menu-05-attribute-items.js]
 [browser_inspector_menu-06-other.js]
 [browser_inspector_navigation.js]
 [browser_inspector_pane-toggle-01.js]
 [browser_inspector_pane-toggle-02.js]
 [browser_inspector_pane-toggle-03.js]
+[browser_inspector_pane-toggle-04.js]
 [browser_inspector_picker-stop-on-destroy.js]
 [browser_inspector_picker-stop-on-tool-change.js]
 [browser_inspector_pseudoclass-lock.js]
 [browser_inspector_pseudoclass-menu.js]
 [browser_inspector_reload-01.js]
 [browser_inspector_reload-02.js]
 [browser_inspector_remove-iframe-during-load.js]
 [browser_inspector_search-01.js]
new file mode 100644
--- /dev/null
+++ b/devtools/client/inspector/test/browser_inspector_pane-toggle-04.js
@@ -0,0 +1,65 @@
+/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
+/* Any copyright is dedicated to the Public Domain.
+   http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+let { Toolbox } = require("devtools/client/framework/toolbox");
+
+// Test that the dimensions of the collapsed inspector panel are not modified
+// when switching from horizontal to vertical layout, which is mandatory to make
+// sure the panel remains visually hidden (using negative margins).
+
+add_task(function* () {
+  info("Set temporary preferences to ensure a small sidebar width.");
+  yield new Promise(resolve => {
+    let options = {"set": [
+      ["devtools.toolsidebar-width.inspector", 200]
+    ]};
+    SpecialPowers.pushPrefEnv(options, resolve);
+  });
+
+  let { inspector, toolbox } = yield openInspectorForURL("about:blank");
+  let button = inspector.panelDoc.getElementById("inspector-pane-toggle");
+  let panel = inspector.panelDoc.querySelector("#inspector-sidebar");
+
+  info("Changing toolbox host to a window.");
+  yield toolbox.switchHost(Toolbox.HostType.WINDOW);
+
+  let hostWindow = toolbox._host._window;
+  let originalWidth = hostWindow.outerWidth;
+  let originalHeight = hostWindow.outerHeight;
+
+  info("Resizing window to switch to the horizontal layout.");
+  hostWindow.resizeTo(800, 300);
+
+  // Check the sidebar is expanded when the test starts.
+  ok(!panel.hasAttribute("pane-collapsed"), "The panel is in expanded state");
+
+  info("Collapse the inspector sidebar.");
+  let onTransitionEnd = once(panel, "transitionend");
+  EventUtils.synthesizeMouseAtCenter(button, {type: "mousedown"},
+    inspector.panelDoc.defaultView);
+  yield onTransitionEnd;
+
+  ok(panel.hasAttribute("pane-collapsed"), "The panel is in collapsed state");
+  let currentPanelHeight = panel.getBoundingClientRect().height;
+  let currentPanelMarginBottom = panel.style.marginBottom;
+
+  info("Resizing window to switch to the vertical layout.");
+  hostWindow.resizeTo(300, 800);
+
+  // Check the panel is collapsed, and still has the same dimensions.
+  ok(panel.hasAttribute("pane-collapsed"), "The panel is still collapsed");
+  is(panel.getBoundingClientRect().height, currentPanelHeight,
+    "The panel height has not been modified when changing the layout.");
+  is(panel.style.marginBottom, currentPanelMarginBottom,
+    "The panel margin-bottom has not been modified when changing the layout.");
+
+  info("Restoring window original size.");
+  hostWindow.resizeTo(originalWidth, originalHeight);
+});
+
+registerCleanupFunction(function() {
+  // Restore the host type for other tests.
+  Services.prefs.clearUserPref("devtools.toolbox.host");
+});
--- a/devtools/client/locales/en-US/animationinspector.properties
+++ b/devtools/client/locales/en-US/animationinspector.properties
@@ -62,18 +62,18 @@ player.infiniteIterationCount=&#8734;
 # Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
 # a tooltip.
 player.infiniteIterationCountText=∞
 
 # LOCALIZATION NOTE (player.animationIterationStartLabel):
 # This string is displayed in a tooltip that appears when hovering over
 # animations in the timeline. It is the label displayed before the animation
 # iterationStart value.
-# %1$S will be replaced by the original itaration start value
-# %2$S will be replaced by the actual time of itaration start
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start
 player.animationIterationStartLabel=Iteration start: %1$S (%2$Ss)
 
 # LOCALIZATION NOTE (player.timeLabel):
 # This string is displayed in each animation player widget, to indicate either
 # how long (in seconds) the animation lasts, or what is the animation's current
 # time (in seconds too);
 player.timeLabel=%Ss
 
--- a/devtools/client/themes/animationinspector.css
+++ b/devtools/client/themes/animationinspector.css
@@ -334,20 +334,16 @@ body {
   border: 1px solid var(--timeline-border-color);
   /* Border-right is already handled by the gradient */
   border-width: 1px 0 1px 1px;
 
   /* The background color is set independently */
   background-color: var(--timeline-background-color);
 }
 
-.animation-timeline .animation .iterations.infinite {
-  border-right-width: 0;
-}
-
 .animation-timeline .animation .iterations.infinite::before,
 .animation-timeline .animation .iterations.infinite::after {
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 0;
   height: 0;
--- a/devtools/client/themes/widgets.css
+++ b/devtools/client/themes/widgets.css
@@ -75,17 +75,19 @@
     -moz-margin-start: 0;
     width: auto;
     min-width: 0;
 
     /* In some edge case the cursor is not changed to n-resize */
     cursor: n-resize;
   }
 
-  .devtools-responsive-container > .devtools-sidebar-tabs {
+  .devtools-responsive-container > .devtools-sidebar-tabs:not([pane-collapsed]) {
+    /* When the panel is collapsed min/max height should not be applied because
+       collapsing relies on negative margins, which implies constant height. */
     min-height: 35vh;
     max-height: 75vh;
   }
 
   .devtools-responsive-container .generic-toggled-pane {
     /* To hide generic-toggled-pane, negative margins are applied dynamically.
      * If a vertical layout, the pane is on the bottom and should be hidden
      * using negative bottom margin only.
--- a/mobile/android/base/AndroidManifest.xml.in
+++ b/mobile/android/base/AndroidManifest.xml.in
@@ -323,21 +323,16 @@
                   android:label="@string/sync_configure_engines_title_tabs"
                   android:authorities="@ANDROID_PACKAGE_NAME@.db.tabs"
                   android:exported="false"/>
 
         <provider android:name="org.mozilla.gecko.db.HomeProvider"
                   android:authorities="@ANDROID_PACKAGE_NAME@.db.home"
                   android:exported="false"/>
 
-        <provider android:name="org.mozilla.gecko.db.ReadingListProvider"
-                  android:authorities="@ANDROID_PACKAGE_NAME@.db.readinglist"
-                  android:label="@string/reading_list_title"
-                  android:exported="false"/>
-
         <provider android:name="org.mozilla.gecko.db.SearchHistoryProvider"
                   android:authorities="@ANDROID_PACKAGE_NAME@.db.searchhistory"
                   android:exported="false"/>
 
         <service
             android:exported="false"
             android:name="org.mozilla.gecko.updater.UpdateService"
             android:process="@MANGLED_ANDROID_PACKAGE_NAME@.UpdateService">
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -52,16 +52,17 @@ import org.mozilla.gecko.menu.GeckoMenuI
 import org.mozilla.gecko.mozglue.ContextUtils;
 import org.mozilla.gecko.mozglue.ContextUtils.SafeIntent;
 import org.mozilla.gecko.overlays.ui.ShareDialog;
 import org.mozilla.gecko.permissions.Permissions;
 import org.mozilla.gecko.preferences.ClearOnShutdownPref;
 import org.mozilla.gecko.preferences.GeckoPreferences;
 import org.mozilla.gecko.prompts.Prompt;
 import org.mozilla.gecko.prompts.PromptListItem;
+import org.mozilla.gecko.reader.SavedReaderViewHelper;
 import org.mozilla.gecko.reader.ReaderModeUtils;
 import org.mozilla.gecko.reader.ReadingListHelper;
 import org.mozilla.gecko.restrictions.Restrictable;
 import org.mozilla.gecko.restrictions.RestrictedProfileConfiguration;
 import org.mozilla.gecko.restrictions.Restrictions;
 import org.mozilla.gecko.search.SearchEngineManager;
 import org.mozilla.gecko.sync.repositories.android.FennecTabsRepository;
 import org.mozilla.gecko.tabqueue.TabQueueHelper;
@@ -177,17 +178,16 @@ public class BrowserApp extends GeckoApp
                         implements TabsPanel.TabsLayoutChangeListener,
                                    PropertyAnimator.PropertyAnimationListener,
                                    View.OnKeyListener,
                                    LayerView.DynamicToolbarListener,
                                    BrowserSearch.OnSearchListener,
                                    BrowserSearch.OnEditSuggestionListener,
                                    OnUrlOpenListener,
                                    OnUrlOpenInBackgroundListener,
-                                   ReadingListHelper.OnReadingListEventListener,
                                    AnchoredPopup.OnVisibilityChangeListener,
                                    ActionModeCompat.Presenter,
                                    LayoutInflater.Factory {
     private static final String LOGTAG = "GeckoBrowserApp";
 
     private static final int TABS_ANIMATION_DURATION = 450;
 
     public static final String GUEST_BROWSING_ARG = "--guest";
@@ -358,22 +358,16 @@ public class BrowserApp extends GeckoApp
                 tab.loadFavicon();
                 break;
             case BOOKMARK_ADDED:
                 showBookmarkAddedSnackbar();
                 break;
             case BOOKMARK_REMOVED:
                 showBookmarkRemovedSnackbar();
                 break;
-            case READING_LIST_ADDED:
-                onAddedToReadingList(tab.getURL());
-                break;
-            case READING_LIST_REMOVED:
-                onRemovedFromReadingList(tab.getURL());
-                break;
 
             case UNSELECTED:
                 // We receive UNSELECTED immediately after the SELECTED listeners run
                 // so we are ensured that the unselectedTabEditingText has not changed.
                 if (tab.isEditing()) {
                     // Copy to avoid constructing new objects.
                     tab.getEditingState().copyFrom(mLastTabEditingState);
                 }
@@ -442,48 +436,16 @@ public class BrowserApp extends GeckoApp
                 getResources().getString(R.string.bookmark_options),
                 callback);
     }
 
     private void showBookmarkRemovedSnackbar() {
         SnackbarHelper.showSnackbar(this, getResources().getString(R.string.bookmark_removed), Snackbar.LENGTH_LONG);
     }
 
-    private void showSwitchToReadingListSnackbar(String message) {
-        final SnackbarHelper.SnackbarCallback callback = new SnackbarHelper.SnackbarCallback() {
-            @Override
-            public void onClick(View v) {
-                Telemetry.sendUIEvent(TelemetryContract.Event.SHOW, TelemetryContract.Method.TOAST, "reading_list");
-
-                final String aboutPageUrl = AboutPages.getURLForBuiltinPanelType(PanelType.READING_LIST);
-                Tabs.getInstance().loadUrlInTab(aboutPageUrl);
-            }
-        };
-
-        SnackbarHelper.showSnackbarWithAction(this,
-                message,
-                Snackbar.LENGTH_LONG,
-                getResources().getString(R.string.switch_button_message),
-                callback);
-    }
-
-    public void onAddedToReadingList(String url) {
-        showSwitchToReadingListSnackbar(getResources().getString(R.string.reading_list_added));
-    }
-
-    public void onAlreadyInReadingList(String url) {
-        showSwitchToReadingListSnackbar(getResources().getString(R.string.reading_list_duplicate));
-    }
-
-    public void onRemovedFromReadingList(String url) {
-        SnackbarHelper.showSnackbar(this,
-                getResources().getString(R.string.reading_list_removed),
-                Snackbar.LENGTH_LONG);
-    }
-
     @Override
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         if (AndroidGamepadManager.handleKeyEvent(event)) {
             return true;
         }
 
         // Global onKey handler. This is called if the focused UI doesn't
         // handle the key event, and before Gecko swallows the events.
@@ -730,17 +692,17 @@ public class BrowserApp extends GeckoApp
         // Init suggested sites engine in BrowserDB.
         final SuggestedSites suggestedSites = new SuggestedSites(appContext, distribution);
         final BrowserDB db = getProfile().getDB();
         db.setSuggestedSites(suggestedSites);
 
         JavaAddonManager.getInstance().init(appContext);
         mSharedPreferencesHelper = new SharedPreferencesHelper(appContext);
         mOrderedBroadcastHelper = new OrderedBroadcastHelper(appContext);
-        mReadingListHelper = new ReadingListHelper(appContext, getProfile(), this);
+        mReadingListHelper = new ReadingListHelper(appContext, getProfile());
         mAccountsHelper = new AccountsHelper(appContext, getProfile());
 
         final AdjustHelperInterface adjustHelper = AdjustConstants.getAdjustHelper();
         adjustHelper.onCreate(this, AdjustConstants.MOZ_INSTALL_TRACKING_ADJUST_SDK_APP_TOKEN);
 
         // Adjust stores enabled state so this is only necessary because users may have set
         // their data preferences before this feature was implemented and we need to respect
         // those before upload can occur in Adjust.onResume.
@@ -1776,17 +1738,16 @@ public class BrowserApp extends GeckoApp
                 overridePendingTransition(0, 0);
             }
 
         } else if ("Telemetry:Gather".equals(event)) {
             final BrowserDB db = getProfile().getDB();
             final ContentResolver cr = getContentResolver();
             Telemetry.addToHistogram("PLACES_PAGES_COUNT", db.getCount(cr, "history"));
             Telemetry.addToHistogram("FENNEC_BOOKMARKS_COUNT", db.getCount(cr, "bookmarks"));
-            Telemetry.addToHistogram("FENNEC_READING_LIST_COUNT", db.getReadingListAccessor().getCount(cr));
             Telemetry.addToHistogram("BROWSER_IS_USER_DEFAULT", (isDefaultBrowser(Intent.ACTION_VIEW) ? 1 : 0));
             Telemetry.addToHistogram("FENNEC_CUSTOM_HOMEPAGE", (TextUtils.isEmpty(getHomepage()) ? 0 : 1));
             final SharedPreferences prefs = GeckoSharedPrefs.forProfile(getContext());
             final boolean hasCustomHomepanels = prefs.contains(HomeConfigPrefsBackend.PREFS_CONFIG_KEY) || prefs.contains(HomeConfigPrefsBackend.PREFS_CONFIG_KEY_OLD);
             Telemetry.addToHistogram("FENNEC_HOMEPANELS_CUSTOM", hasCustomHomepanels ? 1 : 0);
 
             if (Versions.feature16Plus) {
                 Telemetry.addToHistogram("BROWSER_IS_ASSIST_DEFAULT", (isDefaultBrowser(Intent.ACTION_ASSIST) ? 1 : 0));
@@ -3182,17 +3143,16 @@ public class BrowserApp extends GeckoApp
         if (!GeckoThread.isRunning()) {
             aMenu.findItem(R.id.settings).setEnabled(false);
             aMenu.findItem(R.id.help).setEnabled(false);
         }
 
         Tab tab = Tabs.getInstance().getSelectedTab();
         // Unlike other menu items, the bookmark star is not tinted. See {@link ThemedImageButton#setTintedDrawable}.
         final MenuItem bookmark = aMenu.findItem(R.id.bookmark);
-        final MenuItem reader = aMenu.findItem(R.id.reading_list);
         final MenuItem back = aMenu.findItem(R.id.back);
         final MenuItem forward = aMenu.findItem(R.id.forward);
         final MenuItem share = aMenu.findItem(R.id.share);
         final MenuItem quickShare = aMenu.findItem(R.id.quickshare);
         final MenuItem bookmarksList = aMenu.findItem(R.id.bookmarks_list);
         final MenuItem historyList = aMenu.findItem(R.id.history_list);
         final MenuItem saveAsPDF = aMenu.findItem(R.id.save_as_pdf);
         final MenuItem print = aMenu.findItem(R.id.print);
@@ -3210,17 +3170,16 @@ public class BrowserApp extends GeckoApp
                                 HardwareUtils.isTelevision() ||
                                 !PrefUtils.getStringSet(GeckoSharedPrefs.forProfile(this),
                                                         ClearOnShutdownPref.PREF,
                                                         new HashSet<String>()).isEmpty();
         aMenu.findItem(R.id.quit).setVisible(visible);
 
         if (tab == null || tab.getURL() == null) {
             bookmark.setEnabled(false);
-            reader.setEnabled(false);
             back.setEnabled(false);
             forward.setEnabled(false);
             share.setEnabled(false);
             quickShare.setEnabled(false);
             saveAsPDF.setEnabled(false);
             print.setEnabled(false);
             findInPage.setEnabled(false);
 
@@ -3234,34 +3193,24 @@ public class BrowserApp extends GeckoApp
             MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, false);
             MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, false);
 
             return true;
         }
 
         final boolean inGuestMode = GeckoProfile.get(this).inGuestMode();
 
-        final boolean isAboutReader = AboutPages.isAboutReader(tab.getURL());
-        bookmark.setEnabled(!isAboutReader);
         bookmark.setVisible(!inGuestMode);
         bookmark.setCheckable(true);
         bookmark.setChecked(tab.isBookmark());
         bookmark.setTitle(resolveBookmarkTitleID(tab.isBookmark()));
 
-        reader.setEnabled(isAboutReader || !AboutPages.isAboutPage(tab.getURL()));
-        reader.setVisible(!inGuestMode);
-        reader.setCheckable(true);
-        final boolean isPageInReadingList = tab.isInReadingList();
-        reader.setChecked(isPageInReadingList);
-        reader.setTitle(resolveReadingListTitleID(isPageInReadingList));
-
         if (Versions.feature11Plus) {
             // We don't use icons on GB builds so not resolving icons might conserve resources.
             bookmark.setIcon(resolveBookmarkIconID(tab.isBookmark()));
-            reader.setIcon(resolveReadingListIconID(isPageInReadingList));
         }
 
         back.setEnabled(tab.canDoBack());
         forward.setEnabled(tab.canDoForward());
         desktopMode.setChecked(tab.getDesktopMode());
 
         View backButtonView = MenuItemCompat.getActionView(back);
 
@@ -3430,24 +3379,16 @@ public class BrowserApp extends GeckoApp
             return R.drawable.ic_menu_bookmark_add;
         }
     }
 
     private int resolveBookmarkTitleID(final boolean isBookmark) {
         return (isBookmark ? R.string.bookmark_remove : R.string.bookmark);
     }
 
-    private int resolveReadingListIconID(final boolean isInReadingList) {
-        return (isInReadingList ? R.drawable.ic_menu_reader_remove : R.drawable.ic_menu_reader_add);
-    }
-
-    private int resolveReadingListTitleID(final boolean isInReadingList) {
-        return (isInReadingList ? R.string.reading_list_remove : R.string.overlay_share_reading_list_btn_label);
-    }
-
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         Tab tab = null;
         Intent intent = null;
 
         final int itemId = item.getItemId();
 
         // Track the menu action. We don't know much about the context, but we can use this to determine
@@ -3480,40 +3421,16 @@ public class BrowserApp extends GeckoApp
                         // We don't use icons on GB builds so not resolving icons might conserve resources.
                         item.setIcon(resolveBookmarkIconID(true));
                     }
                 }
             }
             return true;
         }
 
-        if (itemId == R.id.reading_list) {
-            tab = Tabs.getInstance().getSelectedTab();
-            if (tab != null) {
-                if (item.isChecked()) {
-                    Telemetry.sendUIEvent(TelemetryContract.Event.UNSAVE, TelemetryContract.Method.MENU, "reading_list");
-                    tab.removeFromReadingList();
-                    item.setTitle(resolveReadingListTitleID(false));
-                    if (Versions.feature11Plus) {
-                        // We don't use icons on GB builds so not resolving icons might conserve resources.
-                        item.setIcon(resolveReadingListIconID(false));
-                    }
-                } else {
-                    Telemetry.sendUIEvent(TelemetryContract.Event.SAVE, TelemetryContract.Method.MENU, "reading_list");
-                    tab.addToReadingList();
-                    item.setTitle(resolveReadingListTitleID(true));
-                    if (Versions.feature11Plus) {
-                        // We don't use icons on GB builds so not resolving icons might conserve resources.
-                        item.setIcon(resolveReadingListIconID(true));
-                    }
-                }
-            }
-            return true;
-        }
-
         if (itemId == R.id.share) {
             tab = Tabs.getInstance().getSelectedTab();
             if (tab != null) {
                 String url = tab.getURL();
                 if (url != null) {
                     if (AboutPages.isAboutReader(url)) {
                         url = ReaderModeUtils.getUrlFromAboutReader(url);
                     }
@@ -3881,40 +3798,48 @@ public class BrowserApp extends GeckoApp
 
     // HomePager.OnUrlOpenListener
     @Override
     public void onUrlOpen(String url, EnumSet<OnUrlOpenListener.Flags> flags) {
         if (flags.contains(OnUrlOpenListener.Flags.OPEN_WITH_INTENT)) {
             Intent intent = new Intent(Intent.ACTION_VIEW);
             intent.setData(Uri.parse(url));
             startActivity(intent);
-        } else if (!maybeSwitchToTab(url, flags)) {
-            openUrlAndStopEditing(url);
-            clearSelectedTabApplicationId();
+        } else {
+            final String pageURL = SavedReaderViewHelper.getReaderURLIfCached(getContext(), url);
+
+            if (!maybeSwitchToTab(pageURL, flags)) {
+                openUrlAndStopEditing(pageURL);
+                clearSelectedTabApplicationId();
+            }
         }
     }
 
     // HomePager.OnUrlOpenInBackgroundListener
     @Override
     public void onUrlOpenInBackground(final String url, EnumSet<OnUrlOpenInBackgroundListener.Flags> flags) {
         if (url == null) {
             throw new IllegalArgumentException("url must not be null");
         }
         if (flags == null) {
             throw new IllegalArgumentException("flags must not be null");
         }
 
+        // We only use onUrlOpenInBackgroundListener for the homepanel context menus, hence
+        // we should always be checking whether we want the readermode version
+        final String pageURL = SavedReaderViewHelper.getReaderURLIfCached(getContext(), url);
+
         final boolean isPrivate = flags.contains(OnUrlOpenInBackgroundListener.Flags.PRIVATE);
 
         int loadFlags = Tabs.LOADURL_NEW_TAB | Tabs.LOADURL_BACKGROUND;
         if (isPrivate) {
             loadFlags |= Tabs.LOADURL_PRIVATE;
         }
 
-        final Tab newTab = Tabs.getInstance().loadUrl(url, loadFlags);
+        final Tab newTab = Tabs.getInstance().loadUrl(pageURL, loadFlags);
 
         // We switch to the desired tab by unique ID, which closes any window
         // for a race between opening the tab and closing it, and switching to
         // it. We could also switch to the Tab explicitly, but we don't want to
         // hold a reference to the Tab itself in the anonymous listener class.
         final int newTabId = newTab.getId();
 
         final SnackbarHelper.SnackbarCallback callback = new SnackbarHelper.SnackbarCallback() {
--- a/mobile/android/base/java/org/mozilla/gecko/FilePickerResultHandler.java
+++ b/mobile/android/base/java/org/mozilla/gecko/FilePickerResultHandler.java
@@ -86,32 +86,31 @@ class FilePickerResultHandler implements
         if ("file".equals(uri.getScheme())) {
             String path = uri.getPath();
             sendResult(path == null ? "" : path);
             return;
         }
 
         final FragmentActivity fa = (FragmentActivity) GeckoAppShell.getGeckoInterface().getActivity();
         final LoaderManager lm = fa.getSupportLoaderManager();
+
         // Finally, Video pickers and some file pickers may return a content provider.
-        Cursor cursor = null;
-        try {
-            // Try a query to make sure the expected columns exist
-            final ContentResolver cr = fa.getContentResolver();
-            cursor = cr.query(uri, new String[] { MediaStore.Video.Media.DATA }, null, null, null);
-
-            int index = cursor.getColumnIndex(MediaStore.Video.Media.DATA);
-            if (index >= 0) {
-                lm.initLoader(intent.hashCode(), null, new VideoLoaderCallbacks(uri));
-                return;
-            }
-        } catch(Exception ex) {
-            // We'll try a different loader below
-        } finally {
-            if (cursor != null) {
+        final ContentResolver cr = fa.getContentResolver();
+        final Cursor cursor = cr.query(uri, new String[] { MediaStore.Video.Media.DATA }, null, null, null);
+        if (cursor != null) {
+            try {
+                // Try a query to make sure the expected columns exist
+                int index = cursor.getColumnIndex(MediaStore.Video.Media.DATA);
+                if (index >= 0) {
+                    lm.initLoader(intent.hashCode(), null, new VideoLoaderCallbacks(uri));
+                    return;
+                }
+            } catch (Exception ex) {
+                // We'll try a different loader below
+            } finally {
                 cursor.close();
             }
         }
 
         lm.initLoader(uri.hashCode(), null, new FileLoaderCallbacks(uri, cacheDir, tabId));
     }
 
     public String generateImageName() {
@@ -210,21 +209,22 @@ class FilePickerResultHandler implements
                     String mimeType = cr.getType(uri);
                     fileExt = "." + GeckoAppShell.getExtensionFromMimeType(mimeType);
                 } else {
                     fileExt = name.substring(period);
                     fileName += name.substring(0, period);
                 }
 
                 // Now write the data to the temp file
+                FileOutputStream fos = null;
                 try {
                     cacheDir.mkdir();
 
                     File file = File.createTempFile(fileName, fileExt, cacheDir);
-                    FileOutputStream fos = new FileOutputStream(file);
+                    fos = new FileOutputStream(file);
                     InputStream is = cr.openInputStream(uri);
                     byte[] buf = new byte[4096];
                     int len = is.read(buf);
                     while (len != -1) {
                         fos.write(buf, 0, len);
                         len = is.read(buf);
                     }
                     fos.close();
@@ -232,16 +232,22 @@ class FilePickerResultHandler implements
                     tempFile = file.getAbsolutePath();
                     sendResult((tempFile == null) ? "" : tempFile);
 
                     if (tabId > -1 && !TextUtils.isEmpty(tempFile)) {
                         Tabs.registerOnTabsChangedListener(this);
                     }
                 } catch(IOException ex) {
                     Log.i(LOGTAG, "Error writing file", ex);
+                } finally {
+                    if (fos != null) {
+                        try {
+                            fos.close();
+                        } catch (IOException e) { /* not much to do here */ }
+                    }
                 }
             } else {
                 sendResult("");
             }
         }
 
         @Override
         public void onLoaderReset(Loader<Cursor> loader) { }
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoProfile.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoProfile.java
@@ -456,17 +456,16 @@ public final class GeckoProfile {
         mDB = dbFactory.get(profileName, mProfileDir);
     }
 
     @RobocopTarget
     public BrowserDB getDB() {
         return mDB;
     }
 
-
     // Warning, Changing the lock file state from outside apis will cause this to become out of sync
     public boolean locked() {
         if (mLocked != LockState.UNDEFINED) {
             return mLocked == LockState.LOCKED;
         }
 
         boolean profileExists;
         synchronized (this) {
--- a/mobile/android/base/java/org/mozilla/gecko/Tab.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tab.java
@@ -20,16 +20,17 @@ import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.db.URLMetadata;
 import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.favicons.LoadFaviconTask;
 import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
 import org.mozilla.gecko.favicons.RemoteFavicon;
 import org.mozilla.gecko.gfx.BitmapUtils;
 import org.mozilla.gecko.gfx.Layer;
 import org.mozilla.gecko.reader.ReaderModeUtils;
+import org.mozilla.gecko.reader.ReadingListHelper;
 import org.mozilla.gecko.toolbar.BrowserToolbar.TabEditingState;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import android.content.ContentResolver;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
@@ -59,17 +60,16 @@ public class Tab {
     private boolean mHasFeeds;
     private boolean mHasOpenSearch;
     private final SiteIdentity mSiteIdentity;
     private SiteLogins mSiteLogins;
     private BitmapDrawable mThumbnail;
     private final int mParentId;
     private final boolean mExternal;
     private boolean mBookmark;
-    private boolean mIsInReadingList;
     private int mFaviconLoadId;
     private String mContentType;
     private boolean mHasTouchListeners;
     private ZoomConstraints mZoomConstraints;
     private boolean mIsRTL;
     private final ArrayList<View> mPluginViews;
     private final HashMap<Object, Layer> mPluginLayers;
     private int mBackgroundColor;
@@ -132,17 +132,16 @@ public class Tab {
         mLoadProgress = LOAD_PROGRESS_INIT;
 
         // At startup, the background is set to a color specified by LayerView
         // when the LayerView is created. Shortly after, this background color
         // will be used before the tab's content is shown.
         mBackgroundColor = DEFAULT_BACKGROUND_COLOR;
 
         updateBookmark();
-        updateReadingList();
     }
 
     private ContentResolver getContentResolver() {
         return mAppContext.getContentResolver();
     }
 
     public void onDestroy() {
         Tabs.getInstance().notifyListeners(this, Tabs.TabEvents.CLOSED);
@@ -288,20 +287,16 @@ public class Tab {
     public SiteLogins getSiteLogins() {
         return mSiteLogins;
     }
 
     public boolean isBookmark() {
         return mBookmark;
     }
 
-    public boolean isInReadingList() {
-        return mIsInReadingList;
-    }
-
     public boolean isExternal() {
         return mExternal;
     }
 
     public synchronized void updateURL(String url) {
         if (url != null && url.length() > 0) {
             mUrl = url;
         }
@@ -523,100 +518,64 @@ public class Tab {
 
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 final String url = getURL();
                 if (url == null) {
                     return;
                 }
-
-                mBookmark = mDB.isBookmark(getContentResolver(), url);
-                Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.MENU_UPDATED);
-            }
-        });
-    }
+                final String pageUrl = ReaderModeUtils.stripAboutReaderUrl(url);
 
-    void updateReadingList() {
-        if (getURL() == null) {
-            return;
-        }
-
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                final String url = getURL();
-                if (url == null) {
-                    return;
-                }
-
-                mIsInReadingList = mDB.getReadingListAccessor().isReadingListItem(getContentResolver(), url);
+                mBookmark = mDB.isBookmark(getContentResolver(), pageUrl);
                 Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.MENU_UPDATED);
             }
         });
     }
 
     public void addBookmark() {
+        final String url = getURL();
+        if (url == null) {
+            return;
+        }
+
+        final String pageUrl = ReaderModeUtils.stripAboutReaderUrl(getURL());
+
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                String url = getURL();
-                if (url == null)
-                    return;
-
-                mDB.addBookmark(getContentResolver(), mTitle, url);
+                mDB.addBookmark(getContentResolver(), mTitle, pageUrl);
                 Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.BOOKMARK_ADDED);
             }
         });
+
+        if (AboutPages.isAboutReader(url)) {
+            ReadingListHelper.cacheReaderItem(pageUrl, mAppContext);
+        }
     }
 
     public void removeBookmark() {
+        final String url = getURL();
+        if (url == null) {
+            return;
+        }
+
+        final String pageUrl = ReaderModeUtils.stripAboutReaderUrl(getURL());
+
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                String url = getURL();
-                if (url == null)
-                    return;
-
-                mDB.removeBookmarksWithURL(getContentResolver(), url);
+                mDB.removeBookmarksWithURL(getContentResolver(), pageUrl);
                 Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.BOOKMARK_REMOVED);
             }
         });
-    }
 
-    public void addToReadingList() {
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                String url = getURL();
-                if (url == null) {
-                    return;
-                }
-
-                mDB.getReadingListAccessor().addBasicReadingListItem(getContentResolver(), url, mTitle);
-                Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.READING_LIST_ADDED);
-            }
-        });
-    }
-
-    public void removeFromReadingList() {
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                String url = getURL();
-                if (url == null) {
-                    return;
-                }
-                if (AboutPages.isAboutReader(url)) {
-                    url = ReaderModeUtils.getUrlFromAboutReader(url);
-                }
-                mDB.getReadingListAccessor().removeReadingListItemWithURL(getContentResolver(), url);
-                Tabs.getInstance().notifyListeners(Tab.this, Tabs.TabEvents.READING_LIST_REMOVED);
-            }
-        });
+        // We need to ensure we remove readercached items here - we could have switched out of readermode
+        // before unbookmarking, so we don't necessarily have an about:reader URL here.
+        ReadingListHelper.removeCachedReaderItem(pageUrl, mAppContext);
     }
 
     public boolean isEnteringReaderMode() {
         return mEnteringReaderMode;
     }
 
     public void doReload(boolean bypassCache) {
         GeckoAppShell.notifyObservers("Session:Reload", "{\"bypassCache\":" + String.valueOf(bypassCache) + "}");
@@ -660,17 +619,16 @@ public class Tab {
         mHistoryIndex = message.getInt("historyIndex");
         mHistorySize = message.getInt("historySize");
         mCanDoBack = message.getBoolean("canGoBack");
         mCanDoForward = message.getBoolean("canGoForward");
 
         if (!TextUtils.equals(oldUrl, uri)) {
             updateURL(uri);
             updateBookmark();
-            updateReadingList();
             if (!sameDocument) {
                 // We can unconditionally clear the favicon and title here: we
                 // already filtered both cases in which this was a (pseudo-)
                 // spurious location change, so we're definitely loading a new
                 // page.
                 clearFavicon();
 
                 // Load local static Favicons immediately
--- a/mobile/android/base/java/org/mozilla/gecko/Tabs.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tabs.java
@@ -69,17 +69,16 @@ public class Tabs implements GeckoEventL
 
     public static final int INVALID_TAB_ID = -1;
 
     private static final AtomicInteger sTabId = new AtomicInteger(0);
     private volatile boolean mInitialTabsAdded;
 
     private Context mAppContext;
     private ContentObserver mBookmarksContentObserver;
-    private ContentObserver mReadingListContentObserver;
     private PersistTabsRunnable mPersistTabsRunnable;
 
     private static class PersistTabsRunnable implements Runnable {
         private final BrowserDB db;
         private final Context context;
         private final Iterable<Tab> tabs;
 
         public PersistTabsRunnable(final Context context, Iterable<Tab> tabsInOrder) {
@@ -146,24 +145,16 @@ public class Tabs implements GeckoEventL
         // The listener will run on the background thread (see 2nd argument).
         mAccountManager.addOnAccountsUpdatedListener(mAccountListener, ThreadUtils.getBackgroundHandler(), false);
 
         if (mBookmarksContentObserver != null) {
             // It's safe to use the db here since we aren't doing any I/O.
             final GeckoProfile profile = GeckoProfile.get(context);
             profile.getDB().registerBookmarkObserver(getContentResolver(), mBookmarksContentObserver);
         }
-
-        if (mReadingListContentObserver != null) {
-            // It's safe to use the db here since we aren't doing any I/O.
-            final GeckoProfile profile = GeckoProfile.get(context);
-            profile.getDB().getReadingListAccessor().registerContentObserver(
-                    mAppContext, mReadingListContentObserver);
-        }
-
     }
 
     /**
      * Gets the tab count corresponding to the private state of the selected
      * tab.
      *
      * If the selected tab is a non-private tab, this will return the number of
      * non-private tabs; likewise, if this is a private tab, this will return
@@ -206,41 +197,21 @@ public class Tabs implements GeckoEventL
             };
 
             // It's safe to use the db here since we aren't doing any I/O.
             final GeckoProfile profile = GeckoProfile.get(mAppContext);
             profile.getDB().registerBookmarkObserver(getContentResolver(), mBookmarksContentObserver);
         }
     }
 
-    // Must be synchronized to avoid racing on mReadingListContentObserver.
-    private void lazyRegisterReadingListObserver() {
-        if (mReadingListContentObserver == null) {
-            mReadingListContentObserver = new ContentObserver(null) {
-                @Override
-                public void onChange(final boolean selfChange) {
-                    for (final Tab tab : mOrder) {
-                        tab.updateReadingList();
-                    }
-                }
-            };
-
-            // It's safe to use the db here since we aren't doing any I/O.
-            final GeckoProfile profile = GeckoProfile.get(mAppContext);
-            profile.getDB().getReadingListAccessor().registerContentObserver(
-                    mAppContext, mReadingListContentObserver);
-        }
-    }
-
     private Tab addTab(int id, String url, boolean external, int parentId, String title, boolean isPrivate, int tabIndex) {
         final Tab tab = isPrivate ? new PrivateTab(mAppContext, id, url, external, parentId, title) :
                                     new Tab(mAppContext, id, url, external, parentId, title);
         synchronized (this) {
             lazyRegisterBookmarkObserver();
-            lazyRegisterReadingListObserver();
             mTabs.put(id, tab);
 
             if (tabIndex > -1) {
                 mOrder.add(tabIndex, tab);
             } else {
                 mOrder.add(tab);
             }
         }
@@ -641,18 +612,16 @@ public class Tabs implements GeckoEventL
         PAGE_SHOW,
         LINK_FEED,
         SECURITY_CHANGE,
         DESKTOP_MODE_CHANGE,
         VIEWPORT_CHANGE,
         RECORDING_CHANGE,
         BOOKMARK_ADDED,
         BOOKMARK_REMOVED,
-        READING_LIST_ADDED,
-        READING_LIST_REMOVED,
         AUDIO_PLAYING_CHANGE,
     }
 
     public void notifyListeners(Tab tab, TabEvents msg) {
         notifyListeners(tab, msg, "");
     }
 
     public void notifyListeners(final Tab tab, final TabEvents msg, final Object data) {
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserContract.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserContract.java
@@ -45,16 +45,17 @@ public class BrowserContract {
     public static final String PARAM_SUGGESTEDSITES_LIMIT = "suggestedsites_limit";
     public static final String PARAM_IS_SYNC = "sync";
     public static final String PARAM_SHOW_DELETED = "show_deleted";
     public static final String PARAM_IS_TEST = "test";
     public static final String PARAM_INSERT_IF_NEEDED = "insert_if_needed";
     public static final String PARAM_INCREMENT_VISITS = "increment_visits";
     public static final String PARAM_EXPIRE_PRIORITY = "priority";
     public static final String PARAM_DATASET_ID = "dataset_id";
+    public static final String PARAM_GROUP_BY = "group_by";
 
     static public enum ExpirePriority {
         NORMAL,
         AGGRESSIVE
     }
 
     static public String getFrecencySortOrder(boolean includesBookmarks, boolean asc) {
         final String age = "(" + Combined.DATE_LAST_VISITED + " - " + System.currentTimeMillis() + ") / 86400000";
@@ -145,31 +146,35 @@ public class BrowserContract {
     @RobocopTarget
     public static final class Bookmarks implements CommonColumns, URLColumns, FaviconColumns, SyncColumns {
         private Bookmarks() {}
 
         public static final String TABLE_NAME = "bookmarks";
 
         public static final String VIEW_WITH_FAVICONS = "bookmarks_with_favicons";
 
+        public static final String VIEW_WITH_ANNOTATIONS = "bookmarks_with_annotations";
+
         public static final int FIXED_ROOT_ID = 0;
         public static final int FAKE_DESKTOP_FOLDER_ID = -1;
         public static final int FIXED_READING_LIST_ID = -2;
         public static final int FIXED_PINNED_LIST_ID = -3;
         public static final int FIXED_SCREENSHOT_FOLDER_ID = -4;
+        public static final int FAKE_READINGLIST_SMARTFOLDER_ID = -5;
 
         public static final String MOBILE_FOLDER_GUID = "mobile";
         public static final String PLACES_FOLDER_GUID = "places";
         public static final String MENU_FOLDER_GUID = "menu";
         public static final String TAGS_FOLDER_GUID = "tags";
         public static final String TOOLBAR_FOLDER_GUID = "toolbar";
         public static final String UNFILED_FOLDER_GUID = "unfiled";
         public static final String FAKE_DESKTOP_FOLDER_GUID = "desktop";
         public static final String PINNED_FOLDER_GUID = "pinned";
         public static final String SCREENSHOT_FOLDER_GUID = "screenshots";
+        public static final String FAKE_READINGLIST_SMARTFOLDER_GUID = "readinglist";
 
         public static final int TYPE_FOLDER = 0;
         public static final int TYPE_BOOKMARK = 1;
         public static final int TYPE_SEPARATOR = 2;
         public static final int TYPE_LIVEMARK = 3;
         public static final int TYPE_QUERY = 4;
 
         public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "bookmarks");
@@ -181,16 +186,19 @@ public class BrowserContract {
         public static final String CONTENT_TYPE = "vnd.android.cursor.dir/bookmark";
         public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/bookmark";
         public static final String TYPE = "type";
         public static final String PARENT = "parent";
         public static final String POSITION = "position";
         public static final String TAGS = "tags";
         public static final String DESCRIPTION = "description";
         public static final String KEYWORD = "keyword";
+
+        public static final String ANNOTATION_KEY = "annotation_key";
+        public static final String ANNOTATION_VALUE = "annotation_value";
     }
 
     @RobocopTarget
     public static final class History implements CommonColumns, URLColumns, HistoryColumns, FaviconColumns, SyncColumns {
         private History() {}
 
         public static final String TABLE_NAME = "history";
 
@@ -528,17 +536,25 @@ public class BrowserContract {
             FEED("feed"),
 
             /**
              * This key maps URLs of feeds to an object describing the feed.
              *
              * Key:   feed_subscription
              * Value: JSON object describing feed
              */
-            FEED_SUBSCRIPTION("feed_subscription");
+            FEED_SUBSCRIPTION("feed_subscription"),
+
+            /**
+             * Indicates that this URL (if stored as a bookmark) should be opened into reader view.
+             *
+             * Key:   reader_view
+             * Value: String "true" to indicate that we would like to open into reader view.
+             */
+            READER_VIEW("reader_view");
 
             private final String dbValue;
 
             Key(final String dbValue) { this.dbValue = dbValue; }
             public String getDbValue() { return dbValue; }
         }
 
         public enum SyncStatus {
@@ -550,16 +566,21 @@ public class BrowserContract {
             private final int dbValue;
 
             SyncStatus(final int dbValue) {
                 this.dbValue = dbValue;
             }
 
             public int getDBValue() { return dbValue; }
         }
+
+        /**
+         * Value used to indicate that a reader view item is saved. We use the
+         */
+        public static final String READER_VIEW_SAVED_VALUE = "true";
     }
 
     public static final class Numbers {
         private Numbers() {}
 
         public static final String TABLE_NAME = "numbers";
 
         public static final String POSITION = "position";
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
@@ -38,17 +38,16 @@ public interface BrowserDB {
 
     public static enum FilterFlags {
         EXCLUDE_PINNED_SITES
     }
 
     public abstract Searches getSearches();
     public abstract TabsAccessor getTabsAccessor();
     public abstract URLMetadata getURLMetadata();
-    public abstract ReadingListAccessor getReadingListAccessor();
     @RobocopTarget UrlAnnotations getUrlAnnotations();
 
     /**
      * Add default bookmarks to the database.
      * Takes an offset; returns a new offset.
      */
     public abstract int addDefaultBookmarks(Context context, ContentResolver cr, int offset);
 
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDatabaseHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDatabaseHelper.java
@@ -1,30 +1,40 @@
 /* -*- 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.db;
 
 import java.io.File;
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import org.mozilla.apache.commons.codec.binary.Base32;
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.R;
+import org.mozilla.gecko.Telemetry;
+import org.mozilla.gecko.annotation.RobocopTarget;
 import org.mozilla.gecko.db.BrowserContract.Bookmarks;
 import org.mozilla.gecko.db.BrowserContract.Combined;
 import org.mozilla.gecko.db.BrowserContract.Favicons;
 import org.mozilla.gecko.db.BrowserContract.History;
 import org.mozilla.gecko.db.BrowserContract.Numbers;
 import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
 import org.mozilla.gecko.db.BrowserContract.SearchHistory;
 import org.mozilla.gecko.db.BrowserContract.Thumbnails;
 import org.mozilla.gecko.db.BrowserContract.UrlAnnotations;
+import org.mozilla.gecko.reader.SavedReaderViewHelper;
+import org.mozilla.gecko.sync.Utils;
 import org.mozilla.gecko.util.FileUtils;
 
 import static org.mozilla.gecko.db.DBUtils.qualifyColumn;
 
 import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.DatabaseUtils;
@@ -39,41 +49,47 @@ import android.util.Log;
 
 
 // public for robocop testing
 public final class BrowserDatabaseHelper extends SQLiteOpenHelper {
     private static final String LOGTAG = "GeckoBrowserDBHelper";
 
     // Replace the Bug number below with your Bug that is conducting a DB upgrade, as to force a merge conflict with any
     // other patches that require a DB upgrade.
-    public static final int DATABASE_VERSION = 30; // Bug 946857
+    public static final int DATABASE_VERSION = 31; // Bug 1234315
     public static final String DATABASE_NAME = "browser.db";
 
     final protected Context mContext;
 
     static final String TABLE_BOOKMARKS = Bookmarks.TABLE_NAME;
     static final String TABLE_HISTORY = History.TABLE_NAME;
     static final String TABLE_FAVICONS = Favicons.TABLE_NAME;
     static final String TABLE_THUMBNAILS = Thumbnails.TABLE_NAME;
     static final String TABLE_READING_LIST = ReadingListItems.TABLE_NAME;
     static final String TABLE_TABS = TabsProvider.TABLE_TABS;
     static final String TABLE_CLIENTS = TabsProvider.TABLE_CLIENTS;
     static final String TABLE_LOGINS = BrowserContract.Logins.TABLE_LOGINS;
     static final String TABLE_DELETED_LOGINS = BrowserContract.DeletedLogins.TABLE_DELETED_LOGINS;
     static final String TABLE_DISABLED_HOSTS = BrowserContract.LoginsDisabledHosts.TABLE_DISABLED_HOSTS;
+    static final String TABLE_ANNOTATIONS = UrlAnnotations.TABLE_NAME;
 
     static final String VIEW_COMBINED = Combined.VIEW_NAME;
     static final String VIEW_BOOKMARKS_WITH_FAVICONS = Bookmarks.VIEW_WITH_FAVICONS;
+    static final String VIEW_BOOKMARKS_WITH_ANNOTATIONS = Bookmarks.VIEW_WITH_ANNOTATIONS;
     static final String VIEW_HISTORY_WITH_FAVICONS = History.VIEW_WITH_FAVICONS;
     static final String VIEW_COMBINED_WITH_FAVICONS = Combined.VIEW_WITH_FAVICONS;
 
     static final String TABLE_BOOKMARKS_JOIN_FAVICONS = TABLE_BOOKMARKS + " LEFT OUTER JOIN " +
             TABLE_FAVICONS + " ON " + qualifyColumn(TABLE_BOOKMARKS, Bookmarks.FAVICON_ID) + " = " +
             qualifyColumn(TABLE_FAVICONS, Favicons._ID);
 
+    static final String TABLE_BOOKMARKS_JOIN_ANNOTATIONS = TABLE_BOOKMARKS + " JOIN " +
+            TABLE_ANNOTATIONS + " ON " + qualifyColumn(TABLE_BOOKMARKS, Bookmarks.URL) + " = " +
+            qualifyColumn(TABLE_ANNOTATIONS, UrlAnnotations.URL);
+
     static final String TABLE_HISTORY_JOIN_FAVICONS = TABLE_HISTORY + " LEFT OUTER JOIN " +
             TABLE_FAVICONS + " ON " + qualifyColumn(TABLE_HISTORY, History.FAVICON_ID) + " = " +
             qualifyColumn(TABLE_FAVICONS, Favicons._ID);
 
     static final String TABLE_BOOKMARKS_TMP = TABLE_BOOKMARKS + "_tmp";
     static final String TABLE_HISTORY_TMP = TABLE_HISTORY + "_tmp";
 
     private static final String[] mobileIdColumns = new String[] { Bookmarks._ID };
@@ -169,16 +185,26 @@ public final class BrowserDatabaseHelper
 
         db.execSQL("CREATE VIEW IF NOT EXISTS " + VIEW_BOOKMARKS_WITH_FAVICONS + " AS " +
                 "SELECT " + qualifyColumn(TABLE_BOOKMARKS, "*") +
                 ", " + qualifyColumn(TABLE_FAVICONS, Favicons.DATA) + " AS " + Bookmarks.FAVICON +
                 ", " + qualifyColumn(TABLE_FAVICONS, Favicons.URL) + " AS " + Bookmarks.FAVICON_URL +
                 " FROM " + TABLE_BOOKMARKS_JOIN_FAVICONS);
     }
 
+    private void createBookmarksWithAnnotationsView(SQLiteDatabase db) {
+        debug("Creating " + VIEW_BOOKMARKS_WITH_ANNOTATIONS + " view");
+
+        db.execSQL("CREATE VIEW IF NOT EXISTS " + VIEW_BOOKMARKS_WITH_ANNOTATIONS + " AS " +
+                   "SELECT " + qualifyColumn(TABLE_BOOKMARKS, "*") +
+                   ", " + qualifyColumn(TABLE_ANNOTATIONS, UrlAnnotations.KEY) + " AS " + Bookmarks.ANNOTATION_KEY +
+                   ", " + qualifyColumn(TABLE_ANNOTATIONS, UrlAnnotations.VALUE) + " AS " + Bookmarks.ANNOTATION_VALUE +
+                   " FROM " + TABLE_BOOKMARKS_JOIN_ANNOTATIONS);
+    }
+
     private void createHistoryWithFaviconsView(SQLiteDatabase db) {
         debug("Creating " + VIEW_HISTORY_WITH_FAVICONS + " view");
 
         db.execSQL("CREATE VIEW IF NOT EXISTS " + VIEW_HISTORY_WITH_FAVICONS + " AS " +
                 "SELECT " + qualifyColumn(TABLE_HISTORY, "*") +
                 ", " + qualifyColumn(TABLE_FAVICONS, Favicons.DATA) + " AS " + History.FAVICON +
                 ", " + qualifyColumn(TABLE_FAVICONS, Favicons.URL) + " AS " + History.FAVICON_URL +
                 " FROM " + TABLE_HISTORY_JOIN_FAVICONS);
@@ -410,25 +436,25 @@ public final class BrowserDatabaseHelper
         createHistoryWithFaviconsView(db);
         createCombinedViewOn19(db);
 
         createOrUpdateSpecialFolder(db, Bookmarks.PLACES_FOLDER_GUID,
             R.string.bookmarks_folder_places, 0);
 
         createOrUpdateAllSpecialFolders(db);
         createSearchHistoryTable(db);
-        createReadingListTable(db, TABLE_READING_LIST);
-        createReadingListIndices(db, TABLE_READING_LIST);
         createUrlAnnotationsTable(db);
         createNumbersTable(db);
 
         createDeletedLoginsTable(db, TABLE_DELETED_LOGINS);
         createDisabledHostsTable(db, TABLE_DISABLED_HOSTS);
         createLoginsTable(db, TABLE_LOGINS);
         createLoginsTableIndices(db, TABLE_LOGINS);
+
+        createBookmarksWithAnnotationsView(db);
     }
 
     /**
      * Copies the tabs and clients tables out of the given tabs.db file and into the destinationDB.
      *
      * @param tabsDBFile Path to existing tabs.db.
      * @param destinationDB The destination database.
      */
@@ -1019,17 +1045,20 @@ public final class BrowserDatabaseHelper
         debug("Rewriting reading list table.");
         createReadingListTable(db, "tmp_rl");
 
         // Remove indexes. We don't need them now, and we'll be throwing away the table.
         db.execSQL("DROP INDEX IF EXISTS reading_list_url");
         db.execSQL("DROP INDEX IF EXISTS reading_list_guid");
         db.execSQL("DROP INDEX IF EXISTS reading_list_content_status");
 
-        final String thisDevice = ReadingListProvider.PLACEHOLDER_THIS_DEVICE;
+        // This used to be a part of the no longer existing ReadingListProvider, since we're deleting
+        // this table later in the second migration, and since sync for this table never existed,
+        // we don't care about the device name here.
+        final String thisDevice = "_fake_device_name_that_will_be_discarded_in_the_next_migration_";
         db.execSQL("INSERT INTO tmp_rl (" +
                    // Here are the columns we can preserve.
                    ReadingListItems._ID + ", " +
                    ReadingListItems.URL + ", " +
                    ReadingListItems.TITLE + ", " +
                    ReadingListItems.RESOLVED_TITLE + ", " +       // = TITLE (if CONTENT_STATUS = STATUS_FETCHED_ARTICLE)
                    ReadingListItems.RESOLVED_URL + ", " +         // = URL (if CONTENT_STATUS = STATUS_FETCHED_ARTICLE)
                    ReadingListItems.EXCERPT + ", " +
@@ -1133,16 +1162,175 @@ public final class BrowserDatabaseHelper
     private void upgradeDatabaseFrom29to30(final SQLiteDatabase db) {
         debug("creating logins table");
         createDeletedLoginsTable(db, TABLE_DELETED_LOGINS);
         createDisabledHostsTable(db, TABLE_DISABLED_HOSTS);
         createLoginsTable(db, TABLE_LOGINS);
         createLoginsTableIndices(db, TABLE_LOGINS);
     }
 
+    // Get the cache path for a URL, based on the storage format in place during the 27to28 transition.
+    // This is a reimplementation of _toHashedPath from ReaderMode.jsm - given that we're likely
+    // to migrate the SavedReaderViewHelper implementation at some point, it seems safest to have a local
+    // implementation here - moreover this is probably faster than calling into JS.
+    // This is public only to allow for testing.
+    @RobocopTarget
+    public static String getReaderCacheFileNameForURL(String url) {
+        try {
+            // On KitKat and above we can use java.nio.charset.StandardCharsets.UTF_8 in place of "UTF8"
+            // which avoids having to handle UnsupportedCodingException
+            byte[] utf8 = url.getBytes("UTF8");
+
+            final MessageDigest digester = MessageDigest.getInstance("MD5");
+            byte[] hash = digester.digest(utf8);
+
+            final String hashString = new Base32().encodeAsString(hash);
+            return hashString.substring(0, hashString.indexOf('=')) + ".json";
+        } catch (UnsupportedEncodingException e) {
+            // This should never happen
+            throw new IllegalStateException("UTF8 encoding not available - can't process readercache filename");
+        } catch (NoSuchAlgorithmException e) {
+            // This should also never happen
+            throw new IllegalStateException("MD5 digester unavailable - can't process readercache filename");
+        }
+    }
+
+    /*
+     * Moves reading list items from the 'reading_list' table back into the 'bookmarks' table. This time the
+     * reading list items are placed into a "Reading List" folder, which is a subfolder of the mobile-bookmarks table.
+     */
+    private void upgradeDatabaseFrom30to31(SQLiteDatabase db) {
+        // We only need to do the migration if reading-list items already exist. We could do a query of count(*) on
+        // TABLE_READING_LIST, however if we are doing the migration, we'll need to query all items in the reading-list,
+        // hence we might as well just query all items, and proceed with the migration if cursor.count > 0.
+
+        // We try to retain the original ordering below. Our LocalReadingListAccessor actually coalesced
+        // SERVER_STORED_ON with ADDED_ON to determine positioning, however reading list syncing was never
+        // implemented hence SERVER_STORED will have always been null.
+        final Cursor readingListCursor = db.query(TABLE_READING_LIST,
+                                     new String[] {
+                                             ReadingListItems.URL,
+                                             ReadingListItems.TITLE,
+                                             ReadingListItems.ADDED_ON,
+                                             ReadingListItems.CLIENT_LAST_MODIFIED
+                                     },
+                                     ReadingListItems.IS_DELETED + " = 0",
+                                     null,
+                                     null,
+                                     null,
+                                     ReadingListItems.ADDED_ON + " DESC");
+
+        // We'll want to walk the cache directory, so that we can (A) bookkeep readercache items
+        // that we want and (B) delete unneeded readercache items. (B) shouldn't actually happen, but
+        // is possible if there were bugs in our reader-caching code.
+        // We need to construct this here since we populate this map while walking the DB cursor,
+        // and use the map later when walking the cache.
+        final Map<String, String> fileToURLMap = new HashMap<>();
+
+
+        try {
+            if (!readingListCursor.moveToFirst()) {
+                return;
+            }
+
+            final Integer mobileBookmarksID = getMobileFolderId(db);
+
+            if (mobileBookmarksID == null) {
+                // This folder is created either on DB creation or during the 3-4 or 6-7 migrations.
+                throw new IllegalStateException("mobile bookmarks folder must already exist");
+            }
+
+            final long now = System.currentTimeMillis();
+
+            // We try to retain the same order as the reading-list would show. We should hopefully be reading the
+            // items in the order they are displayed on screen (final param of db.query above), by providing
+            // a position we should obtain the same ordering in the bookmark folder.
+            long position = 0;
+
+            final int titleColumnID = readingListCursor.getColumnIndexOrThrow(ReadingListItems.TITLE);
+            final int createdColumnID = readingListCursor.getColumnIndexOrThrow(ReadingListItems.ADDED_ON);
+
+            // This isn't the most efficient implementation, but the migration is one-off, and this
+            // also more maintainable than the SQL equivalent (generating the guids correctly is
+            // difficult in SQLite).
+            do {
+                final ContentValues readingListItemValues = new ContentValues();
+
+                final String url = readingListCursor.getString(readingListCursor.getColumnIndexOrThrow(ReadingListItems.URL));
+
+                readingListItemValues.put(Bookmarks.PARENT, mobileBookmarksID);
+                readingListItemValues.put(Bookmarks.GUID, Utils.generateGuid());
+                readingListItemValues.put(Bookmarks.URL, url);
+                // Title may be null, however we're expecting a String - we can generate an empty string if needed:
+                if (!readingListCursor.isNull(titleColumnID)) {
+                    readingListItemValues.put(Bookmarks.TITLE, readingListCursor.getString(titleColumnID));
+                } else {
+                    readingListItemValues.put(Bookmarks.TITLE, "");
+                }
+                readingListItemValues.put(Bookmarks.DATE_CREATED, readingListCursor.getLong(createdColumnID));
+                readingListItemValues.put(Bookmarks.DATE_MODIFIED, now);
+                readingListItemValues.put(Bookmarks.POSITION, position);
+
+                db.insert(TABLE_BOOKMARKS,
+                          null,
+                          readingListItemValues);
+
+                final String cacheFileName = getReaderCacheFileNameForURL(url);
+                fileToURLMap.put(cacheFileName, url);
+
+                position++;
+            } while (readingListCursor.moveToNext());
+
+        } finally {
+            readingListCursor.close();
+            // We need to do this work here since we might be returning (we return early if the
+            // reading-list table is empty).
+            db.execSQL("DROP TABLE IF EXISTS " + TABLE_READING_LIST);
+            createBookmarksWithAnnotationsView(db);
+        }
+
+        final File profileDir = GeckoProfile.get(mContext).getDir();
+        final File cacheDir = new File(profileDir, "readercache");
+
+        // At the time of this migration the SavedReaderViewHelper becomes a 1:1 mirror of reader view
+        // url-annotations. This may change in future implementations, however currently we only need to care
+        // about standard bookmarks (untouched during this migration) and bookmarks with a reader
+        // view annotation (which we're creating here, and which are guaranteed to be saved offline).
+        //
+        // This is why we have to migrate the cache items (instead of cleaning the cache
+        // and rebuilding it). We simply don't support uncached reader view bookmarks, and we would
+        // break existing reading list items (they would convert into plain bookmarks without
+        // reader view). This helps ensure that offline content isn't lost during the migration.
+        if (cacheDir.exists() && cacheDir.isDirectory()) {
+            SavedReaderViewHelper savedReaderViewHelper = SavedReaderViewHelper.getSavedReaderViewHelper(mContext);
+
+            // Usually we initialise the helper during onOpen(). However onUpgrade() is run before
+            // onOpen() hence we need to manually initialise it at this stage.
+            savedReaderViewHelper.loadItems();
+
+            for (File cacheFile : cacheDir.listFiles()) {
+                if (fileToURLMap.containsKey(cacheFile.getName())) {
+                    final String url = fileToURLMap.get(cacheFile.getName());
+                    final String path = cacheFile.getAbsolutePath();
+                    long size = cacheFile.length();
+
+                    savedReaderViewHelper.put(url, path, size);
+                } else {
+                    // This should never happen, but we don't actually know whether or not orphaned
+                    // items happened in the wild.
+                    boolean deleted = cacheFile.delete();
+
+                    if (!deleted) {
+                        Log.w(LOGTAG, "Failed to delete orphaned saved reader view file.");
+                    }
+                }
+            }
+        }
+    }
+
     private void createV19CombinedView(SQLiteDatabase db) {
         db.execSQL("DROP VIEW IF EXISTS " + VIEW_COMBINED);
         db.execSQL("DROP VIEW IF EXISTS " + VIEW_COMBINED_WITH_FAVICONS);
 
         createCombinedViewOn19(db);
     }
 
     @Override
@@ -1230,16 +1418,20 @@ public final class BrowserDatabaseHelper
 
                 case 29:
                     upgradeDatabaseFrom28to29(db);
                     break;
 
                 case 30:
                     upgradeDatabaseFrom29to30(db);
                     break;
+
+                case 31:
+                    upgradeDatabaseFrom30to31(db);
+                    break;
             }
         }
 
         for (Table table : BrowserProvider.sTables) {
             table.onUpgrade(db, oldVersion, newVersion);
         }
 
         // Delete the obsolete favicon database after all other upgrades complete.
@@ -1250,16 +1442,24 @@ public final class BrowserDatabaseHelper
             }
         }
     }
 
     @Override
     public void onOpen(SQLiteDatabase db) {
         debug("Opening browser.db: " + db.getPath());
 
+        // Force explicit readercache loading - we won't access readercache state for bookmarks
+        // until we actually know what our bookmarks are. Bookmarks are stored in the DB, hence
+        // it is sufficient to ensure that the readercache is loaded before the DB can be accessed.
+        // Note, this takes ~4-6ms to load on an N4 (compared to 20-50ms for most DB queries), and
+        // is only done once, hence this shouldn't have noticeable impact on performance. Moreover
+        // this is run on a background thread and therefore won't block UI code during startup.
+        SavedReaderViewHelper.getSavedReaderViewHelper(mContext).loadItems();
+
         Cursor cursor = null;
         try {
             cursor = db.rawQuery("PRAGMA foreign_keys=ON", null);
         } finally {
             if (cursor != null)
                 cursor.close();
         }
         cursor = null;
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
@@ -65,16 +65,17 @@ public class BrowserProvider extends Sha
     static final String TABLE_HISTORY = History.TABLE_NAME;
     static final String TABLE_FAVICONS = Favicons.TABLE_NAME;
     static final String TABLE_THUMBNAILS = Thumbnails.TABLE_NAME;
     static final String TABLE_TABS = Tabs.TABLE_NAME;
     static final String TABLE_URL_ANNOTATIONS = UrlAnnotations.TABLE_NAME;
 
     static final String VIEW_COMBINED = Combined.VIEW_NAME;
     static final String VIEW_BOOKMARKS_WITH_FAVICONS = Bookmarks.VIEW_WITH_FAVICONS;
+    static final String VIEW_BOOKMARKS_WITH_ANNOTATIONS = Bookmarks.VIEW_WITH_ANNOTATIONS;
     static final String VIEW_HISTORY_WITH_FAVICONS = History.VIEW_WITH_FAVICONS;
     static final String VIEW_COMBINED_WITH_FAVICONS = Combined.VIEW_WITH_FAVICONS;
 
     // Bookmark matches
     static final int BOOKMARKS = 100;
     static final int BOOKMARKS_ID = 101;
     static final int BOOKMARKS_FOLDER_ID = 102;
     static final int BOOKMARKS_PARENT = 103;
@@ -996,20 +997,25 @@ public class BrowserProvider extends Sha
                 if (TextUtils.isEmpty(sortOrder)) {
                     sortOrder = DEFAULT_BOOKMARKS_SORT_ORDER;
                 } else {
                     debug("Using sort order " + sortOrder + ".");
                 }
 
                 qb.setProjectionMap(BOOKMARKS_PROJECTION_MAP);
 
-                if (hasFaviconsInProjection(projection))
+                if (hasFaviconsInProjection(projection)) {
                     qb.setTables(VIEW_BOOKMARKS_WITH_FAVICONS);
-                else
+                } else if (selection.contains(Bookmarks.ANNOTATION_KEY)) {
+                    qb.setTables(VIEW_BOOKMARKS_WITH_ANNOTATIONS);
+
+                    groupBy = uri.getQueryParameter(BrowserContract.PARAM_GROUP_BY);
+                } else {
                     qb.setTables(TABLE_BOOKMARKS);
+                }
 
                 break;
             }
 
             case HISTORY_ID:
                 selection = DBUtils.concatenateWhere(selection, History._ID + " = ?");
                 selectionArgs = DBUtils.appendSelectionArgs(selectionArgs,
                         new String[] { Long.toString(ContentUris.parseId(uri)) });
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -100,17 +100,16 @@ public class LocalBrowserDB implements B
     private final Uri mFaviconsUriWithProfile;
     private final Uri mThumbnailsUriWithProfile;
     private final Uri mTopSitesUriWithProfile;
     private final Uri mSearchHistoryUri;
 
     private LocalSearches searches;
     private LocalTabsAccessor tabsAccessor;
     private LocalURLMetadata urlMetadata;
-    private LocalReadingListAccessor readingListAccessor;
     private LocalUrlAnnotations urlAnnotations;
 
     private static final String[] DEFAULT_BOOKMARK_COLUMNS =
             new String[] { Bookmarks._ID,
                            Bookmarks.GUID,
                            Bookmarks.URL,
                            Bookmarks.TITLE,
                            Bookmarks.TYPE,
@@ -135,17 +134,16 @@ public class LocalBrowserDB implements B
                 mHistoryUriWithProfile.buildUpon()
                                       .appendQueryParameter(BrowserContract.PARAM_INCREMENT_VISITS, "true")
                                       .appendQueryParameter(BrowserContract.PARAM_INSERT_IF_NEEDED, "true")
                                       .build();
 
         searches = new LocalSearches(mProfile);
         tabsAccessor = new LocalTabsAccessor(mProfile);
         urlMetadata = new LocalURLMetadata(mProfile);
-        readingListAccessor = new LocalReadingListAccessor(mProfile);
         urlAnnotations = new LocalUrlAnnotations(mProfile);
     }
 
     @Override
     public Searches getSearches() {
         return searches;
     }
 
@@ -154,21 +152,16 @@ public class LocalBrowserDB implements B
         return tabsAccessor;
     }
 
     @Override
     public URLMetadata getURLMetadata() {
         return urlMetadata;
     }
 
-    @Override
-    public ReadingListAccessor getReadingListAccessor() {
-        return readingListAccessor;
-    }
-
     @RobocopTarget
     @Override
     public UrlAnnotations getUrlAnnotations() {
         return urlAnnotations;
     }
 
     /**
      * Not thread safe. A helper to allocate new IDs for arbitrary strings.
@@ -780,91 +773,129 @@ public class LocalBrowserDB implements B
                 (DEFAULT_BOOKMARK_COLUMNS[5].equals(Bookmarks.PARENT)) &&
                 (DEFAULT_BOOKMARK_COLUMNS.length == 6))) {
             // If DEFAULT_BOOKMARK_COLUMNS changes we need to update all the MatrixCursor rows
             // to contain appropriate data.
             throw new IllegalStateException("Fake folder MatrixCursor creation code must be updated to match DEFAULT_BOOKMARK_COLUMNS");
         }
     }
 
+    /**
+     * Retrieve the list of reader-view bookmarks, i.e. the equivalent of the former reading-list.
+     * This is the result of a join of bookmarks with reader-view annotations (as stored in
+     * UrlAnnotations).
+     */
+    private Cursor getReadingListBookmarks(ContentResolver cr) {
+        // group by URL to avoid having duplicate bookmarks listed. It's possible to have multiple
+        // bookmarks pointing to the same URL (this would most commonly happen by manually
+        // copying bookmarks on desktop, followed by syncing with mobile), and we don't want
+        // to show the same URL multiple times in the reading list folder.
+        final Uri bookmarksGroupedByUri = mBookmarksUriWithProfile.buildUpon()
+                .appendQueryParameter(BrowserContract.PARAM_GROUP_BY, Bookmarks.URL)
+                .build();
+
+        return cr.query(bookmarksGroupedByUri,
+                DEFAULT_BOOKMARK_COLUMNS,
+                Bookmarks.ANNOTATION_KEY + " == ? AND " +
+                Bookmarks.ANNOTATION_VALUE + " == ? AND " +
+                "(" + Bookmarks.TYPE + " = ? AND " + Bookmarks.URL + " IS NOT NULL)",
+                new String[] {
+                        BrowserContract.UrlAnnotations.Key.READER_VIEW.getDbValue(),
+                        BrowserContract.UrlAnnotations.READER_VIEW_SAVED_VALUE,
+                        String.valueOf(Bookmarks.TYPE_BOOKMARK) },
+                null);
+    }
+
     @Override
     @RobocopTarget
     public Cursor getBookmarksInFolder(ContentResolver cr, long folderId) {
         final boolean addDesktopFolder;
         final boolean addScreenshotsFolder;
+        final boolean addReadingListFolder;
 
         // We always want to show mobile bookmarks in the root view.
         if (folderId == Bookmarks.FIXED_ROOT_ID) {
             folderId = getFolderIdFromGuid(cr, Bookmarks.MOBILE_FOLDER_GUID);
 
             // We'll add a fake "Desktop Bookmarks" folder to the root view if desktop
             // bookmarks exist, so that the user can still access non-mobile bookmarks.
             addDesktopFolder = desktopBookmarksExist(cr);
             addScreenshotsFolder = AppConstants.SCREENSHOTS_IN_BOOKMARKS_ENABLED;
+            addReadingListFolder = true;
         } else {
             addDesktopFolder = false;
             addScreenshotsFolder = false;
+            addReadingListFolder = false;
         }
 
         final Cursor c;
+
+        // (You can't switch on a long in Java, hence the if statements)
         if (folderId == Bookmarks.FAKE_DESKTOP_FOLDER_ID) {
             // Since the "Desktop Bookmarks" folder doesn't actually exist, we
             // just fake it by querying specifically certain known desktop folders.
             c = cr.query(mBookmarksUriWithProfile,
                          DEFAULT_BOOKMARK_COLUMNS,
                          Bookmarks.GUID + " = ? OR " +
                          Bookmarks.GUID + " = ? OR " +
                          Bookmarks.GUID + " = ?",
                          new String[] { Bookmarks.TOOLBAR_FOLDER_GUID,
                                         Bookmarks.MENU_FOLDER_GUID,
                                         Bookmarks.UNFILED_FOLDER_GUID },
                          null);
         } else if (folderId == Bookmarks.FIXED_SCREENSHOT_FOLDER_ID) {
             c = getUrlAnnotations().getScreenshots(cr);
+        } else if (folderId == Bookmarks.FAKE_READINGLIST_SMARTFOLDER_ID) {
+            c = getReadingListBookmarks(cr);
         } else {
             // Right now, we only support showing folder and bookmark type of
             // entries. We should add support for other types though (bug 737024)
             c = cr.query(mBookmarksUriWithProfile,
                          DEFAULT_BOOKMARK_COLUMNS,
                          Bookmarks.PARENT + " = ? AND " +
                          "(" + Bookmarks.TYPE + " = ? OR " +
                             "(" + Bookmarks.TYPE + " = ? AND " + Bookmarks.URL + " IS NOT NULL))",
                          new String[] { String.valueOf(folderId),
                                         String.valueOf(Bookmarks.TYPE_FOLDER),
                                         String.valueOf(Bookmarks.TYPE_BOOKMARK) },
                          null);
         }
 
-        final List<Cursor> cursorsToMerge = getSpecialFoldersCursorList(addDesktopFolder, addScreenshotsFolder);
+        final List<Cursor> cursorsToMerge = getSpecialFoldersCursorList(addDesktopFolder, addScreenshotsFolder, addReadingListFolder);
         if (cursorsToMerge.size() >= 1) {
             cursorsToMerge.add(c);
             final Cursor[] arr = (Cursor[]) Array.newInstance(Cursor.class, cursorsToMerge.size());
             return new MergeCursor(cursorsToMerge.toArray(arr));
         } else {
             return c;
         }
     }
 
     @CheckResult
-    private ArrayList<Cursor> getSpecialFoldersCursorList(final boolean addDesktopFolder, final boolean addScreenshotsFolder) {
-        if (addDesktopFolder || addScreenshotsFolder) {
+    private ArrayList<Cursor> getSpecialFoldersCursorList(final boolean addDesktopFolder,
+            final boolean addScreenshotsFolder, final boolean addReadingListFolder) {
+        if (addDesktopFolder || addScreenshotsFolder || addReadingListFolder) {
             // Avoid calling this twice.
             assertDefaultBookmarkColumnOrdering();
         }
 
         // Capacity is number of cursors added below plus one for non-special data.
-        final ArrayList<Cursor> out = new ArrayList<>(3);
+        final ArrayList<Cursor> out = new ArrayList<>(4);
         if (addDesktopFolder) {
             out.add(getSpecialFolderCursor(Bookmarks.FAKE_DESKTOP_FOLDER_ID, Bookmarks.FAKE_DESKTOP_FOLDER_GUID));
         }
 
         if (addScreenshotsFolder) {
             out.add(getSpecialFolderCursor(Bookmarks.FIXED_SCREENSHOT_FOLDER_ID, Bookmarks.SCREENSHOT_FOLDER_GUID));
         }
 
+        if (addReadingListFolder) {
+            out.add(getSpecialFolderCursor(Bookmarks.FAKE_READINGLIST_SMARTFOLDER_ID, Bookmarks.FAKE_READINGLIST_SMARTFOLDER_GUID));
+        }
+
         return out;
     }
 
     @CheckResult
     private MatrixCursor getSpecialFolderCursor(final int folderId, final String folderGuid) {
         final MatrixCursor out = new MatrixCursor(DEFAULT_BOOKMARK_COLUMNS);
         out.addRow(new Object[] {
                 folderId,
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalReadingListAccessor.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/* 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.db;
-
-import android.content.ContentResolver;
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.database.Cursor;
-import android.net.Uri;
-import android.util.Log;
-
-import org.mozilla.gecko.annotation.RobocopTarget;
-import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoEvent;
-import org.mozilla.gecko.reader.ReaderModeUtils;
-import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
-
-
-@RobocopTarget
-public class LocalReadingListAccessor implements ReadingListAccessor {
-    private static final String LOG_TAG = "GeckoReadingListAcc";
-
-    private static final String NOT_DELETED = ReadingListItems.IS_DELETED + " = 0";
-    private static final String NEITHER_DELETED_NOR_ARCHIVED = ReadingListItems.IS_ARCHIVED + " = 0 AND " + ReadingListItems.IS_DELETED + " = 0";
-    private static final String ITEMS_TO_FETCH = ReadingListItems.CONTENT_STATUS + " = " + ReadingListItems.STATUS_UNFETCHED + " AND " + NEITHER_DELETED_NOR_ARCHIVED;
-    private static final String SORT_ORDER_RECENT_FIRST = "COALESCE(" + ReadingListItems.SERVER_STORED_ON + ", " + ReadingListItems.ADDED_ON + ") DESC";
-
-    private final Uri mReadingListUriWithProfile;
-
-    public LocalReadingListAccessor(final String profile) {
-        mReadingListUriWithProfile = DBUtils.appendProfile(profile, ReadingListItems.CONTENT_URI);
-    }
-
-    // Return a count of non-deleted items.
-    @Override
-    public int getCount(ContentResolver cr) {
-        final String[] columns = new String[]{ReadingListItems._ID};
-        final Cursor cursor = cr.query(mReadingListUriWithProfile, columns, NOT_DELETED, null, null);
-
-        try {
-            return cursor.getCount();
-        } finally {
-            cursor.close();
-        }
-    }
-
-    @Override
-    public Cursor getReadingList(ContentResolver cr) {
-        // Return non-deleted, non-archived items, ordered by either server stored data or local added date,
-        // descending.
-        // This isn't ideal -- it depends on upload order! -- but the alternative is that a client with a
-        // very skewed clock will force its items to the front or end of the list on other devices.
-        return cr.query(mReadingListUriWithProfile,
-                        ReadingListItems.DEFAULT_PROJECTION,
-                        NEITHER_DELETED_NOR_ARCHIVED,
-                        null,
-                        SORT_ORDER_RECENT_FIRST);
-    }
-
-    @Override
-    public Cursor getReadingListUnfetched(ContentResolver cr) {
-        // Return unfetched, non-deleted, non-archived items, sorted by date added, newest first.
-        // This allows us to fetch the top of the list first.
-        return cr.query(mReadingListUriWithProfile,
-                        new String[] { ReadingListItems._ID, ReadingListItems.URL },
-                        ITEMS_TO_FETCH,
-                        null,
-                        SORT_ORDER_RECENT_FIRST);
-    }
-
-    @Override
-    public boolean isReadingListItem(final ContentResolver cr, String uri) {
-        uri = ReaderModeUtils.stripAboutReaderUrl(uri);
-
-        final Cursor c = cr.query(mReadingListUriWithProfile,
-                                  new String[] { ReadingListItems._ID },
-                                  ReadingListItems.URL + " = ? OR " + ReadingListItems.RESOLVED_URL + " = ?",
-                                  new String[] { uri, uri },
-                                  null);
-
-        if (c == null) {
-            Log.e(LOG_TAG, "Null cursor in isReadingListItem");
-            return false;
-        }
-
-        try {
-            return c.moveToNext();
-        } finally {
-            c.close();
-        }
-    }
-
-
-    @Override
-    public long addReadingListItem(ContentResolver cr, ContentValues values) {
-        // Check that required fields are present.
-        for (String field: ReadingListItems.REQUIRED_FIELDS) {
-            if (!values.containsKey(field)) {
-                throw new IllegalArgumentException("Missing required field for reading list item: " + field);
-            }
-        }
-
-        // URL is a required field so no key check needed.
-        final String url = ReaderModeUtils.stripAboutReaderUrl(values.getAsString(ReadingListItems.URL));
-        values.put(ReadingListItems.URL, url);
-
-        // We're adding locally, so we can specify these.
-        values.put(ReadingListItems.ADDED_ON, System.currentTimeMillis());
-        values.put(ReadingListItems.ADDED_BY, ReadingListProvider.PLACEHOLDER_THIS_DEVICE);
-
-        // We never un-delete (and we can't; we wipe as we go).
-        // Re-add if necessary and allow the server to resolve conflicts.
-        final long id = ContentUris.parseId(cr.insert(mReadingListUriWithProfile, values));
-
-        GeckoAppShell.notifyObservers("Reader:Added", url);
-
-        return id;
-    }
-
-    @Override
-    public long addBasicReadingListItem(ContentResolver cr, String url, String title) {
-        if (url == null) {
-            throw new IllegalArgumentException("URL must not be null.");
-        }
-        final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.URL, url);
-        if (title != null) {
-            values.put(ReadingListItems.TITLE, title);
-        } else {
-            values.putNull(ReadingListItems.TITLE);
-        }
-
-        return addReadingListItem(cr, values);
-    }
-
-    @Override
-    public void updateReadingListItem(ContentResolver cr, ContentValues values) {
-        if (!values.containsKey(ReadingListItems._ID)) {
-            throw new IllegalArgumentException("Cannot update reading list item without an ID");
-        }
-
-        if (values.containsKey(ReadingListItems.URL)) {
-            values.put(ReadingListItems.URL, ReaderModeUtils.stripAboutReaderUrl(values.getAsString(ReadingListItems.URL)));
-        }
-
-        final int updated = cr.update(mReadingListUriWithProfile,
-                                      values,
-                                      ReadingListItems._ID + " = ? ",
-                                      new String[] { values.getAsString(ReadingListItems._ID) });
-
-        Log.d(LOG_TAG, "Updated " + updated + " reading list rows.");
-    }
-
-    @Override
-    public void removeReadingListItemWithURL(final ContentResolver cr, String uri) {
-        cr.delete(mReadingListUriWithProfile,
-                  ReadingListItems.URL + " = ? OR " + ReadingListItems.RESOLVED_URL + " = ?",
-                  new String[]{ uri, uri });
-
-        GeckoAppShell.notifyObservers("Reader:Removed", uri);
-    }
-
-    @Override
-    public void deleteItem(ContentResolver cr, long itemID) {
-        // TODO: For completness, we should send a "Reader:Removed"
-        // GeckoEvent, but we don't have the uri. Luckily, this is
-        // only called in testing at the moment.
-        cr.delete(ContentUris.appendId(mReadingListUriWithProfile.buildUpon(), itemID).build(),
-                  null, null);
-    }
-
-    @Override
-    public void registerContentObserver(Context context, ContentObserver observer) {
-        context.getContentResolver().registerContentObserver(mReadingListUriWithProfile, false, observer);
-    }
-
-    @Override
-    public void markAsRead(ContentResolver cr, long itemID) {
-        final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.MARKED_READ_BY, ReadingListProvider.PLACEHOLDER_THIS_DEVICE);
-        values.put(ReadingListItems.MARKED_READ_ON, System.currentTimeMillis());
-        values.put(ReadingListItems.IS_UNREAD, 0);
-
-        // The ContentProvider will take care of updating the sync metadata.
-        cr.update(mReadingListUriWithProfile, values, ReadingListItems._ID + " = " + itemID, null);
-    }
-
-    @Override
-    public void markAsUnread(ContentResolver cr, long itemID) {
-        final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.IS_UNREAD, 1);
-
-        cr.update(mReadingListUriWithProfile, values, ReadingListItems._ID + " = " + itemID, null);
-    }
-
-    @Override
-    public void updateContent(ContentResolver cr, long itemID, String resolvedTitle, String resolvedURL, String excerpt) {
-        final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.CONTENT_STATUS, ReadingListItems.STATUS_FETCHED_ARTICLE);
-        values.put(ReadingListItems.RESOLVED_URL, resolvedURL);
-        values.put(ReadingListItems.RESOLVED_TITLE, resolvedTitle);
-        values.put(ReadingListItems.EXCERPT, excerpt);
-
-        // The ContentProvider will take care of updating the sync metadata.
-        cr.update(mReadingListUriWithProfile, values, ReadingListItems._ID + " = " + itemID, null);
-    }
-}
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalUrlAnnotations.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalUrlAnnotations.java
@@ -201,9 +201,19 @@ public class LocalUrlAnnotations impleme
                         BrowserContract.UrlAnnotations.DATE_CREATED,
                 },
                 BrowserContract.UrlAnnotations.DATE_CREATED + " DESC");
     }
 
     public void insertScreenshot(final ContentResolver cr, final String pageUrl, final String screenshotPath) {
         insertAnnotation(cr, pageUrl, Key.SCREENSHOT.getDbValue(), screenshotPath);
     }
+
+    @Override
+    public void insertReaderViewUrl(final ContentResolver cr, final String pageUrl) {
+        insertAnnotation(cr, pageUrl, Key.READER_VIEW.getDbValue(), BrowserContract.UrlAnnotations.READER_VIEW_SAVED_VALUE);
+    }
+
+    @Override
+    public void deleteReaderViewUrl(ContentResolver cr, String pageURL) {
+        deleteAnnotation(cr, pageURL, Key.READER_VIEW);
+    }
 }
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/db/ReadingListAccessor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/* 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.db;
-
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.database.Cursor;
-import org.mozilla.gecko.annotation.RobocopTarget;
-
-@RobocopTarget
-public interface ReadingListAccessor {
-    /**
-     * Returns non-deleted, non-archived items.
-     * Fennec doesn't currently offer a way to display archived items.
-     *
-     * Can return <code>null</code>.
-     */
-    Cursor getReadingList(ContentResolver cr);
-
-    int getCount(ContentResolver cr);
-
-    Cursor getReadingListUnfetched(ContentResolver cr);
-
-    boolean isReadingListItem(ContentResolver cr, String uri);
-
-    long addReadingListItem(ContentResolver cr, ContentValues values);
-    long addBasicReadingListItem(ContentResolver cr, String url, String title);
-
-    void updateReadingListItem(ContentResolver cr, ContentValues values);
-
-    void removeReadingListItemWithURL(ContentResolver cr, String uri);
-
-    void registerContentObserver(Context context, ContentObserver observer);
-
-    void markAsRead(ContentResolver cr, long itemID);
-    void markAsUnread(ContentResolver cr, long itemID);
-    void updateContent(ContentResolver cr, long itemID, String resolvedTitle, String resolvedURL, String excerpt);
-    void deleteItem(ContentResolver cr, long itemID);
-}
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/db/ReadingListProvider.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/* 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.db;
-
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.UriMatcher;
-import android.database.Cursor;
-import android.database.SQLException;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteQueryBuilder;
-import android.net.Uri;
-import android.text.TextUtils;
-import android.util.Log;
-import org.mozilla.gecko.db.DBUtils.UpdateOperation;
-
-import static org.mozilla.gecko.db.BrowserContract.ReadingListItems.*;
-
-public class ReadingListProvider extends SharedBrowserDatabaseProvider {
-    private static final String LOGTAG = "GeckoRLProvider";
-
-    static final String TABLE_READING_LIST = TABLE_NAME;
-
-    static final int ITEMS = 101;
-    static final int ITEMS_ID = 102;
-    static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
-
-    public static final String PLACEHOLDER_THIS_DEVICE = "$local";
-
-    static {
-        URI_MATCHER.addURI(BrowserContract.READING_LIST_AUTHORITY, "items", ITEMS);
-        URI_MATCHER.addURI(BrowserContract.READING_LIST_AUTHORITY, "items/#", ITEMS_ID);
-    }
-
-    /**
-     * Updates items that match the selection criteria. If no such items is found
-     * one is inserted with the attributes passed in. Returns 0 if no item updated.
-     *
-     * Only use this method for callers, not internally -- it futzes with the provided
-     * values to set syncing flags.
-     *
-     * @return Number of items updated or inserted
-     */
-    public int updateOrInsertItem(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
-        if (!values.containsKey(CLIENT_LAST_MODIFIED)) {
-            values.put(CLIENT_LAST_MODIFIED, System.currentTimeMillis());
-        }
-
-        if (isCallerSync(uri)) {
-            int updated = updateItemsWithFlags(uri, values, null, selection, selectionArgs);
-            if (updated > 0) {
-                return updated;
-            }
-            return insertItem(uri, values) != -1 ? 1 : 0;
-        }
-
-        // Assume updated.
-        final ContentValues flags = processChangeValues(values);
-
-        int updated = updateItemsWithFlags(uri, values, flags, selection, selectionArgs);
-        if (updated <= 0) {
-            // Must be an insertion. Let's make sure we're NEW and discard any update flags.
-            values.put(SYNC_STATUS, SYNC_STATUS_NEW);
-            values.put(SYNC_CHANGE_FLAGS, SYNC_CHANGE_NONE);
-            updated = insertItem(uri, values) != -1 ? 1 : 0;
-        }
-        return updated;
-    }
-
-    /**
-     * This method does two things:
-     * * Based on the values provided, it computes and returns an incremental status change
-     *   that can be applied to the database to track changes for syncing. This should be
-     *   applied with {@link UpdateOperation#BITWISE_OR}.
-     * * It mutates the provided values to mark absolute field changes.
-     *
-     * @return null if no values were provided, or no change needs to be recorded.
-     */
-    private ContentValues processChangeValues(ContentValues values) {
-        if (values == null || values.size() == 0) {
-            return null;
-        }
-
-        final ContentValues out = new ContentValues();
-        int flag = 0;
-        if (values.containsKey(MARKED_READ_BY) ||
-            values.containsKey(MARKED_READ_ON) ||
-            values.containsKey(IS_UNREAD)) {
-            flag |= SYNC_CHANGE_UNREAD_CHANGED;
-        }
-
-        if (values.containsKey(IS_FAVORITE)) {
-            flag |= SYNC_CHANGE_FAVORITE_CHANGED;
-        }
-
-        if (values.containsKey(RESOLVED_URL) ||
-            values.containsKey(RESOLVED_TITLE) ||
-            values.containsKey(EXCERPT)) {
-            flag |= SYNC_CHANGE_RESOLVED;
-        }
-
-        if (flag == 0) {
-            return null;
-        }
-
-        out.put(SYNC_CHANGE_FLAGS, flag);
-        return out;
-    }
-
-    /**
-     * Updates items that match the selection criteria.
-     *
-     * @return Number of items updated or inserted
-     */
-    public int updateItemsWithFlags(Uri uri, ContentValues values, ContentValues flags, String selection, String[] selectionArgs) {
-        trace("Updating ReadingListItems on URI: " + uri);
-        final SQLiteDatabase db = getWritableDatabase(uri);
-        if (!values.containsKey(CLIENT_LAST_MODIFIED)) {
-            values.put(CLIENT_LAST_MODIFIED, System.currentTimeMillis());
-        }
-
-        if (flags == null) {
-            // This code path is used by Sync. Bypass metadata changes.
-            return db.update(TABLE_READING_LIST, values, selection, selectionArgs);
-        }
-
-        // Set synced items to MODIFIED; otherwise, leave the sync status untouched.
-        final ContentValues setModified = new ContentValues();
-        setModified.put(SYNC_STATUS, "CASE " + SYNC_STATUS +
-                                     " WHEN " + SYNC_STATUS_SYNCED +
-                                     " THEN " + SYNC_STATUS_MODIFIED +
-                                     " ELSE " + SYNC_STATUS +
-                                     " END");
-
-        final ContentValues[] valuesAndFlags = {values, flags, setModified};
-        final UpdateOperation[] ops = {UpdateOperation.ASSIGN, UpdateOperation.BITWISE_OR, UpdateOperation.EXPRESSION};
-
-        return DBUtils.updateArrays(db, TABLE_READING_LIST, valuesAndFlags, ops, selection, selectionArgs);
-    }
-
-    /**
-     * Inserts a new item into the DB. CLIENT_LAST_MODIFIED is generated if it is not specified.
-     *
-     * Non-Sync callers will have ADDED_ON and ADDED_BY set appropriately if they are missing;
-     * the assumption is that this is a new item added on this device.
-     *
-     * @return ID of the newly inserted item
-     */
-    private long insertItem(Uri uri, ContentValues values) {
-        if (!values.containsKey(CLIENT_LAST_MODIFIED)) {
-            values.put(CLIENT_LAST_MODIFIED, System.currentTimeMillis());
-        }
-
-        // We trust the syncing code to specify SYNC_STATUS_SYNCED.
-        if (!isCallerSync(uri)) {
-            values.put(SYNC_STATUS, SYNC_STATUS_NEW);
-            if (!values.containsKey(ADDED_ON)) {
-                values.put(ADDED_ON, System.currentTimeMillis());
-            }
-            if (!values.containsKey(ADDED_BY)) {
-                values.put(ADDED_BY, PLACEHOLDER_THIS_DEVICE);
-            }
-        }
-
-        final String url = values.getAsString(URL);
-        debug("Inserting item in database with URL: " + url);
-        try {
-            return getWritableDatabase(uri).insertOrThrow(TABLE_READING_LIST, null, values);
-        } catch (SQLException e) {
-            Log.e(LOGTAG, "Insert failed.", e);
-            throw e;
-        }
-    }
-
-    private static final ContentValues DELETED_VALUES;
-    static {
-        final ContentValues values = new ContentValues();
-        values.put(IS_DELETED, 1);
-
-        values.put(URL, "");             // Non-null column.
-        values.putNull(RESOLVED_URL);
-        values.putNull(RESOLVED_TITLE);
-        values.putNull(TITLE);
-        values.putNull(EXCERPT);
-        values.putNull(ADDED_BY);
-        values.putNull(MARKED_READ_BY);
-
-        // Mark it as deleted for sync purposes.
-        values.put(SYNC_STATUS, SYNC_STATUS_DELETED);
-        values.put(SYNC_CHANGE_FLAGS, SYNC_CHANGE_NONE);
-        DELETED_VALUES = values;
-    }
-
-    /**
-     * Deletes items. Item is marked as 'deleted' so that sync can
-     * detect the change.
-     *
-     * It's the caller's responsibility to handle both original and resolved URLs.
-     * @return Number of deleted items
-     */
-    int deleteItems(final Uri uri, String selection, String[] selectionArgs) {
-        debug("Deleting item entry for URI: " + uri);
-        final SQLiteDatabase db = getWritableDatabase(uri);
-
-        // TODO: also ensure that we delete affected items from the disk cache. Bug 1133158.
-        if (isCallerSync(uri)) {
-            debug("Directly deleting from reading list.");
-            return db.delete(TABLE_READING_LIST, selection, selectionArgs);
-        }
-
-        // If we don't have a GUID for this item, then it hasn't made it
-        // to the server. Just delete it.
-        // If we do have a GUID, blank the row and mark it as deleted.
-        int total = 0;
-        final String whereNullGUID = DBUtils.concatenateWhere(selection, GUID + " IS NULL");
-        final String whereNotNullGUID = DBUtils.concatenateWhere(selection, GUID + " IS NOT NULL");
-
-        total += db.delete(TABLE_READING_LIST, whereNullGUID, selectionArgs);
-        total += updateItemsWithFlags(uri, DELETED_VALUES, null, whereNotNullGUID, selectionArgs);
-
-        return total;
-    }
-
-    int deleteItemByID(final Uri uri, long id) {
-        debug("Deleting item entry for ID: " + id);
-        final SQLiteDatabase db = getWritableDatabase(uri);
-
-        // TODO: also ensure that we delete affected items from the disk cache. Bug 1133158.
-        if (isCallerSync(uri)) {
-            debug("Directly deleting from reading list.");
-            final String selection = _ID + " = " + id;
-            return db.delete(TABLE_READING_LIST, selection, null);
-        }
-
-        // If we don't have a GUID for this item, then it hasn't made it
-        // to the server. Just delete it.
-        final String whereNullGUID = _ID + " = " + id + " AND " + GUID + " IS NULL";
-        final int raw = db.delete(TABLE_READING_LIST, whereNullGUID, null);
-        if (raw > 0) {
-            // _ID is unique, so this should only ever be 1, but it definitely means
-            // we don't need to try the second part.
-            return raw;
-        }
-
-        // If we do have a GUID, blank the row and mark it as deleted.
-        final String whereNotNullGUID = _ID + " = " + id + " AND " + GUID + " IS NOT NULL";
-        final ContentValues values = new ContentValues(DELETED_VALUES);
-        values.put(CLIENT_LAST_MODIFIED, System.currentTimeMillis());
-        return updateItemsWithFlags(uri, values, null, whereNotNullGUID, null);
-    }
-
-    @Override
-    @SuppressWarnings("fallthrough")
-    public int updateInTransaction(final Uri uri, ContentValues values, String selection, String[] selectionArgs) {
-        trace("Calling update in transaction on URI: " + uri);
-
-        int updated = 0;
-        int match = URI_MATCHER.match(uri);
-
-        switch (match) {
-            case ITEMS_ID:
-                debug("Update on ITEMS_ID: " + uri);
-                selection = DBUtils.concatenateWhere(selection, TABLE_READING_LIST + "._id = ?");
-                selectionArgs = DBUtils.appendSelectionArgs(selectionArgs,
-                        new String[] { Long.toString(ContentUris.parseId(uri)) });
-
-            case ITEMS: {
-                debug("Updating ITEMS: " + uri);
-                if (shouldUpdateOrInsert(uri)) {
-                    // updateOrInsertItem handles change flags for us.
-                    updated = updateOrInsertItem(uri, values, selection, selectionArgs);
-                } else {
-                    // Don't use flags if we're inserting from sync.
-                    ContentValues flags = isCallerSync(uri) ? null : processChangeValues(values);
-                    updated = updateItemsWithFlags(uri, values, flags, selection, selectionArgs);
-                }
-                break;
-            }
-
-            default:
-                throw new UnsupportedOperationException("Unknown update URI " + uri);
-        }
-
-        debug("Updated " + updated + " rows for URI: " + uri);
-        return updated;
-    }
-
-
-    @Override
-    @SuppressWarnings("fallthrough")
-    public int deleteInTransaction(Uri uri, String selection, String[] selectionArgs) {
-        trace("Calling delete in transaction on URI: " + uri);
-
-        // This will never clean up any items that we're about to delete, so we
-        // might as well run it first!
-        cleanUpSomeDeletedRecords(uri, TABLE_READING_LIST);
-
-        int numDeleted = 0;
-        int match = URI_MATCHER.match(uri);
-
-        switch (match) {
-            case ITEMS_ID:
-                debug("Deleting on ITEMS_ID: " + uri);
-                numDeleted = deleteItemByID(uri, ContentUris.parseId(uri));
-                break;
-
-            case ITEMS:
-                debug("Deleting ITEMS: " + uri);
-                numDeleted = deleteItems(uri, selection, selectionArgs);
-                break;
-
-            default:
-                throw new UnsupportedOperationException("Unknown update URI " + uri);
-        }
-
-        debug("Deleted " + numDeleted + " rows for URI: " + uri);
-        return numDeleted;
-    }
-
-    @Override
-    public Uri insertInTransaction(Uri uri, ContentValues values) {
-        trace("Calling insert in transaction on URI: " + uri);
-        long id = -1;
-        int match = URI_MATCHER.match(uri);
-
-        switch (match) {
-            case ITEMS:
-                trace("Insert on ITEMS: " + uri);
-                id = insertItem(uri, values);
-                break;
-
-            default:
-                // Log here because we typically insert in a batch, and that will muffle.
-                Log.e(LOGTAG, "Unknown insert URI " + uri);
-                throw new UnsupportedOperationException("Unknown insert URI " + uri);
-        }
-
-        debug("Inserted ID in database: " + id);
-
-        if (id >= 0) {
-            return ContentUris.withAppendedId(uri, id);
-        }
-
-        Log.e(LOGTAG, "Got to end of insertInTransaction without returning an id!");
-        return null;
-    }
-
-    @Override
-    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
-        String groupBy = null;
-        SQLiteDatabase db = getReadableDatabase(uri);
-        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
-        String limit = uri.getQueryParameter(BrowserContract.PARAM_LIMIT);
-
-        final int match = URI_MATCHER.match(uri);
-        switch (match) {
-            case ITEMS_ID:
-                trace("Query on ITEMS_ID: " + uri);
-                selection = DBUtils.concatenateWhere(selection, _ID + " = ?");
-                selectionArgs = DBUtils.appendSelectionArgs(selectionArgs,
-                        new String[] { Long.toString(ContentUris.parseId(uri)) });
-
-            case ITEMS:
-                trace("Query on ITEMS: " + uri);
-                if (!shouldShowDeleted(uri)) {
-                    selection = DBUtils.concatenateWhere(IS_DELETED + " = 0", selection);
-                }
-                break;
-
-            default:
-                throw new UnsupportedOperationException("Unknown query URI " + uri);
-        }
-
-        if (TextUtils.isEmpty(sortOrder)) {
-            sortOrder = DEFAULT_SORT_ORDER;
-        }
-
-        trace("Running built query.");
-        qb.setTables(TABLE_READING_LIST);
-        Cursor cursor = qb.query(db, projection, selection, selectionArgs, groupBy, null, sortOrder, limit);
-        cursor.setNotificationUri(getContext().getContentResolver(), uri);
-
-        return cursor;
-    }
-
-    @Override
-    public String getType(Uri uri) {
-        trace("Getting URI type: " + uri);
-
-        final int match = URI_MATCHER.match(uri);
-        switch (match) {
-            case ITEMS:
-                trace("URI is ITEMS: " + uri);
-                return CONTENT_TYPE;
-
-            case ITEMS_ID:
-                trace("URI is ITEMS_ID: " + uri);
-                return CONTENT_ITEM_TYPE;
-        }
-
-        debug("URI has unrecognized type: " + uri);
-        return null;
-    }
-
-    @Override
-    protected String getDeletedItemSelection(long earlierThan) {
-        if (earlierThan == -1L) {
-            return IS_DELETED + " = 1";
-        }
-        return IS_DELETED + " = 1 AND " + CLIENT_LAST_MODIFIED + " <= " + earlierThan;
-    }
-}
--- a/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
@@ -22,77 +22,16 @@ import org.mozilla.gecko.feeds.subscript
 import android.content.ContentProviderOperation;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.database.ContentObserver;
 import android.database.Cursor;
 import android.graphics.drawable.BitmapDrawable;
 
-class StubReadingListAccessor implements ReadingListAccessor {
-    @Override
-    public Cursor getReadingList(ContentResolver cr) {
-        return null;
-    }
-
-    @Override
-    public int getCount(ContentResolver cr) {
-        return 0;
-    }
-
-    @Override
-    public Cursor getReadingListUnfetched(ContentResolver cr) {
-        return null;
-    }
-
-    @Override
-    public boolean isReadingListItem(ContentResolver cr, String uri) {
-        return false;
-    }
-
-    @Override
-    public long addReadingListItem(ContentResolver cr, ContentValues values) {
-        return 0L;
-    }
-
-    @Override
-    public long addBasicReadingListItem(ContentResolver cr, String url, String title) {
-        return 0L;
-    }
-
-    @Override
-    public void updateReadingListItem(ContentResolver cr, ContentValues values) {
-    }
-
-    @Override
-    public void removeReadingListItemWithURL(ContentResolver cr, String uri) {
-    }
-
-    @Override
-    public void registerContentObserver(Context context, ContentObserver observer) {
-    }
-
-    @Override
-    public void markAsRead(ContentResolver cr, long itemID) {
-    }
-
-    @Override
-    public void markAsUnread(ContentResolver cr, long itemID) {
-    }
-
-    @Override
-    public void updateContent(ContentResolver cr, long itemID, String resolvedTitle, String resolvedURL, String excerpt) {
-    }
-
-    @Override
-    public void deleteItem(ContentResolver cr, long itemID) {
-
-    }
-}
-
 class StubSearches implements Searches {
     public StubSearches() {
     }
 
     public void insert(ContentResolver cr, String query) {
     }
 }
 
@@ -185,27 +124,32 @@ class StubUrlAnnotations implements UrlA
     @Override
     public void insertFeedSubscription(ContentResolver cr, FeedSubscription subscription) {}
 
     @Override
     public boolean hasFeedUrlForWebsite(ContentResolver cr, String websiteUrl) { return false; }
 
     @Override
     public void insertFeedUrl(ContentResolver cr, String originUrl, String feedUrl) {}
+
+    @Override
+    public void insertReaderViewUrl(ContentResolver cr, String pageURL) {}
+
+    @Override
+    public void deleteReaderViewUrl(ContentResolver cr, String pageURL) {}
 }
 
 /*
  * This base implementation just stubs all methods. For the
  * real implementations, see LocalBrowserDB.java.
  */
 public class StubBrowserDB implements BrowserDB {
     private final StubSearches searches = new StubSearches();
     private final StubTabsAccessor tabsAccessor = new StubTabsAccessor();
     private final StubURLMetadata urlMetadata = new StubURLMetadata();
-    private final StubReadingListAccessor readingListAccessor = new StubReadingListAccessor();
     private final StubUrlAnnotations urlAnnotations = new StubUrlAnnotations();
     private SuggestedSites suggestedSites = null;
 
     @Override
     public Searches getSearches() {
         return searches;
     }
 
@@ -215,21 +159,16 @@ public class StubBrowserDB implements Br
     }
 
     @Override
     public URLMetadata getURLMetadata() {
         return urlMetadata;
     }
 
     @Override
-    public ReadingListAccessor getReadingListAccessor() {
-        return readingListAccessor;
-    }
-
-    @Override
     public UrlAnnotations getUrlAnnotations() {
         return urlAnnotations;
     }
 
     protected static final Integer FAVICON_ID_NOT_FOUND = Integer.MIN_VALUE;
 
     public StubBrowserDB(String profile) {
     }
@@ -287,58 +226,37 @@ public class StubBrowserDB implements Br
     public void clearHistory(ContentResolver cr, boolean clearSearchHistory) {
     }
 
     @RobocopTarget
     public Cursor getBookmarksInFolder(ContentResolver cr, long folderId) {
         return null;
     }
 
-    public Cursor getReadingList(ContentResolver cr) {
-        return null;
-    }
-
-    public Cursor getReadingListUnfetched(ContentResolver cr) {
-        return null;
-    }
-
     @RobocopTarget
     public boolean isBookmark(ContentResolver cr, String uri) {
         return false;
     }
 
-    public boolean isReadingListItem(ContentResolver cr, String uri) {
-        return false;
-    }
-
     public String getUrlForKeyword(ContentResolver cr, String keyword) {
         return null;
     }
 
     protected void bumpParents(ContentResolver cr, String param, String value) {
     }
 
     @RobocopTarget
     public boolean addBookmark(ContentResolver cr, String title, String uri) {
         return false;
     }
 
     @RobocopTarget
     public void removeBookmarksWithURL(ContentResolver cr, String uri) {
     }
 
-    public void addReadingListItem(ContentResolver cr, ContentValues values) {
-    }
-
-    public void updateReadingListItem(ContentResolver cr, ContentValues values) {
-    }
-
-    public void removeReadingListItemWithURL(ContentResolver cr, String uri) {
-    }
-
     public void registerBookmarkObserver(ContentResolver cr, ContentObserver observer) {
     }
 
     @RobocopTarget
     public void updateBookmark(ContentResolver cr, int id, String uri, String title, String keyword) {
     }
 
     public LoadFaviconResult getFaviconForUrl(ContentResolver cr, String faviconURL) {
--- a/mobile/android/base/java/org/mozilla/gecko/db/UrlAnnotations.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/UrlAnnotations.java
@@ -20,9 +20,12 @@ public interface UrlAnnotations {
     void deleteFeedUrl(ContentResolver cr, String websiteUrl);
     boolean hasWebsiteForFeedUrl(ContentResolver cr, String feedUrl);
     void deleteFeedSubscription(ContentResolver cr, FeedSubscription subscription);
     void updateFeedSubscription(ContentResolver cr, FeedSubscription subscription);
     boolean hasFeedSubscription(ContentResolver cr, String feedUrl);
     void insertFeedSubscription(ContentResolver cr, FeedSubscription subscription);
     boolean hasFeedUrlForWebsite(ContentResolver cr, String websiteUrl);
     void insertFeedUrl(ContentResolver cr, String originUrl, String feedUrl);
+
+    void insertReaderViewUrl(ContentResolver cr, String pageURL);
+    void deleteReaderViewUrl(ContentResolver cr, String pageURL);
 }
--- a/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListAdapter.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/BookmarksListAdapter.java
@@ -272,16 +272,18 @@ class BookmarksListAdapter extends Multi
         } else if (guid.equals(Bookmarks.MENU_FOLDER_GUID)) {
             return res.getString(R.string.bookmarks_folder_menu);
         } else if (guid.equals(Bookmarks.TOOLBAR_FOLDER_GUID)) {
             return res.getString(R.string.bookmarks_folder_toolbar);
         } else if (guid.equals(Bookmarks.UNFILED_FOLDER_GUID)) {
             return res.getString(R.string.bookmarks_folder_unfiled);
         } else if (guid.equals(Bookmarks.SCREENSHOT_FOLDER_GUID)) {
             return res.getString(R.string.screenshot_folder_label_in_bookmarks);
+        } else if (guid.equals(Bookmarks.FAKE_READINGLIST_SMARTFOLDER_GUID)) {
+            return res.getString(R.string.readinglist_smartfolder_label_in_bookmarks);
         }
 
         // If for some reason we have a folder with a special GUID, but it's not one of
         // the special folders we expect in the UI, just return the title from the DB.
         return c.getString(c.getColumnIndexOrThrow(Bookmarks.TITLE));
     }
 
     /**
--- a/mobile/android/base/java/org/mozilla/gecko/home/CombinedHistoryPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/CombinedHistoryPanel.java
@@ -336,21 +336,21 @@ public class CombinedHistoryPanel extend
                     emptyHint.setText(hintBuilder);
                     emptyHint.setMovementMethod(LinkMovementMethod.getInstance());
                     emptyHint.setVisibility(View.VISIBLE);
                 }
 
                 if (!Restrictions.isAllowed(getActivity(), Restrictable.PRIVATE_BROWSING)) {
                     emptyHint.setVisibility(View.GONE);
                 }
-                mEmptyView.setVisibility(View.VISIBLE);
-            } else {
-                if (mEmptyView != null) {
-                    mEmptyView.setVisibility(View.GONE);
-                }
+            }
+            mEmptyView.setVisibility(View.VISIBLE);
+        } else {
+            if (mEmptyView != null) {
+                mEmptyView.setVisibility(View.GONE);
             }
         }
     }
     /**
      * Make Span that is clickable, and underlined
      * between the string markers <code>FORMAT_S1</code> and
      * <code>FORMAT_S2</code>.
      *
--- a/mobile/android/base/java/org/mozilla/gecko/home/HomeContextMenuInfo.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/HomeContextMenuInfo.java
@@ -19,43 +19,37 @@ import android.widget.ListAdapter;
  */
 public class HomeContextMenuInfo extends AdapterContextMenuInfo {
 
     public String url;
     public String title;
     public boolean isFolder;
     public int historyId = -1;
     public int bookmarkId = -1;
-    public int readingListItemId = -1;
-    public boolean isUnread;
     public RemoveItemType itemType = null;
 
     // Item type to be handled with "Remove" selection.
     public static enum RemoveItemType {
-        BOOKMARKS, HISTORY, READING_LIST
+        BOOKMARKS, HISTORY
     }
 
     public HomeContextMenuInfo(View targetView, int position, long id) {
         super(targetView, position, id);
     }
 
     public boolean hasBookmarkId() {
         return bookmarkId > -1;
     }
 
     public boolean hasHistoryId() {
         return historyId > -1;
     }
 
-    public boolean isInReadingList() {
-        return readingListItemId > -1;
-    }
-
     public boolean canRemove() {
-        return hasBookmarkId() || hasHistoryId() || isInReadingList();
+        return hasBookmarkId() || hasHistoryId();
     }
 
     public String getDisplayTitle() {
         if (!TextUtils.isEmpty(title)) {
             return title;
         }
         return StringUtils.stripCommonSubdomains(StringUtils.stripScheme(url, StringUtils.UrlFlags.STRIP_HTTPS));
     }
--- a/mobile/android/base/java/org/mozilla/gecko/home/HomeFragment.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/HomeFragment.java
@@ -5,30 +5,30 @@
 
 package org.mozilla.gecko.home;
 
 import java.util.EnumSet;
 
 import org.mozilla.gecko.EditBookmarkDialog;
 import org.mozilla.gecko.GeckoAppShell;
 import org.mozilla.gecko.GeckoApplication;
-import org.mozilla.gecko.GeckoEvent;
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.IntentHelper;
 import org.mozilla.gecko.R;
-import org.mozilla.gecko.reader.ReaderModeUtils;
 import org.mozilla.gecko.SnackbarHelper;
 import org.mozilla.gecko.Telemetry;
 import org.mozilla.gecko.TelemetryContract;
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.db.BrowserContract.SuggestedSites;
 import org.mozilla.gecko.home.HomeContextMenuInfo.RemoveItemType;
 import org.mozilla.gecko.home.HomePager.OnUrlOpenInBackgroundListener;
 import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
 import org.mozilla.gecko.home.TopSitesGridView.TopSitesGridContextMenuInfo;
+import org.mozilla.gecko.reader.SavedReaderViewHelper;
+import org.mozilla.gecko.reader.ReadingListHelper;
 import org.mozilla.gecko.restrictions.Restrictable;
 import org.mozilla.gecko.restrictions.Restrictions;
 import org.mozilla.gecko.util.Clipboard;
 import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.util.UIAsyncTask;
 
 import android.app.Activity;
@@ -144,35 +144,32 @@ public abstract class HomeFragment exten
 
         // Hide unused menu items.
         menu.findItem(R.id.top_sites_edit).setVisible(false);
         menu.findItem(R.id.top_sites_pin).setVisible(false);
         menu.findItem(R.id.top_sites_unpin).setVisible(false);
 
         // Hide the "Edit" menuitem if this item isn't a bookmark,
         // or if this is a reading list item.
-        if (!info.hasBookmarkId() || info.isInReadingList()) {
+        if (!info.hasBookmarkId()) {
             menu.findItem(R.id.home_edit_bookmark).setVisible(false);
         }
 
         // Hide the "Remove" menuitem if this item not removable.
         if (!info.canRemove()) {
             menu.findItem(R.id.home_remove).setVisible(false);
         }
 
         if (!StringUtils.isShareableUrl(info.url) || GeckoProfile.get(getActivity()).inGuestMode()) {
             menu.findItem(R.id.home_share).setVisible(false);
         }
 
         if (!Restrictions.isAllowed(view.getContext(), Restrictable.PRIVATE_BROWSING)) {
             menu.findItem(R.id.home_open_private_tab).setVisible(false);
         }
-
-        menu.findItem(R.id.mark_read).setVisible(info.isInReadingList() && info.isUnread);
-        menu.findItem(R.id.mark_unread).setVisible(info.isInReadingList() && !info.isUnread);
     }
 
     @Override
     public boolean onContextItemSelected(MenuItem item) {
         // onContextItemSelected() is first dispatched to the activity and
         // then dispatched to its fragments. Since fragments cannot "override"
         // menu item selection handling, it's better to avoid menu id collisions
         // between the activity and its fragments.
@@ -244,19 +241,17 @@ public abstract class HomeFragment exten
                 Log.e(LOGTAG, "Can't open in new tab because URL is null");
                 return false;
             }
 
             // Some pinned site items have "user-entered" urls. URLs entered in
             // the PinSiteDialog are wrapped in a special URI until we can get a
             // valid URL. If the url is a user-entered url, decode the URL
             // before loading it.
-            final String url = StringUtils.decodeUserEnteredUrl(info.isInReadingList()
-                    ? ReaderModeUtils.getAboutReaderForUrl(info.url)
-                    : info.url);
+            final String url = StringUtils.decodeUserEnteredUrl(info.url);
 
             final EnumSet<OnUrlOpenInBackgroundListener.Flags> flags = EnumSet.noneOf(OnUrlOpenInBackgroundListener.Flags.class);
             if (item.getItemId() == R.id.home_open_private_tab) {
                 flags.add(OnUrlOpenInBackgroundListener.Flags.PRIVATE);
             }
 
             mUrlOpenInBackgroundListener.onUrlOpenInBackground(url, flags);
 
@@ -274,32 +269,16 @@ public abstract class HomeFragment exten
         if (itemId == R.id.home_remove) {
             // For Top Sites grid items, position is required in case item is Pinned.
             final int position = info instanceof TopSitesGridContextMenuInfo ? info.position : -1;
 
             (new RemoveItemByUrlTask(context, info.url, info.itemType, position)).execute();
             return true;
         }
 
-        if (itemId == R.id.mark_read) {
-            GeckoProfile
-                    .get(context)
-                    .getDB()
-                    .getReadingListAccessor()
-                    .markAsRead(context.getContentResolver(), info.id);
-        }
-
-        if (itemId == R.id.mark_unread) {
-            GeckoProfile
-                    .get(context)
-                    .getDB()
-                    .getReadingListAccessor()
-                    .markAsUnread(context.getContentResolver(), info.id);
-        }
-
         return false;
     }
 
     @Override
     public void setUserVisibleHint (boolean isVisibleToUser) {
         if (isVisibleToUser == getUserVisibleHint()) {
             return;
         }
@@ -398,28 +377,28 @@ public abstract class HomeFragment exten
                     cr.notifyChange(SuggestedSites.CONTENT_URI, null);
                 }
             }
 
             switch(mType) {
                 case BOOKMARKS:
                     Telemetry.sendUIEvent(TelemetryContract.Event.UNSAVE, TelemetryContract.Method.CONTEXT_MENU, "bookmark");
                     mDB.removeBookmarksWithURL(cr, mUrl);
+
+                    SavedReaderViewHelper rch = SavedReaderViewHelper.getSavedReaderViewHelper(mContext);
+                    if (rch.isURLCached(mUrl)) {
+                        ReadingListHelper.removeCachedReaderItem(mUrl, mContext);
+                    }
+
                     break;
 
                 case HISTORY:
                     mDB.removeHistoryEntry(cr, mUrl);
                     break;
 
-                case READING_LIST:
-                    Telemetry.sendUIEvent(TelemetryContract.Event.UNSAVE, TelemetryContract.Method.CONTEXT_MENU, "reading_list");
-                    mDB.getReadingListAccessor().removeReadingListItemWithURL(cr, mUrl);
-                    GeckoAppShell.notifyObservers("Reader:Removed", mUrl);
-                    break;
-
                 default:
                     Log.e(LOGTAG, "Can't remove item type " + mType.toString());
                     break;
             }
             return null;
         }
 
         @Override
--- a/mobile/android/base/java/org/mozilla/gecko/home/HomePager.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/HomePager.java
@@ -62,17 +62,16 @@ public class HomePager extends ViewPager
 
     // Listens for when the current panel changes.
     private OnPanelChangeListener mPanelChangedListener;
 
     // This is mostly used by UI tests to easily fetch
     // specific list views at runtime.
     public static final String LIST_TAG_HISTORY = "history";
     public static final String LIST_TAG_BOOKMARKS = "bookmarks";
-    public static final String LIST_TAG_READING_LIST = "reading_list";
     public static final String LIST_TAG_TOP_SITES = "top_sites";
     public static final String LIST_TAG_RECENT_TABS = "recent_tabs";
     public static final String LIST_TAG_BROWSER_SEARCH = "browser_search";
     public static final String LIST_TAG_REMOTE_TABS = "remote_tabs";
 
     public interface OnUrlOpenListener {
         public enum Flags {
             ALLOW_SWITCH_TO_TAB,
--- a/mobile/android/base/java/org/mozilla/gecko/home/ReadingListPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/ReadingListPanel.java
@@ -1,228 +1,61 @@
 /* -*- 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.home;
 
-import java.util.EnumSet;
+import android.os.Bundle;
 
-import org.mozilla.gecko.GeckoProfile;
+import java.util.EnumSet;
+import java.util.Locale;
+
+import org.mozilla.gecko.AppConstants;
+import org.mozilla.gecko.Locales;
 import org.mozilla.gecko.R;
-import org.mozilla.gecko.reader.ReaderModeUtils;
-import org.mozilla.gecko.Telemetry;
-import org.mozilla.gecko.TelemetryContract;
-import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
-import org.mozilla.gecko.db.BrowserContract.URLColumns;
-import org.mozilla.gecko.db.ReadingListAccessor;
-import org.mozilla.gecko.home.HomeContextMenuInfo.RemoveItemType;
-import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
 
-import android.content.Context;
-import android.database.Cursor;
-import android.os.Bundle;
-import android.support.v4.content.Loader;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.widget.CursorAdapter;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.ViewStub;
-import android.widget.AdapterView;
-import android.widget.ImageView;
-import android.widget.TextView;
-import org.mozilla.gecko.util.NetworkUtils;
 
 /**
- * Fragment that displays reading list contents in a ListView.
+ * Fragment that used to display reading list contents in a ListView, and now directs
+ * users to Bookmarks to view their former reading-list content.
  */
 public class ReadingListPanel extends HomeFragment {
 
-    // Cursor loader ID for reading list
-    private static final int LOADER_ID_READING_LIST = 0;
-
-    // Formatted string in hint text to be replaced with an icon.
-    private final String MATCH_STRING = "%I";
-
-    // Adapter for the list of reading list items
-    private ReadingListAdapter mAdapter;
-
-    // The view shown by the fragment
-    private HomeListView mList;
-
-    // Reference to the View to display when there are no results.
-    private View mEmptyView;
-
-    // Reference to top view.
-    private View mTopView;
-
-    // Callbacks used for the reading list and favicon cursor loaders
-    private CursorLoaderCallbacks mCursorLoaderCallbacks;
-
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.home_list_panel, container, false);
-    }
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance) {
+        final ViewGroup root = (ViewGroup) inflater.inflate(R.layout.readinglistpanel_gone_fragment, container, false);
 
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-
-        mTopView = view;
-
-        mList = (HomeListView) view.findViewById(R.id.list);
-        mList.setTag(HomePager.LIST_TAG_READING_LIST);
-
-        mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+        // We could update the ID names - however this panel is only intended to be live for one
+        // release, hence there's little utility in optimising this code.
+        root.findViewById(R.id.welcome_account).setOnClickListener(new View.OnClickListener() {
             @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                final Context context = getActivity();
-                if (context == null) {
-                    return;
-                }
-
-                final Cursor c = mAdapter.getCursor();
-                if (c == null || !c.moveToPosition(position)) {
-                    return;
-                }
-
-                String url = c.getString(c.getColumnIndexOrThrow(URLColumns.URL));
-                url = ReaderModeUtils.getAboutReaderForUrl(url);
-
-                Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.LIST_ITEM, "reading_list");
-                Telemetry.addToHistogram("FENNEC_LOAD_SAVED_PAGE", NetworkUtils.isConnected(context) ? 0 : 1);
-
-                // This item is a TwoLinePageRow, so we allow switch-to-tab.
-                mUrlOpenListener.onUrlOpen(url, EnumSet.of(OnUrlOpenListener.Flags.ALLOW_SWITCH_TO_TAB));
-
-                markAsRead(context, id);
+            public void onClick(View v) {
+                mUrlOpenListener.onUrlOpen("about:home?panel=" + HomeConfig.getIdForBuiltinPanelType(HomeConfig.PanelType.BOOKMARKS),
+                        EnumSet.noneOf(HomePager.OnUrlOpenListener.Flags.class));
             }
         });
 
-        mList.setContextMenuInfoFactory(new HomeContextMenuInfo.Factory() {
+        root.findViewById(R.id.welcome_browse).setOnClickListener(new View.OnClickListener() {
             @Override
-            public HomeContextMenuInfo makeInfoForCursor(View view, int position, long id, Cursor cursor) {
-                final HomeContextMenuInfo info = new HomeContextMenuInfo(view, position, id);
-                info.url = cursor.getString(cursor.getColumnIndexOrThrow(ReadingListItems.URL));
-                info.title = cursor.getString(cursor.getColumnIndexOrThrow(ReadingListItems.TITLE));
-                info.readingListItemId = cursor.getInt(cursor.getColumnIndexOrThrow(ReadingListItems._ID));
-                info.isUnread = cursor.getInt(cursor.getColumnIndexOrThrow(ReadingListItems.IS_UNREAD)) == 1;
-                info.itemType = RemoveItemType.READING_LIST;
-                return info;
+            public void onClick(View v) {
+                final String link = getString(R.string.migrated_reading_list_url,
+                        AppConstants.MOZ_APP_VERSION,
+                        AppConstants.OS_TARGET,
+                        Locales.getLanguageTag(Locale.getDefault()));
+
+                mUrlOpenListener.onUrlOpen(link,
+                        EnumSet.noneOf(HomePager.OnUrlOpenListener.Flags.class));
             }
         });
-        registerForContextMenu(mList);
-    }
 
-    private void markAsRead(final Context context, final long id) {
-        GeckoProfile.get(context).getDB().getReadingListAccessor().markAsRead(
-            context.getContentResolver(),
-            id
-        );
-    }
-
-    @Override
-    public void onDestroyView() {
-        super.onDestroyView();
-
-        // Discard any additional item clicks on the list as the
-        // panel is getting destroyed (bug 1210243).
-        mList.setOnItemClickListener(null);
-
-        mList = null;
-        mTopView = null;
-        mEmptyView = null;
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        mAdapter = new ReadingListAdapter(getActivity(), null);
-        mList.setAdapter(mAdapter);
-
-        // Create callbacks before the initial loader is started.
-        mCursorLoaderCallbacks = new CursorLoaderCallbacks();
-        loadIfVisible();
+        return root;
     }
 
     @Override
     protected void load() {
-        getLoaderManager().initLoader(LOADER_ID_READING_LIST, null, mCursorLoaderCallbacks);
-    }
-
-    private void updateUiFromCursor(Cursor c) {
-        // We delay setting the empty view until the cursor is actually empty.
-        // This avoids image flashing.
-        if ((c == null || c.getCount() == 0) && mEmptyView == null) {
-            final ViewStub emptyViewStub = (ViewStub) mTopView.findViewById(R.id.home_empty_view_stub);
-            mEmptyView = emptyViewStub.inflate();
-
-            final TextView emptyText = (TextView) mEmptyView.findViewById(R.id.home_empty_text);
-            emptyText.setText(R.string.home_reading_list_empty);
-
-            final ImageView emptyImage = (ImageView) mEmptyView.findViewById(R.id.home_empty_image);
-            emptyImage.setImageResource(R.drawable.icon_reading_list_empty);
-
-            mList.setEmptyView(mEmptyView);
-        }
-    }
-
-    /**
-     * Cursor loader for the list of reading list items.
-     */
-    private static class ReadingListLoader extends SimpleCursorLoader {
-        private final ReadingListAccessor accessor;
-
-        public ReadingListLoader(Context context) {
-            super(context);
-            accessor = GeckoProfile.get(context).getDB().getReadingListAccessor();
-        }
-
-        @Override
-        public Cursor loadCursor() {
-            return accessor.getReadingList(getContext().getContentResolver());
-        }
-    }
-
-    /**
-     * Cursor adapter for the list of reading list items.
-     */
-    private class ReadingListAdapter extends CursorAdapter {
-        public ReadingListAdapter(Context context, Cursor cursor) {
-            super(context, cursor, 0);
-        }
-
-        @Override
-        public void bindView(View view, Context context, Cursor cursor) {
-            final ReadingListRow row = (ReadingListRow) view;
-            row.updateFromCursor(cursor);
-        }
-
-        @Override
-        public View newView(Context context, Cursor cursor, ViewGroup parent) {
-            return LayoutInflater.from(parent.getContext()).inflate(R.layout.reading_list_item_row, parent, false);
-        }
-    }
-
-    /**
-     * LoaderCallbacks implementation that interacts with the LoaderManager.
-     */
-    private class CursorLoaderCallbacks implements LoaderManager.LoaderCallbacks<Cursor> {
-        @Override
-        public Loader<Cursor> onCreateLoader(int id, Bundle args) {
-            return new ReadingListLoader(getActivity());
-        }
-
-        @Override
-        public void onLoadFinished(Loader<Cursor> loader, Cursor c) {
-            mAdapter.swapCursor(c);
-            updateUiFromCursor(c);
-        }
-
-        @Override
-        public void onLoaderReset(Loader<Cursor> loader) {
-            mAdapter.swapCursor(null);
-        }
+        // Must be overriden, but we're not doing any loading hence no real implementation...
     }
 }
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/home/ReadingListRow.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- 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.home;
-
-import org.mozilla.gecko.R;
-import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
-import org.mozilla.gecko.util.StringUtils;
-
-import android.content.Context;
-import android.database.Cursor;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-public class ReadingListRow extends LinearLayout {
-    private TextView title;
-    private TextView excerpt;
-    private ImageView indicator;
-
-    public ReadingListRow(Context context) {
-        this(context, null);
-    }
-
-    public ReadingListRow(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        title = (TextView) findViewById(R.id.title);
-        excerpt = (TextView) findViewById(R.id.excerpt);
-        indicator = (ImageView) findViewById(R.id.indicator);
-    }
-
-    public void updateFromCursor(Cursor cursor) {
-        if (cursor == null) {
-            return;
-        }
-
-        final boolean isUnread = cursor.getInt(cursor.getColumnIndexOrThrow(ReadingListItems.IS_UNREAD)) == 1;
-
-        final String url = cursor.getString(cursor.getColumnIndexOrThrow(ReadingListItems.URL));
-
-        final String titleText = cursor.getString(cursor.getColumnIndexOrThrow(ReadingListItems.TITLE));
-        title.setText(TextUtils.isEmpty(titleText) ? StringUtils.stripCommonSubdomains(StringUtils.stripScheme(url)) : titleText);
-        title.setTextAppearance(getContext(), isUnread ? R.style.Widget_ReadingListRow_Title_Unread : R.style.Widget_ReadingListRow_Title_Read);
-
-        final String excerptText = cursor.getString(cursor.getColumnIndexOrThrow(ReadingListItems.EXCERPT));
-        excerpt.setText(TextUtils.isEmpty(excerptText) ? url : excerptText);
-        excerpt.setTextAppearance(getContext(), isUnread ? R.style.Widget_ReadingListRow_Title_Unread : R.style.Widget_ReadingListRow_Title_Read);
-
-        indicator.setImageResource(isUnread ? R.drawable.reading_list_indicator_unread : R.drawable.reading_list_indicator_read);
-    }
-
-}
--- a/mobile/android/base/java/org/mozilla/gecko/home/TopSitesPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/TopSitesPanel.java
@@ -346,20 +346,16 @@ public class TopSitesPanel extends HomeF
 
         if (!StringUtils.isShareableUrl(info.url) || GeckoProfile.get(getActivity()).inGuestMode()) {
             menu.findItem(R.id.home_share).setVisible(false);
         }
 
         if (!Restrictions.isAllowed(context, Restrictable.PRIVATE_BROWSING)) {
             menu.findItem(R.id.home_open_private_tab).setVisible(false);
         }
-
-        // We only show these menu items on the reading list panel:
-        menu.findItem(R.id.mark_read).setVisible(false);
-        menu.findItem(R.id.mark_unread).setVisible(false);
     }
 
     @Override
     public boolean onContextItemSelected(MenuItem item) {
         if (super.onContextItemSelected(item)) {
             // HomeFragment was able to handle to selected item.
             return true;
         }
--- a/mobile/android/base/java/org/mozilla/gecko/home/TwoLinePageRow.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/TwoLinePageRow.java
@@ -4,16 +4,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.home;
 
 import java.lang.ref.WeakReference;
 
 import org.mozilla.gecko.AboutPages;
 import org.mozilla.gecko.R;
+import org.mozilla.gecko.reader.SavedReaderViewHelper;
 import org.mozilla.gecko.reader.ReaderModeUtils;
 import org.mozilla.gecko.Tab;
 import org.mozilla.gecko.Tabs;
 import org.mozilla.gecko.db.BrowserContract.Combined;
 import org.mozilla.gecko.db.BrowserContract.URLColumns;
 import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.favicons.OnFaviconLoadedListener;
 import org.mozilla.gecko.widget.FaviconView;
@@ -21,31 +22,33 @@ import org.mozilla.gecko.widget.FaviconV
 import android.content.Context;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.widget.ImageView;
+import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
 public class TwoLinePageRow extends LinearLayout
                             implements Tabs.OnTabsChangedListener {
 
     protected static final int NO_ICON = 0;
 
     private final TextView mTitle;
     private final TextView mUrl;
     private final ImageView mStatusIcon;
 
     private int mSwitchToTabIconId;
 
     private final FaviconView mFavicon;
+    private final View mReaderCached;
 
     private boolean mShowIcons;
     private int mLoadFaviconJobId = Favicons.NOT_LOADING;
 
     // Only holds a reference to the FaviconView itself, so if the row gets
     // discarded while a task is outstanding, we'll leak less memory.
     private static class UpdateViewFaviconLoadedListener implements OnFaviconLoadedListener {
         private final WeakReference<FaviconView> view;
@@ -76,16 +79,18 @@ public class TwoLinePageRow extends Line
     }
 
     // Listener for handling Favicon loads.
     private final OnFaviconLoadedListener mFaviconListener;
 
     // The URL for the page corresponding to this view.
     private String mPageUrl;
 
+    private boolean mHasReaderCacheItem;
+
     public TwoLinePageRow(Context context) {
         this(context, null);
     }
 
     public TwoLinePageRow(Context context, AttributeSet attrs) {
         super(context, attrs);
 
         setGravity(Gravity.CENTER_VERTICAL);
@@ -98,16 +103,18 @@ public class TwoLinePageRow extends Line
         mUrl = (TextView) findViewById(R.id.url);
         mStatusIcon = (ImageView) findViewById(R.id.status_icon_bookmark);
 
         mSwitchToTabIconId = NO_ICON;
         mShowIcons = true;
 
         mFavicon = (FaviconView) findViewById(R.id.icon);
         mFaviconListener = new UpdateViewFaviconLoadedListener(mFavicon);
+
+        mReaderCached = findViewById(R.id.is_reader_cached);
     }
 
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
 
         Tabs.registerOnTabsChangedListener(this);
     }
@@ -184,29 +191,37 @@ public class TwoLinePageRow extends Line
         final int visibility = toShow ? VISIBLE : GONE;
         mStatusIcon.setVisibility(visibility);
     }
 
     /**
      * Stores the page URL, so that we can use it to replace "Switch to tab" if the open
      * tab changes or is closed.
      */
-    private void updateDisplayedUrl(String url) {
+    private void updateDisplayedUrl(String url, boolean hasReaderCacheItem) {
         mPageUrl = url;
+        mHasReaderCacheItem = hasReaderCacheItem;
         updateDisplayedUrl();
     }
 
     /**
      * Replaces the page URL with "Switch to tab" if there is already a tab open with that URL.
      * Only looks for tabs that are either private or non-private, depending on the current
      * selected tab.
      */
     protected void updateDisplayedUrl() {
         boolean isPrivate = Tabs.getInstance().getSelectedTab().isPrivate();
-        Tab tab = Tabs.getInstance().getFirstTabForUrl(mPageUrl, isPrivate);
+
+        // We always want to display the underlying page url, however for readermode pages
+        // we navigate to the about:reader equivalent, hence we need to use that url when finding
+        // existing tabs
+        final String navigationUrl = mHasReaderCacheItem ? ReaderModeUtils.getAboutReaderForUrl(mPageUrl) : mPageUrl;
+        Tab tab = Tabs.getInstance().getFirstTabForUrl(navigationUrl, isPrivate);
+
+
         if (!mShowIcons || tab == null) {
             setUrl(mPageUrl);
             setSwitchToTabIcon(NO_ICON);
         } else {
             setUrl(R.string.switch_to_tab);
             setSwitchToTabIcon(R.drawable.ic_url_bar_tab);
         }
     }
@@ -219,20 +234,20 @@ public class TwoLinePageRow extends Line
      * Update the data displayed by this row.
      * <p>
      * This method must be invoked on the UI thread.
      *
      * @param title to display.
      * @param url to display.
      */
     public void update(String title, String url) {
-        update(title, url, 0);
+        update(title, url, 0, false);
     }
 
-    protected void update(String title, String url, long bookmarkId) {
+    protected void update(String title, String url, long bookmarkId, boolean hasReaderCacheItem) {
         if (mShowIcons) {
             // The bookmark id will be 0 (null in database) when the url
             // is not a bookmark.
             final boolean isBookmark = bookmarkId != 0;
             showBookmarkIcon(isBookmark);
         } else {
             showBookmarkIcon(false);
         }
@@ -251,17 +266,19 @@ public class TwoLinePageRow extends Line
         Favicons.cancelFaviconLoad(mLoadFaviconJobId);
 
         // Displayed RecentTabsPanel URLs may refer to pages opened in reader mode, so we
         // remove the about:reader prefix to ensure the Favicon loads properly.
         final String pageURL = AboutPages.isAboutReader(url) ?
             ReaderModeUtils.getUrlFromAboutReader(url) : url;
         mLoadFaviconJobId = Favicons.getSizedFaviconForPageFromLocal(getContext(), pageURL, mFaviconListener);
 
-        updateDisplayedUrl(url);
+        updateDisplayedUrl(url, hasReaderCacheItem);
+
+        mReaderCached.setVisibility(hasReaderCacheItem ? View.VISIBLE : View.INVISIBLE);
     }
 
     /**
      * Update the data displayed by this row.
      * <p>
      * This method must be invoked on the UI thread.
      *
      * @param cursor to extract data from.
@@ -280,11 +297,14 @@ public class TwoLinePageRow extends Line
         final long bookmarkId;
         final int bookmarkIdIndex = cursor.getColumnIndex(Combined.BOOKMARK_ID);
         if (bookmarkIdIndex != -1) {
             bookmarkId = cursor.getLong(bookmarkIdIndex);
         } else {
             bookmarkId = 0;
         }
 
-        update(title, url, bookmarkId);
+        SavedReaderViewHelper rch = SavedReaderViewHelper.getSavedReaderViewHelper(getContext());
+        final boolean hasReaderCacheItem = rch.isURLCached(url);
+
+        update(title, url, bookmarkId, hasReaderCacheItem);
     }
 }
--- a/mobile/android/base/java/org/mozilla/gecko/overlays/service/OverlayActionService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/overlays/service/OverlayActionService.java
@@ -7,17 +7,16 @@ package org.mozilla.gecko.overlays.servi
 
 import android.app.Service;
 import android.content.Context;
 import android.content.Intent;
 import android.os.IBinder;
 import android.util.Log;
 
 import org.mozilla.gecko.overlays.service.sharemethods.AddBookmark;
-import org.mozilla.gecko.overlays.service.sharemethods.AddToReadingList;
 import org.mozilla.gecko.overlays.service.sharemethods.SendTab;
 import org.mozilla.gecko.overlays.service.sharemethods.ShareMethod;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import java.util.EnumMap;
 import java.util.Map;
 
 import static org.mozilla.gecko.overlays.OverlayConstants.ACTION_PREPARE_SHARE;
@@ -25,17 +24,16 @@ import static org.mozilla.gecko.overlays
 
 /**
  * A service to receive requests from overlays to perform actions.
  * See OverlayConstants for details of the intent API supported by this service.
  *
  * Currently supported operations are:
  *
  * Add bookmark*
- * Add to reading list*
  * Send tab (delegates to Sync's existing handler)
  * Future: Load page in background.
  *
  * * Neither of these incur a page fetch on the service... yet. That will require headless Gecko,
  *   something we're yet to have. Refactoring Gecko as a service itself and restructing the rest of
  *   the app to talk to it seems like the way to go there.
  */
 public class OverlayActionService extends Service {
@@ -84,17 +82,16 @@ public class OverlayActionService extend
      */
     private void initShareMethods(final Context context) {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 shareTypes.clear();
 
                 shareTypes.put(ShareMethod.Type.ADD_BOOKMARK, new AddBookmark(context));
-                shareTypes.put(ShareMethod.Type.ADD_TO_READING_LIST, new AddToReadingList(context));
                 shareTypes.put(ShareMethod.Type.SEND_TAB, new SendTab(context));
             }
         });
     }
 
     public void handleShare(final Intent intent) {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/overlays/service/sharemethods/AddToReadingList.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/* 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.overlays.service.sharemethods;
-
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.content.Context;
-import org.mozilla.gecko.GeckoProfile;
-import org.mozilla.gecko.R;
-import org.mozilla.gecko.db.LocalBrowserDB;
-import org.mozilla.gecko.db.ReadingListProvider;
-import org.mozilla.gecko.overlays.service.ShareData;
-
-import static org.mozilla.gecko.db.BrowserContract.ReadingListItems;
-
-/**
- * ShareMethod to add a page to the reading list.
- *
- * Inserts the given URL/title pair into the reading list database.
- */
-public class AddToReadingList extends ShareMethod {
-    private static final String LOGTAG = "GeckoAddToReadingList";
-
-    @Override
-    public Result handle(ShareData shareData) {
-        final ContentResolver resolver = context.getContentResolver();
-
-        final ContentValues values = new ContentValues();
-        values.put(ReadingListItems.TITLE, shareData.title);
-        values.put(ReadingListItems.URL, shareData.url);
-        values.put(ReadingListItems.ADDED_ON, System.currentTimeMillis());
-        values.put(ReadingListItems.ADDED_BY, ReadingListProvider.PLACEHOLDER_THIS_DEVICE);
-
-        new LocalBrowserDB(GeckoProfile.DEFAULT_PROFILE).getReadingListAccessor().addReadingListItem(resolver, values);
-
-        return Result.SUCCESS;
-    }
-
-    public AddToReadingList(Context context) {
-        super(context);
-    }
-}
--- a/mobile/android/base/java/org/mozilla/gecko/overlays/service/sharemethods/ShareMethod.java
+++ b/mobile/android/base/java/org/mozilla/gecko/overlays/service/sharemethods/ShareMethod.java
@@ -50,17 +50,16 @@ public abstract class ShareMethod {
         PERMANENT_FAILURE
     }
 
     /**
      * Enum representing types of ShareMethod. Parcelable so it may be efficiently used in Intents.
      */
     public static enum Type implements Parcelable {
         ADD_BOOKMARK,
-        ADD_TO_READING_LIST,
         SEND_TAB;
 
         @Override
         public int describeContents() {
             return 0;
         }
 
         @Override
--- a/mobile/android/base/java/org/mozilla/gecko/overlays/ui/ShareDialog.java
+++ b/mobile/android/base/java/org/mozilla/gecko/overlays/ui/ShareDialog.java
@@ -60,21 +60,20 @@ public class ShareDialog extends Locales
             AppConstants.ANDROID_PACKAGE_NAME + ".intent.extra.DEVICES_ONLY";
 
     /** The maximum number of devices we'll show in the dialog when in State.DEFAULT. **/
     private static final int MAXIMUM_INLINE_DEVICES = 2;
 
     private State state;
 
     private SendTabList sendTabList;
-    private OverlayDialogButton readingListButton;
     private OverlayDialogButton bookmarkButton;
 
-    // The reading list drawable set from XML - we need this to reset state.
-    private Drawable readingListButtonDrawable;
+    // The bookmark button drawable set from XML - we need this to reset state.
+    private Drawable bookmarkButtonDrawable;
 
     private String url;
     private String title;
 
     // The override intent specified by SendTab (if any). See SendTab.java.
     private Intent sendTabOverrideIntent;
 
     // Flag set during animation to prevent animation multiple-start.
@@ -124,17 +123,17 @@ public class ShareDialog extends Locales
             sendTabList.switchState(SendTabList.State.LIST);
 
             // The first item in the list has a unique style. If there are no items
             // in the list, the next button appears to be the first item in the list.
             //
             // Note: a more thorough implementation would add this
             // (and other non-ListView buttons) into a custom ListView.
             if (remoteClientRecords == null || remoteClientRecords.length == 0) {
-                readingListButton.setBackgroundResource(
+                bookmarkButton.setBackgroundResource(
                         R.drawable.overlay_share_button_background_first);
             }
             return;
         }
 
         // Just show a button to launch the list of devices to choose from.
         sendTabList.switchState(SendTabList.State.SHOW_DEVICES);
     }
@@ -176,52 +175,42 @@ public class ShareDialog extends Locales
         sendTabList = (SendTabList) findViewById(R.id.overlay_send_tab_btn);
 
         // Register ourselves as both the listener and the context for the Adapter.
         final SendTabDeviceListArrayAdapter adapter = new SendTabDeviceListArrayAdapter(this, this);
         sendTabList.setAdapter(adapter);
         sendTabList.setSendTabTargetSelectedListener(this);
 
         bookmarkButton = (OverlayDialogButton) findViewById(R.id.overlay_share_bookmark_btn);
-        readingListButton = (OverlayDialogButton) findViewById(R.id.overlay_share_reading_list_btn);
 
-        readingListButtonDrawable = readingListButton.getBackground();
+        bookmarkButtonDrawable = bookmarkButton.getBackground();
 
         // Bookmark button
         bookmarkButton = (OverlayDialogButton) findViewById(R.id.overlay_share_bookmark_btn);
         bookmarkButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 addBookmark();
             }
         });
-
-        // Reading List button
-        readingListButton = (OverlayDialogButton) findViewById(R.id.overlay_share_reading_list_btn);
-        readingListButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                addToReadingList();
-            }
-        });
     }
 
     @Override
     protected void onResume() {
         super.onResume();
 
         final Intent intent = getIntent();
 
         state = intent.getBooleanExtra(INTENT_EXTRA_DEVICES_ONLY, false) ?
                 State.DEVICES_ONLY : State.DEFAULT;
 
         // If the Activity is being reused, we need to reset the state. Ideally, we create a
         // new instance for each call, but Android L breaks this (bug 1137928).
         sendTabList.switchState(SendTabList.State.LOADING);
-        readingListButton.setBackgroundDrawable(readingListButtonDrawable);
+        bookmarkButton.setBackgroundDrawable(bookmarkButtonDrawable);
 
         // The URL is usually hiding somewhere in the extra text. Extract it.
         final String extraText = ContextUtils.getStringExtra(intent, Intent.EXTRA_TEXT);
         if (TextUtils.isEmpty(extraText)) {
             abortDueToNoURL();
             return;
         }
 
@@ -266,25 +255,23 @@ public class ShareDialog extends Locales
         subtitleView.setSingleLine(true);
         subtitleView.setMarqueeRepeatLimit(5);
         subtitleView.setSelected(true);
 
         final View titleView = findViewById(R.id.title);
 
         if (state == State.DEVICES_ONLY) {
             bookmarkButton.setVisibility(View.GONE);
-            readingListButton.setVisibility(View.GONE);
 
             titleView.setOnClickListener(null);
             subtitleView.setOnClickListener(null);
             return;
         }
 
         bookmarkButton.setVisibility(View.VISIBLE);
-        readingListButton.setVisibility(View.VISIBLE);
 
         // Configure buttons.
         final View.OnClickListener launchBrowser = new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 ShareDialog.this.launchBrowser();
             }
         };
@@ -307,32 +294,29 @@ public class ShareDialog extends Locales
     /**
      * Sets the state of the bookmark/reading list buttons: they are disabled if the given URL is
      * already in the corresponding list.
      */
     private void setButtonState(final String pageURL, final LocalBrowserDB browserDB) {
         new UIAsyncTask.WithoutParams<Void>(ThreadUtils.getBackgroundHandler()) {
             // Flags to hold the result
             boolean isBookmark;
-            boolean isReadingListItem;
 
             @Override
             protected Void doInBackground() {
                 final ContentResolver contentResolver = getApplicationContext().getContentResolver();
 
                 isBookmark = browserDB.isBookmark(contentResolver, pageURL);
-                isReadingListItem = browserDB.getReadingListAccessor().isReadingListItem(contentResolver, pageURL);
 
                 return null;
             }
 
             @Override
             protected void onPostExecute(Void aVoid) {
                 findViewById(R.id.overlay_share_bookmark_btn).setEnabled(!isBookmark);
-                findViewById(R.id.overlay_share_reading_list_btn).setEnabled(!isReadingListItem);
             }
         }.execute();
     }
 
     /**
      * Helper method to get an overlay service intent populated with the data held in this dialog.
      */
     private Intent getServiceIntent(ShareMethod.Type method) {
@@ -394,23 +378,16 @@ public class ShareDialog extends Locales
         serviceIntent.putExtra(OverlayConstants.EXTRA_PARAMETERS, extraParameters);
 
         startService(serviceIntent);
         animateOut(true);
 
         Telemetry.sendUIEvent(TelemetryContract.Event.SHARE, TelemetryContract.Method.SHARE_OVERLAY, "sendtab");
     }
 
-    public void addToReadingList() {
-        startService(getServiceIntent(ShareMethod.Type.ADD_TO_READING_LIST));
-        animateOut(true);
-
-        Telemetry.sendUIEvent(TelemetryContract.Event.SAVE, TelemetryContract.Method.SHARE_OVERLAY, "reading_list");
-    }
-
     public void addBookmark() {
         startService(getServiceIntent(ShareMethod.Type.ADD_BOOKMARK));
         animateOut(true);
 
         Telemetry.sendUIEvent(TelemetryContract.Event.SAVE, TelemetryContract.Method.SHARE_OVERLAY, "bookmark");
     }
 
     public void launchBrowser() {
--- a/mobile/android/base/java/org/mozilla/gecko/reader/ReadingListHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/reader/ReadingListHelper.java
@@ -1,208 +1,66 @@
 /* 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.reader;
 
 import org.json.JSONException;
 import org.json.JSONObject;
+
+import org.mozilla.gecko.AboutPages;
 import org.mozilla.gecko.EventDispatcher;
 import org.mozilla.gecko.GeckoAppShell;
-import org.mozilla.gecko.GeckoEvent;
 import org.mozilla.gecko.GeckoProfile;
-import org.mozilla.gecko.annotation.RobocopTarget;
-import org.mozilla.gecko.db.BrowserContract.ReadingListItems;
 import org.mozilla.gecko.db.BrowserDB;
-import org.mozilla.gecko.db.ReadingListAccessor;
 import org.mozilla.gecko.favicons.Favicons;
 import org.mozilla.gecko.util.EventCallback;
 import org.mozilla.gecko.util.NativeEventListener;
 import org.mozilla.gecko.util.NativeJSObject;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.util.UIAsyncTask;
 
-import android.content.ContentResolver;
-import android.content.ContentValues;
 import android.content.Context;
-import android.database.ContentObserver;
-import android.database.Cursor;
 import android.util.Log;
 
 public final class ReadingListHelper implements NativeEventListener {
     private static final String LOGTAG = "GeckoReadingListHelper";
 
-    public interface OnReadingListEventListener {
-        void onAddedToReadingList(String url);
-        void onRemovedFromReadingList(String url);
-        void onAlreadyInReadingList(String url);
-    }
-
-    private enum ReadingListEvent {
-        ADDED,
-        REMOVED,
-        ALREADY_EXISTS
-    }
-
     protected final Context context;
     private final BrowserDB db;
-    private final ReadingListAccessor readingListAccessor;
-    private final ContentObserver contentObserver;
-    private final OnReadingListEventListener onReadingListEventListener;
 
-    volatile boolean fetchInBackground = true;
-
-    public ReadingListHelper(Context context, GeckoProfile profile, OnReadingListEventListener listener) {
+    public ReadingListHelper(Context context, GeckoProfile profile) {
         this.context = context;
         this.db = profile.getDB();
-        this.readingListAccessor = db.getReadingListAccessor();
 
         EventDispatcher.getInstance().registerGeckoThreadListener((NativeEventListener) this,
-            "Reader:AddToList", "Reader:UpdateList", "Reader:FaviconRequest");
-
-
-        contentObserver = new ContentObserver(null) {
-            @Override
-            public void onChange(boolean selfChange) {
-                if (fetchInBackground) {
-                    fetchContent();
-                }
-            }
-        };
-
-        this.readingListAccessor.registerContentObserver(context, contentObserver);
-
-        onReadingListEventListener = listener;
+            "Reader:FaviconRequest", "Reader:AddedToCache");
     }
 
     public void uninit() {
         EventDispatcher.getInstance().unregisterGeckoThreadListener((NativeEventListener) this,
-            "Reader:AddToList", "Reader:UpdateList", "Reader:FaviconRequest");
-
-        context.getContentResolver().unregisterContentObserver(contentObserver);
+            "Reader:FaviconRequest", "Reader:AddedToCache");
     }
 
     @Override
     public void handleMessage(final String event, final NativeJSObject message,
                               final EventCallback callback) {
         switch(event) {
-            // Added from web context menu.
-            case "Reader:AddToList": {
-                handleAddToList(callback, message);
-                break;
-            }
-            case "Reader:UpdateList": {
-                handleUpdateList(message);
-                break;
-            }
             case "Reader:FaviconRequest": {
                 handleReaderModeFaviconRequest(callback, message.getString("url"));
                 break;
             }
-        }
-    }
-
-    /**
-     * A page can be added to the ReadingList by long-tap of the page-action
-     * icon, or by tapping the readinglist-add icon in the ReaderMode banner.
-     *
-     * This method will only add new items, not update existing items.
-     */
-    private void handleAddToList(final EventCallback callback, final NativeJSObject message) {
-        final ContentResolver cr = context.getContentResolver();
-        final String url = message.getString("url");
-
-        // We can't access a NativeJSObject from the background thread, so we need to get the
-        // values here, even if we may not use them to insert an item into the DB.
-        final ContentValues values = getContentValues(message);
-
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                if (readingListAccessor.isReadingListItem(cr, url)) {
-                    handleEvent(ReadingListEvent.ALREADY_EXISTS, url);
-                    callback.sendError("URL already in reading list: " + url);
-                } else {
-                    readingListAccessor.addReadingListItem(cr, values);
-                    handleEvent(ReadingListEvent.ADDED, url);
-                    callback.sendSuccess(url);
-                }
-            }
-        });
-    }
-
-    /**
-     * Updates a reading list item with new meta data.
-     */
-    private void handleUpdateList(final NativeJSObject message) {
-        final ContentResolver cr = context.getContentResolver();
-        final ContentValues values = getContentValues(message);
-
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                readingListAccessor.updateReadingListItem(cr, values);
-            }
-        });
-    }
-
-    /**
-     * Creates reading list item content values from JS message.
-     */
-    private ContentValues getContentValues(NativeJSObject message) {
-        final ContentValues values = new ContentValues();
-        if (message.has("id")) {
-            values.put(ReadingListItems._ID, message.getInt("id"));
-        }
-
-        // url is actually required...
-        String url = null;
-        if (message.has("url")) {
-            url = message.getString("url");
-            values.put(ReadingListItems.URL, url);
-        }
-
-        String title = null;
-        if (message.has("title")) {
-            title = message.getString("title");
-            values.put(ReadingListItems.TITLE, title);
-        }
-
-        // TODO: message actually has "length", but that's no use for us. See Bug 1127451.
-        if (message.has("word_count")) {
-            values.put(ReadingListItems.WORD_COUNT, message.getInt("word_count"));
-        }
-
-        if (message.has("excerpt")) {
-            values.put(ReadingListItems.EXCERPT, message.getString("excerpt"));
-        }
-
-        if (message.has("status")) {
-            final int status = message.getInt("status");
-            values.put(ReadingListItems.CONTENT_STATUS, status);
-            if (status == ReadingListItems.STATUS_FETCHED_ARTICLE) {
-                if (message.has("resolved_title")) {
-                    values.put(ReadingListItems.RESOLVED_TITLE, message.getString("resolved_title"));
-                } else {
-                    if (title != null) {
-                        values.put(ReadingListItems.RESOLVED_TITLE, title);
-                    }
-                }
-                if (message.has("resolved_url")) {
-                    values.put(ReadingListItems.RESOLVED_URL, message.getString("resolved_url"));
-                } else {
-                    if (url != null) {
-                        values.put(ReadingListItems.RESOLVED_URL, url);
-                    }
-                }
+            case "Reader:AddedToCache": {
+                // AddedToCache is a one way message: callback will be null, and we therefore shouldn't
+                // attempt to handle it.
+                handleAddedToCache(message.getString("url"), message.getString("path"), message.getInt("size"));
+                break;
             }
         }
-
-        return values;
     }
 
     /**
      * Gecko (ReaderMode) requests the page favicon to append to the
      * document head for display.
      */
     private void handleReaderModeFaviconRequest(final EventCallback callback, final String url) {
         (new UIAsyncTask.WithoutParams<String>(ThreadUtils.getBackgroundHandler()) {
@@ -222,65 +80,43 @@ public final class ReadingListHelper imp
                         Log.w(LOGTAG, "Error building JSON favicon arguments.", e);
                     }
                 }
                 callback.sendSuccess(args.toString());
             }
         }).execute();
     }
 
-    /**
-     * Handle various reading list events (and display appropriate toasts).
-     */
-    private void handleEvent(final ReadingListEvent event, final String url) {
-        ThreadUtils.postToUiThread(new Runnable() {
-            @Override
-            public void run() {
-                switch(event) {
-                    case ADDED:
-                        onReadingListEventListener.onAddedToReadingList(url);
-                        break;
-                    case REMOVED:
-                        onReadingListEventListener.onRemovedFromReadingList(url);
-                        break;
-                    case ALREADY_EXISTS:
-                        onReadingListEventListener.onAlreadyInReadingList(url);
-                        break;
-                }
-            }
-        });
+    private void handleAddedToCache(final String url, final String path, final int size) {
+        final SavedReaderViewHelper rch = SavedReaderViewHelper.getSavedReaderViewHelper(context);
+
+        rch.put(url, path, size);
+    }
+
+    public static void cacheReaderItem(final String url, Context context) {
+        if (AboutPages.isAboutReader(url)) {
+            throw new IllegalArgumentException("Page url must be original (not about:reader) url");
+        }
+
+        SavedReaderViewHelper rch = SavedReaderViewHelper.getSavedReaderViewHelper(context);
+
+        if (!rch.isURLCached(url)) {
+            GeckoAppShell.notifyObservers("Reader:AddToCache", url);
+        }
     }
 
-    private void fetchContent() {
-        ThreadUtils.postToBackgroundThread(new Runnable() {
-            @Override
-            public void run() {
-                final Cursor c = readingListAccessor.getReadingListUnfetched(context.getContentResolver());
-                if (c == null) {
-                    return;
-                }
-                try {
-                    while (c.moveToNext()) {
-                        JSONObject json = new JSONObject();
-                        try {
-                            json.put("id", c.getInt(c.getColumnIndexOrThrow(ReadingListItems._ID)));
-                            json.put("url", c.getString(c.getColumnIndexOrThrow(ReadingListItems.URL)));
-                            GeckoAppShell.notifyObservers("Reader:FetchContent", json.toString());
-                        } catch (JSONException e) {
-                            Log.e(LOGTAG, "Failed to fetch reading list content for item");
-                        }
-                    }
-                } finally {
-                    c.close();
-                }
-            }
-        });
-    }
+    public static void removeCachedReaderItem(final String url, Context context) {
+        if (AboutPages.isAboutReader(url)) {
+            throw new IllegalArgumentException("Page url must be original (not about:reader) url");
+        }
+
+        SavedReaderViewHelper rch = SavedReaderViewHelper.getSavedReaderViewHelper(context);
 
-    @RobocopTarget
-    /**
-     * Test code will want to disable background fetches to avoid upsetting
-     * the test harness. Call this by accessing the instance from BrowserApp.
-     */
-    public void disableBackgroundFetches() {
-        fetchInBackground = false;
+        if (rch.isURLCached(url)) {
+            GeckoAppShell.notifyObservers("Reader:RemoveFromCache", url);
+        }
+
+        // When removing items from the cache we can probably spare ourselves the async callback
+        // that we use when adding cached items. We know the cached item will be gone, hence
+        // we no longer need to track it in the SavedReaderViewHelper
+        rch.remove(url);
     }
 }
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/java/org/mozilla/gecko/reader/SavedReaderViewHelper.java
@@ -0,0 +1,205 @@
+/* -*- 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.reader;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.util.Log;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.mozilla.gecko.GeckoProfile;
+import org.mozilla.gecko.annotation.RobocopTarget;
+import org.mozilla.gecko.db.UrlAnnotations;
+import org.mozilla.gecko.util.ThreadUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Helper to keep track of items that are stored in the reader view cache. This is an in-memory list
+ * of the reader view items that are cached on disk. It is intended to allow quickly determining whether
+ * a given URL is in the cache, and also how many cached items there are.
+ *
+ * Currently we have 1:1 correspondence of reader view items (in the URL-annotations table)
+ * to cached items. This is _not_ a true cache, we never purge/cleanup items here - we only remove
+ * items when we un-reader-view/bookmark them. This is an acceptable model while we can guarantee the
+ * 1:1 correspondence.
+ *
+ * It isn't strictly necessary to mirror cached items in SQL at this stage, however it seems sensible
+ * to maintain URL anotations to avoid additional DB migrations in future.
+ * It is also simpler to implement the reading list smart-folder using the annotations (even if we do
+ * all other decoration from our in-memory cache record), as that is what we will need when
+ * we move away from the 1:1 correspondence.
+ *
+ * Bookmarks can be in one of two states - plain bookmark, or reader view bookmark that is also saved
+ * offline. We're hoping to introduce real cache management / cleanup in future, in which case a
+ * third user-visible state (reader view bookmark without a cache entry) will be added. However that logic is
+ * much more complicated and requires substantial changes in how we decorate reader view bookmarks.
+ * With the current 1:1 correspondence we can use this in-memory helper to quickly decorate
+ * bookmarks (in all the various lists and panels that are used), whereas supporting
+ * the third state requires significant changes in order to allow joining with the
+ * URL-annotations table wherever bookmarks might be retrieved (i.e. multiple homepanels, each with
+ * their own loaders and adapter).
+ *
+ * If/when cache cleanup and sync are implemented, URL annotations will be the canonical record of
+ * user intent, and the cache will no longer represent all reader view bookmarks. We will have (A)
+ * cached items that are not a bookmark, or bookmarks without the reader view annotation (both of
+ * these would need purging), and (B) bookmarks with a reader view annotation, but not stored in
+ * the cache (which we might want to download in the background). Supporting (B) is currently difficult,
+ * see previous paragraph.
+ */
+public class SavedReaderViewHelper {
+    private static final String LOG_TAG = "SavedReaderViewHelper";
+
+    private static final String PATH = "path";
+    private static final String SIZE = "size";
+
+    private static final String DIRECTORY = "readercache";
+    private static final String FILE_NAME = "items.json";
+    private static final String FILE_PATH = DIRECTORY + "/" + FILE_NAME;
+
+    // We use null to indicate that the cache hasn't yet been loaded. Loading has to be explicitly
+    // requested by client code, and must happen on the background thread. Attempting to access
+    // items (which happens mainly on the UI thread) before explicitly loading them is not permitted.
+    private JSONObject mItems = null;
+
+    private final Context mContext;
+
+    private static SavedReaderViewHelper instance = null;
+
+    private SavedReaderViewHelper(Context context) {
+        mContext = context;
+    }
+
+    public static synchronized SavedReaderViewHelper getSavedReaderViewHelper(final Context context) {
+        if (instance == null) {
+            instance = new SavedReaderViewHelper(context);
+        }
+
+        return instance;
+    }
+
+    /**
+     * Load the reader view cache list from our JSON file.
+     *
+     * Must not be run on the UI thread due to file access.
+     */
+    public synchronized void loadItems() {
+        ThreadUtils.assertNotOnUiThread();
+
+        if (mItems != null) {
+            return;
+        }
+
+        try {
+            mItems = GeckoProfile.get(mContext).readJSONObjectFromFile(FILE_PATH);
+        } catch (IOException e) {
+            mItems = new JSONObject();
+        }
+    }
+
+    private synchronized void assertItemsLoaded() {
+        if (mItems == null) {
+            throw new IllegalStateException("SavedReaderView items must be explicitly loaded using loadItems() before access.");
+        }
+    }
+
+    private JSONObject makeItem(@NonNull String path, long size) throws JSONException {
+        final JSONObject item = new JSONObject();
+
+        item.put(PATH, path);
+        item.put(SIZE, size);
+
+        return item;
+    }
+
+    public synchronized boolean isURLCached(@NonNull final String URL) {
+        assertItemsLoaded();
+        return mItems.has(URL);
+    }
+
+    /**
+     * Insert an item into the list of cached items.
+     *
+     * This may be called from any thread.
+     */
+    public synchronized void put(@NonNull final String pageURL, @NonNull final String path, final long size) {
+        assertItemsLoaded();
+
+        try {
+            mItems.put(pageURL, makeItem(path, size));
+        } catch (JSONException e) {
+            Log.w(LOG_TAG, "Item insertion failed:", e);
+            // This should never happen, absent any errors in our own implementation
+            throw new IllegalStateException("Failure inserting into SavedReaderViewHelper json");
+        }
+
+        ThreadUtils.postToBackgroundThread(new Runnable() {
+            @Override
+            public void run() {
+                UrlAnnotations annotations = GeckoProfile.get(mContext).getDB().getUrlAnnotations();
+                annotations.insertReaderViewUrl(mContext.getContentResolver(), pageURL);
+
+                commit();
+            }
+        });
+    }
+
+    protected synchronized void remove(@NonNull final String pageURL) {
+        assertItemsLoaded();
+
+        mItems.remove(pageURL);
+
+        ThreadUtils.postToBackgroundThread(new Runnable() {
+            @Override
+            public void run() {
+                UrlAnnotations annotations = GeckoProfile.get(mContext).getDB().getUrlAnnotations();
+                annotations.deleteReaderViewUrl(mContext.getContentResolver(), pageURL);
+
+                commit();
+            }
+        });
+    }
+
+    @RobocopTarget
+    public synchronized int size() {
+        assertItemsLoaded();
+        return mItems.length();
+    }
+
+    private synchronized void commit() {
+        ThreadUtils.assertOnBackgroundThread();
+
+        GeckoProfile profile = GeckoProfile.get(mContext);
+        File cacheDir = new File(profile.getDir(), DIRECTORY);
+
+        if (!cacheDir.exists()) {
+            Log.i(LOG_TAG, "No preexisting cache directory, creating now");
+
+            boolean cacheDirCreated = cacheDir.mkdir();
+            if (!cacheDirCreated) {
+                throw new IllegalStateException("Couldn't create cache directory, unable to track reader view cache");
+            }
+        }
+
+        profile.writeFile(FILE_PATH, mItems.toString());
+    }
+
+    /**
+     * Return the Reader View URL for a given URL if it is contained in the cache. Returns the
+     * plain URL if the page is not cached.
+     */
+    public static String getReaderURLIfCached(final Context context, @NonNull final String pageURL) {
+        SavedReaderViewHelper rvh = getSavedReaderViewHelper(context);
+
+        if (rvh.isURLCached(pageURL)) {
+            return ReaderModeUtils.getAboutReaderForUrl(pageURL);
+        } else {
+            return pageURL;
+        }
+    }
+}
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -19,16 +19,20 @@
 <!ENTITY firstrun_sync_subtext "Sync your tabs, passwords, and more everywhere you use it.">
 <!ENTITY firstrun_signin_message "Get connected, get started">
 <!ENTITY firstrun_signin_button "Sign in to Sync">
 <!ENTITY  onboard_start_button_browser "Start Browsing">
 <!ENTITY firstrun_button_next "Next">
 
 <!ENTITY  onboard_start_restricted1 "Stay safe and in control with this simplified version of &brandShortName;.">
 
+<!ENTITY  reading_list_migration_title "Reading List connected">
+<!ENTITY  reading_list_migration_subtext "Your Reading List items will now be added to your Bookmarks">
+<!ENTITY  reading_list_migration_goto_bookmarks "Go to Bookmarks">
+
 <!-- Localization note: These are used as the titles of different pages on the home screen.
      They are automatically converted to all caps by the Android platform. -->
 <!ENTITY  bookmarks_title "Bookmarks">
 <!ENTITY  history_title "History">
 <!ENTITY  reading_list_title "Reading List">
 <!ENTITY  recent_tabs_title "Recent Tabs">
 
 <!ENTITY  switch_to_tab "Switch to tab">
@@ -58,16 +62,17 @@
 <!ENTITY bookmark_removed "Bookmark removed">
 <!ENTITY bookmark_updated "Bookmark updated">
 <!ENTITY bookmark_options "Options">
 <!ENTITY screenshot_added_to_bookmarks "Screenshot added to bookmarks">
 <!-- Localization note (screenshot_folder_label_in_bookmarks): We save links to screenshots
      the user takes. The folder we store these links in is located in the bookmarks list
      and is labeled by this String. -->
 <!ENTITY screenshot_folder_label_in_bookmarks "Screenshots">
+<!ENTITY readinglist_smartfolder_label_in_bookmarks "Reading List">
 
 <!ENTITY history_today_section "Today">
 <!ENTITY history_yesterday_section "Yesterday">
 <!ENTITY history_week_section3 "Last 7 days">
 <!ENTITY history_older_section3 "Older than 6 months">
 
 <!ENTITY search "Search">
 <!ENTITY reload "Reload">
@@ -119,19 +124,17 @@
      in Android's intent chooser when sending a link to Firefox to bookmark,
      send to another device, or add to Reading List. -->
 <!ENTITY overlay_share_label "Add to &brandShortName;">
 
 <!-- Localization note (overlay_share_bookmark_btn_label) : This string is
      used in the share overlay menu to select an action. It is the verb
      "to bookmark", not the noun "a bookmark". -->
 <!ENTITY overlay_share_bookmark_btn_label "Bookmark">
-<!ENTITY overlay_share_reading_list_btn_label "Add to Reading List">
 <!ENTITY overlay_share_bookmark_btn_label_already "Already bookmarked">
-<!ENTITY overlay_share_reading_list_btn_label_already "Already in Reading List">
 <!ENTITY overlay_share_send_other "Send to other devices">
 
 <!-- Localization note (overlay_share_send_tab_btn_label) : Used on the
      share overlay menu to represent the "Send Tab" action when the user
      either has not set up Sync, or has no other devices to send a tab
      to. -->
 <!ENTITY overlay_share_send_tab_btn_label "Send to another device">
 <!ENTITY overlay_share_no_url "No link found in this share">
@@ -445,18 +448,16 @@ size. -->
 <!ENTITY contextmenu_copyurl "Copy Address">
 <!ENTITY contextmenu_edit_bookmark "Edit">
 <!ENTITY contextmenu_subscribe "Subscribe to Page">
 <!ENTITY contextmenu_site_settings "Edit Site Settings">
 <!ENTITY contextmenu_top_sites_edit "Edit">
 <!ENTITY contextmenu_top_sites_pin "Pin Site">
 <!ENTITY contextmenu_top_sites_unpin "Unpin Site">
 <!ENTITY contextmenu_add_search_engine "Add a Search Engine">
-<!ENTITY contextmenu_mark_read "Mark as read">
-<!ENTITY contextmenu_mark_unread "Mark as unread">
 
 <!-- Localization note (doorhanger_login_no_username): This string is used in the save-login doorhanger
      where normally a username would be displayed. In this case, no username was found, and this placeholder
      contains brackets to indicate this is not actually a username, but rather a placeholder -->
 <!ENTITY doorhanger_login_no_username "[No username]">
 <!ENTITY doorhanger_login_edit_title "Edit login">
 <!ENTITY doorhanger_login_edit_username_hint "Username">
 <!ENTITY doorhanger_login_edit_password_hint "Password">
@@ -492,25 +493,16 @@ size. -->
 <!ENTITY bookmark_edit_keyword "Keyword">
 
 <!-- Localization note (site_settings_*) : These strings are used in the "Site Settings"
      dialog that appears after selecting the "Edit Site Settings" context menu item. -->
 <!ENTITY site_settings_title3       "Site Settings">
 <!ENTITY site_settings_cancel       "Cancel">
 <!ENTITY site_settings_clear        "Clear">
 
-<!-- Localization note (reading_list_added3) : Used in a toast, please keep as short
-     as possible. -->
-<!ENTITY reading_list_added3 "Added to Reading List">
-<!ENTITY reading_list_removed "Page removed from your Reading List">
-<!-- Localization note (reading_list_remove) : Used to remove the currently open page from
-     the user's reading list. The opposite of overlay_share_reading_list_btn_label. -->
-<!ENTITY reading_list_remove "Remove from Reading List">
-<!ENTITY reading_list_duplicate "Page already in your Reading List">
-
 <!-- Localization note : These strings are used as alternate text for accessibility.
      They are not visible in the UI. -->
 <!ENTITY page_action_dropmarker_description "Additional Actions">
 
 <!ENTITY masterpassword_create_title "Create Master Password">
 <!ENTITY masterpassword_remove_title "Remove Master Password">
 <!ENTITY masterpassword_password "Password">
 <!ENTITY masterpassword_confirm "Confirm password">
@@ -541,17 +533,16 @@ size. -->
 <!ENTITY home_last_tabs_title "Tabs from last time">
 <!ENTITY home_last_tabs_empty "Your recent tabs show up here.">
 <!ENTITY home_open_all "Open all">
 <!ENTITY home_most_recent_empty "Websites you visited most recently show up here.">
 <!ENTITY home_selected_empty "Websites you visited in the selected timeframe show up here.">
 <!-- Localization note (home_most_recent_emptyhint2): "Psst" is a sound that might be used to attract someone's attention unobtrusively, and intended to hint at Private Browsing to the user.
      The placeholders &formatS1; and &formatS2; are used to mark the location of text underlining. -->
 <!ENTITY home_most_recent_emptyhint2 "Psst: using a &formatS1;New Private Tab&formatS2; won\'t save your history.">
-<!ENTITY home_reading_list_empty "Articles you save for later show up here.">
 
 <!-- Localization note (home_default_empty): This string is used as the default text when there
      is no data to show in an about:home panel that was created by an add-on. -->
 <!ENTITY home_default_empty "No content could be found for this panel.">
 
 <!-- Localization note (home_back_up_to_filter): The variable is replaced by the name of the
      previous location in the navigation, such as the previous folder -->
 <!ENTITY home_move_back_to_filter "Back to &formatS;">
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -217,27 +217,24 @@ gbjar.sources += ['java/org/mozilla/geck
     'db/BaseTable.java',
     'db/BrowserDatabaseHelper.java',
     'db/BrowserDB.java',
     'db/BrowserProvider.java',
     'db/DBUtils.java',
     'db/FormHistoryProvider.java',
     'db/HomeProvider.java',
     'db/LocalBrowserDB.java',
-    'db/LocalReadingListAccessor.java',
     'db/LocalSearches.java',
     'db/LocalTabsAccessor.java',
     'db/LocalUrlAnnotations.java',
     'db/LocalURLMetadata.java',
     'db/LoginsProvider.java',
     'db/PasswordsProvider.java',
     'db/PerProfileDatabaseProvider.java',
     'db/PerProfileDatabases.java',
-    'db/ReadingListAccessor.java',
-    'db/ReadingListProvider.java',
     'db/RemoteClient.java',
     'db/RemoteTab.java',
     'db/Searches.java',
     'db/SearchHistoryProvider.java',
     'db/SharedBrowserDatabaseProvider.java',
     'db/SQLiteBridgeContentProvider.java',
     'db/StubBrowserDB.java',
     'db/SuggestedSites.java',
@@ -416,17 +413,16 @@ gbjar.sources += ['java/org/mozilla/geck
     'home/PanelListView.java',
     'home/PanelRecyclerView.java',
     'home/PanelRecyclerViewAdapter.java',
     'home/PanelRefreshLayout.java',
     'home/PanelViewAdapter.java',
     'home/PanelViewItemHandler.java',
     'home/PinSiteDialog.java',
     'home/ReadingListPanel.java',
-    'home/ReadingListRow.java',
     'home/RecentTabsPanel.java',
     'home/RemoteTabsBaseFragment.java',
     'home/RemoteTabsExpandableListFragment.java',
     'home/RemoteTabsExpandableListState.java',
     'home/RemoteTabsPanel.java',
     'home/RemoteTabsSplitPlaneFragment.java',
     'home/RemoteTabsStaticFragment.java',
     'home/SearchEngine.java',
@@ -470,17 +466,16 @@ gbjar.sources += ['java/org/mozilla/geck
     'notifications/WhatsNewReceiver.java',
     'NotificationService.java',
     'NSSBridge.java',
     'OrderedBroadcastHelper.java',
     'overlays/OverlayConstants.java',
     'overlays/service/OverlayActionService.java',
     'overlays/service/ShareData.java',
     'overlays/service/sharemethods/AddBookmark.java',
-    'overlays/service/sharemethods/AddToReadingList.java',
     'overlays/service/sharemethods/SendTab.java',
     'overlays/service/sharemethods/ShareMethod.java',
     'overlays/ui/OverlayDialogButton.java',
     'overlays/ui/SendTabDeviceListArrayAdapter.java',
     'overlays/ui/SendTabList.java',
     'overlays/ui/SendTabTargetSelectedListener.java',
     'overlays/ui/ShareDialog.java',
     'permissions/PermissionBlock.java',
@@ -520,16 +515,17 @@ gbjar.sources += ['java/org/mozilla/geck
     'prompts/Prompt.java',
     'prompts/PromptInput.java',
     'prompts/PromptListAdapter.java',
     'prompts/PromptListItem.java',
     'prompts/PromptService.java',
     'prompts/TabInput.java',
     'reader/ReaderModeUtils.java',
     'reader/ReadingListHelper.java',
+    'reader/SavedReaderViewHelper.java',
     'RemoteClientsDialogFragment.java',
     'RemoteTabsExpandableListAdapter.java',
     'Restarter.java',
     'restrictions/DefaultConfiguration.java',
     'restrictions/GuestProfileConfiguration.java',
     'restrictions/Restrictable.java',
     'restrictions/RestrictedProfileConfiguration.java',
     'restrictions/RestrictionCache.java',
deleted file mode 100644
--- a/mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_add.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?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/. -->
-
-<!-- Note: After removing all MDPI assets, the reader icons were being resolved
-           incorrectly for MDPI-V11 devices because of the way we use dummy
-           resources to cater for API 9 builds.  To fix we renamed the HDPI-V11
-           reader resources and point to them in the HDPI-V11 and MDPI-V11
-           drawable folders.  See Bug 1179758 for more info. -->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_menu_reader_add_asset" />
deleted file mode 100644
index bb4242271acdec96bc88e28c9127620f2466eaa1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mobile/android/base/resources/drawable-hdpi-v11/ic_menu_reader_remove.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?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/. -->
-
-<!-- Note: After removing all MDPI assets, the reader icons were being resolved
-           incorrectly for MDPI-V11 devices because of the way we use dummy
-           resources to cater for API 9 builds.  To fix we renamed the HDPI-V11
-           reader resources and point to them in the HDPI-V11 and MDPI-V11
-           drawable folders.  See Bug 1179758 for more info. -->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_menu_reader_remove_asset" />
deleted file mode 100644
index 73d9061317fbb769ee2666d68eb2d69aaf50a10b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e4c59010195c340c3d00b1933b17029ec7771916..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e40cd0c09ac3adb08f8d5f3b27f75b5342582b4d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 90402468bfe34e16eb245d6d0f55d3f921bc32cc..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..69af116f2e23546f55ff9704d19268c7ea124f1d
GIT binary patch
literal 2906
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
Ef~B0HDgXcg
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..34139ebc62a18f32470608a160feb219efa5dd7d
GIT binary patch
literal 598
zc$@)N0;&CpP)<h;3K|Lk000e1NJLTq000yK000^Y1^@s6w}X6r00001b5ch_0Itp)
z=>Px%5J^NqR7ef&R6S@EK^T4C+$HLI*hoM@35ix(YAZspv$2sF1wk|#ECdBBu~AU0
z?BYh!BuyZlbs(ZxY9k0i%*h#%AP5>Shhf(nzc=gtxOaPd*a?2HJKy)d_ulNz?2e!;
z=GS+k*_v>)nzw-Sdp3JXs=b=7*V??M<GtVckdF6VUT`x7cnVuXlPI!zjOE61!<?Y3
z{Fe-8K6z!YQ`paFqgQ@Zzm4{f4NTV;@zj>@eC$jvHPq5W!(h5`1lHcss{+{5SgFrz
zUcR>Etkmb6hFW^~jY9@I+N*%PjVFc01pN1YQWquUSe#AU>M`K08C)3oitXD@sA(f<
zT004U^<h%y6ZXhSLbdd`IP_f-Y<BG+g5bFl_a>OgU7e@~+rI8FF*=EDD#xu?#FKRl
z4jjX!{qI<(hO8bp4kP^eOhvm{x)6NSSKHT-N5B_UE5~tp_)SF48xrLvAzapMS4=7x
zH-PFGt`5J-_B(fzgbGeVq?IN9k+Vlm&WxN+L!ws>ywJrsrP&tCTx_`>IbEW=A&FC?
zOE6|!voNCz9mZZk6dO`7HS$EC=8P^i57j12W!zx}X8ps9pKIXtKf0|z`lt9Gj=}~v
zV5R@#i;iLgROJCCM_;o{#qHph*81&P;{6Bdq0^kBDD&Bf{z`ux-(qF@gyP+Vv|j2-
kl43Ed=O_WZ!G)Oe3+%C`L%nNmj{pDw07*qoM6N<$g3>b__5c6?
deleted file mode 100644
--- a/mobile/android/base/resources/drawable-mdpi-v11/ic_menu_reader_add.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?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/. -->
-
-<!-- Note: After removing all MDPI assets, the reader icons were being resolved
-           incorrectly for MDPI-V11 devices because of the way we use dummy
-           resources to cater for API 9 builds.  To fix we renamed the HDPI-V11
-           reader resources and point to them in the HDPI-V11 and MDPI-V11
-           drawable folders.  See Bug 1179758 for more info. -->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_menu_reader_add_asset" />
deleted file mode 100644
--- a/mobile/android/base/resources/drawable-mdpi-v11/ic_menu_reader_remove.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?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/. -->
-
-<!-- Note: After removing all MDPI assets, the reader icons were being resolved
-           incorrectly for MDPI-V11 devices because of the way we use dummy
-           resources to cater for API 9 builds.  To fix we renamed the HDPI-V11
-           reader resources and point to them in the HDPI-V11 and MDPI-V11
-           drawable folders.  See Bug 1179758 for more info. -->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-        android:src="@drawable/ic_menu_reader_remove_asset" />
deleted file mode 100644
index 6f41f850a03de762a8d7677c3bc383b656e8e4e8..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 868a881eb337ea7b2643f5e7bd85f0fee11c6c72..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8ede346e003b7bad99721c40f63568b58f579c07..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 778fdf39b3467cbea0609ea35bc39e77697b3fab..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8b57ad9fb0a4247c7b4553c9c84b8396963cc772..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cab7f2a3602653ecf593bec66fdbb4f562b75e6f
GIT binary patch
literal 6208
zc$@)17{BL<P)<h;3K|Lk000e1NJLTq00AQa002-31^@s6QsEQ!00001b5ch_0Itp)
z=>Py1`bk7VRCodHoe7v!)s@H3t!{Q)SOo>48^MK$8;C(fa6yH*Oq?*Eam6UmsADun
z{WN2uMl+5&8b_OM;>zb_+@f(Zqa-wof>DBwilR{h-5{WX#03Nz=z8-zuez$MyQ`|}
z)qAxy_kQ2y-FM%;=brm7-oMX1cX>u^un1TL+Ajjtt0qf>xl@c&CSn#4e=HScb%oer
zQ;14goh$+tfdCMgRre3#gr5^}LQT@l8tGz=lc{B&HRTmXDo)A5P{?Xw5wHjZfWVWR
z_ZDfG-JFP2t}{q>gzpWYg}_BvG7210E6^fP00?aP`Z{r>cVbP<c{029$i&a`mutx=
zf7siWEdtp=K&>K2u1YH0af~!LzexH#PY)~^<q3G(tVJMe2z>MPl?=!BO)1}T&X(%B
zqf?g2@k2{SIR@M|XA#IM0@WM3GIMrKT5W{Gx29DtM};gI<p^loj71<P2!yv!Pwp#f
zp@HLkPiC(g)gm`<x0a0Z2EA?AA`mbFFFBpWG1qyL+8_mE9a%E+^vl`87J&jrU~S!0
zd`0_v($JAJq_XxnPj#|X*pg9}fVE;R0y#xsp;Ic3b3<lrIt5`JSu)D(*R!=O0)>UZ
zU+XS_j0R_>lrvFg*Nw@nZg90M83l)>m1Ggf4+4&E_i%3X)p$e0ZNBOUP}!1E03ccs
z7J<AXP+j)}tfGT`>EOu8Qn~sBUow1Fwq)cJKwI4+kXHnBHFemzDG(iu<kdQ|WE9A+
zXoXk=@`S*w+A|rVjR>T5#~ClPYR3m6D+3{=8Pv&373VS8SGLJf5@Jc$A+p3wkllGv
z#5QUXC?o`o+{_yhU~p&FP7F|B+M-O_C39TRc}6<Q7xG;(a;k*o6s{uyy~I_+$Oqg{
zG!?Qw$7<Q;ECPjtK-FsA4d+jRD-<d{MP>||AGq8$1QwKK<W$SyF7Y@J&?Xs&?%iUn
zAJ6`d97g^xdCnp)8!Q5QC<0-uqHF|bx2`+NIT_{EGID0g0g%cm#8c_~Da8FeV7paH
zrKg!LyFApfMJ)pD1A*#QW2HeBXRR|O<}{gJ9=z3+LgAcRMp!-_0B|DYGqG{_b!ZCR
znm;nsa;Pm(P$YEcPM5J~?+0mYs1PrX<CH94zP$5}9XmQVG&FSP-i@Tgp-`y4q@<)?
zLx&C>>U;F)Q9pe6@STO&535s#2!zega9n3tIgM&zch6c*$tWk55&oa<_<wEzyGwwf
zPa04}i>xD2gVVYO3aY^dx*Hi6Mjt|Gx0#vp^VoemNGx5twAc3S+lN6eLyR%~x$ehR
zEyjLCy=v@1eh02zLIZL(QSWoE8>#p?(Y<oNCL9ib)U#*Ll}8+L#J66A+Ol~-pla<%
z3GZ5#{gz86$;`noXTP0D3t1;4=V3WWcFJ5xWJsHxGO~p-i-_|mUt_M2598}Fth*4O
z(ww-w*C{h5?!IV}uf6u#pxwK7AA`b&LJ-5ax{-9xe02g+(m%C2Dey7zBjSfxSbyo)
zuiraEhYqdh-iAUzpmNm<sBupARWZwCX8Ez%Zzs}%Z!&Uz!(ZxMIGY_Aj>v<sR<@9S
z5Bq11{D8^$N>K(+cB0&F$}c6(qf8A`_DfSu*)z=R&xHPli0b^y;hC~GexnQIn^;}}
zCLo@^5YI?d8-)cjikE&Aq|>(mRZXZ8`sxtxU9L;fe<|rVCQO*{w}gdlX7&(x#wn4_
zbtf=9TfmBI-|uc(iW+l~gvy?h=_c#GS<fAU5V}G(<DdbZZdb?i;oK*Z^Etz-o3Laa
zY1U~Yf9L*b>bxwSWs&)jYYjCklIq5JNZ#kU5?>^g$T?<)ycoSLglpqa>m+nhr~D}p
zPkGRKK@4H!Zb$A8joe4mCER!7Sts&3HKsf2l^9q+_9qCN%XMzIZr$dO969pqz=T^t
z!jZ83MZ!9}d^m6r9im|t+3B2fcns!-V|0|V+>OR8mk@FK;7^0pB@u}<lkYfCN~Ijr
zNIXhDV;~a!&+RpALdLZ+Se`YLBx94Gq1yfYKv%~aH}VjEBhLKIUs$+sVP~Ai;~)Sf
zpOcA4k!};)L>lvQZ=>!?t~yj&$Mtip5%uqUMjPty`K(v3UYor-q*tt1(Q)I(jeSc?
zOZUUc-4{81X-EB0{gFSEs}2*($cs)8BvLP79(8pA>g&Y0$bWI{*s&`T7POhI5qM<N
zUQ)kxI7h|mAN9j|M<Q2odbKWGU^xa)uo9F}k_s)CFtK;&1DP^V|1f$E311kjpCMR2
zN<8{<odifdJWGzRVDSBv$jMB@`({$7QYNF%|HQ-_`3N#PBzB*p1O(I_a+u7^doFPj
z&35zBG%xU0>b*sscSwJPtdF_>c-**gN<dkhCP}X4n{U3^f!VoohLlQ7hoH|f=rWq?
z;N-PhKcUWY;%_0Qr;b1V_%*Fd?14FY-q1&D!4+%AQ7fmBbPRu<GyKC<kSH3XGu|tS
zjaC%bQsQOhZT>%S$q4JmNEI)6Sk5AKDlhxsv^%PP8<DrDvltud17y^4ujHlQWtxG!
z-sB&}Q0iUoeTT-Gxxdq1hd5ye;>gxvLsrA$#fy7jMV!gYc`gl2<eHYr%!}#zT&S~*
zI?I@DU&c%NA^G8~Djbk-^?B{wx${^EQ;BIbVvpzAwJq`Vk7CZBm6*D8>GJgG(W5uF
zRi|A%S8He2wqyC4>oG3zsI?=`q5PlCWJJ*}Ab|(IrvLAW4)KIog0Fbr!SBfwm%Q9Q
z8s{Z^33d2y9GT#u*MCEJ4Rz+>L0Vv@%2$c%Vqxur!}%_VVn(9pndV^~y-M3S@*0DY
zOR<g~i{57AiY0UpFV#Qua>bKi!loKY<{ci^XzbXr<B~CB#$;r=CTt+jnJZVW?6iLU
zdL5RYhAO8Mn|ydlbORIhZ9T>8+=C~aaDrNd?Jqp~X&<TI_HT6Thy4HCbBQP2U)C5#
zO3vLfqx^nI$}zmyR{`7uZPeGlX!Egf^yQkzp0K($%4hX4exrZE0=q4)k^h45ei(Nj
zXmZh_Mc>uG@Tr9IvVB6Cm$=Ty3RtkmSOI|Y$}6u7#9~xp`bYYIGB~94J5lBh;)A_=
z_kPx^?<>`Bkk@C`tM-uw^ENM6Szh%h#>S0QOT~~GhS@2d?YgvCAB;OgvxK}F%&B=Y
zP2M)T0=htgQ^f|_25BM(!{WUP>6a}X8J>;CkMc%>?yusd`W?fU-|^Re8R>$-D1ojy
z$$ItGSNlLlQy{1Fz+(()*A<YYadpT))V+K62a0|+u5$HF5YZh;`f0P<LLk&}n3B;i
zDEITYvO4rSi=mgA)t-Xud#aWZ4B<8g;jB*9IDVrN{P>%p$9-aDO616({8BNQaS5!W
zd%3-gxQ6(9h8s#if%w7VnrT-_UD%1QNlEE)NGa*^2A=CM|2|0R*QrPec|-W4a2>J^
zp!~}xo_Jz4bqmAqHfz;m{C~WpUHyQ$>`bU+vca!27QfEoSi43(#s9K@?7oczWHu1;
ziEMT?Olv!$i}`L~*ra3UtOeTrJ;Kk9Yv8A}c~9KEO%@0OkVgpX@(ipcU4n61GHXdm
ziFiNjmhNv!N?2SYsK1E1v6)@UJ_jL9;hKMow6gXFX3GAxKp-zdHA;sl8Fhe+bRlB*
zSPweLcg!?NxK_k@k~Pm;adt-+Jvwr5tX?#Ma~nd_r2$zB_`0ru_#TWkVC0Xqsm@dz
z3K#+WOG8m_Cd4w8Ym;Rgr?Zk0q;uDR0R!&SZ790rV9S;*_+wf-$|-y8`0?ZKi>scW
z<gCy5BfPDa*|Roh8S|rH0k>+HK&u!s$sN!0V*h~``+G5Uja<WveSh@6@u-h!lsOeE
zh$%~kNr}T>$*!TyOVockagktho!RW=+U4$_iU>4pJsHf_5FZOFgVD@NNe6)?OP1`#
zkn1W)=UU1qTi~~f;qXr&u5!x#dlI?dvQ*+Q7Fw=N@;rChRkc$k9DX!+4Yr4t%w}fN
zMoL9lU4)Dta#u9R$Okg{U&tgzPLS2X5Rej0%kVj6=aX53eKpTqF6&wr$mTtItwpba
zac!K$P;Ft{y-gN40*$0}C1mpxR82@qSU<aXo^(kC&;NjRbXGxhwQ`jX)flqb&^7|@
z7N*nKjO)6IB4kv>$%zfkhGne|E^}Xe{m<gC#z&|4b&XMlyqB#RthPJC+(pZoKqJ3`
zM48pFq1X`67449UT1rVtDOI1C(L5Lb(etUw<m_41>IXRv_KKXfSDX#iONluv{s1?Z
zjI=Mj*z378Ij)V2<He3Swq5I}x73;`90-ykxIU=Jp=Tqg|4@pez8^8ge;y?I+n69D
z%V;xaM;^r5wTZwG&{gj2ox2r*6%bRY2f^zZt{uv7ZHtFG*(s{a8LH|YW(9WhB{SJ+
ztr(@Um(iSyMfBhC$~Tcwr96SPb5Y#G+ZpoQ5_g|8iT`FePH=Tt>#W*|T)Q)TQ_oUg
zrue@|TG8hNd|7>I<uhWmA7R#$_c52b4tbx_ZS{O2!0g#!kkMlNMLpBi1Iy|GhHF=+
zTRyAh^eeAbtDofm=6P9dr`Uw+-Zf*+ml<VGw^Th8%h2r|@gZ_NNPJE#jrG$XBDfH1
zX%2A%j^y_N{XXJk3Pon+lpuDyJJ@6Of=;j!d?PZK$H@)R=1Fn)Hd&+yU>zOig@_uv
zc_qU=JvS=<LDxSWQm%j8bqR_Mih#QW15+UZ5$WS5GKy^V(7b3E1?e=KdWCqdWjOaf
zFZ>3!W6XhkE+lg9N@LJXvqt`c)H{e1IAHCC=%XxN^<cK9pi2&HC~5?B?;BRm-CjF^
zB^9DxHP>Xby<SE7D?fpwReG2I6K~;Me}dXeZTx5zWsfK8O^l4(71PE&xGYju2U!ge
zN_=o!pHj<Bk-BNNiel$V7wL`9W;7Pd&xniK@-M}U&N!`(^!Sj%qKhwP(}jz`h7B9e
zhfoG*q9OH;W-U|UIFF}rVngo^-^VIglu3WuO&w#dV=d9FRQ-vOQDdRzL$%0xMoslY
z?u)ORW}kt8F30*Q!>=?H0;=HpJX=V<YAT$gR3F#L-gH=-Bjp^0Tb85NZ8KRw07B7C
zw|>ISx=_-OfI#c&VPn0zp9vwo9;n=65oXLSQc<qksZxgKvlU7<4f5kyjmY=RVz(Rw
zqE<+swx;vlGlw?Ic*?3n`!&ew*(M>urm()YGkkoFc20^(-sSqL9**7HM6n^z@{gn^
z{UNiyTeogKl1j@wRm^7LDSfv}^{O*)Z*YEf(lg<+sX@ME-vtrfo=)S<$*3o5h`!MC
zZes_R4Z}w?5Ub}C6$S}~6A5(|a+cc%OsPlrsBLn;XBL%xAaw#KBX<UG7i1UN57%-!
ze^4SlZC-I80GT|3@8=w@(f>o96{r4I&y})WVfv7-<%x9@<=gsKXli)2o6Em^^B+v#
z-<Yl*(JAp*dB{hB8W+n5$&c{=JQ}-iOkj;13=#0HZ`WZwf$Y6omT~Wmti&=JmhhQ}
zOy@Da8@7Y?qF<klcbvDB6OyaYxoO{8%jfpK;1R&@Gl|(WUBIfdW1Z4f7!uM=v%g@9
z|F(4N<h<NtwftWW>j8m7bKZ8Y8Z_o%X3eHWX3)}Wv^5#Eac~*mK^w$z`b!W$AYl{H
zvyjxWti!$;dd4%bdkhTqx^PH{ega9qK&xw*4o_1=EsG0AnTx4yL(wCkGix}s_lIP<
zXvA95FX*~yy{ChniJIS$_z5eqSFjR$Wx;p+(e(qRz8*qy1{b`pUKKPfM4nN8Aw(4R
zQnfW1RWihK+%G*u<!q9f!dE0BgyMcJWEO+D=pp@@@5tL&N$O9kfkKwx$lejH?B&YZ
zrSD*AO`^_3;#gwZe-SCW8S>MGRCi((t><ckMWC<|s9aMnX17{M2NbrVp0s;j4rMum
zE^F`@T9Z+tgUdQ_p#C&@Cn}qv+^<P@;pMO4Ah!8_tq|ntFi*{DC7|?zT3|TGT^%C(
z<n%O3PfVO%L$;JfAd3i8*B-)7|5y0Gtml9gchI9idX=BUA^Rz}j3w)2D>Bl8_=8>m
zoO9wTW#!;9_r%7{aw~1!L`<klOoxbNri54n0nL-1SYXVg#h%-QMW9#__|57OEF@mY
zkS*=4F9p|C!z^Lv&}5lfmeHt4`;%<8qK0QpWE5FQc#l^A+)cA0qXAlvqU}xnFS*vT
z_g@!8Ze_4{2PBm0xP>*8kDL%tf(4eveQsX+X3JXy0z=^P^5s&s_B3&J>2W-XCxQZN
zEGvTkEZw@DB^UL}n21!Xgw{x_gUbX9q)d9Gb8uP0O|z~0{|(m7Z4l9&#E#7#N66;|
z)_>3AOzXmTL^f02-dF^DAW&I*F-O-v?n6TEtLmq(Lu~xgWeYw-LdyvM(8mnb)<P5q
zHp=h9G4#iiUeK~V-8Ab???<QHcg5{hYgxGIesAhDx3nUk%Kbje0Ak0MG!?fgi@+X$
zfC+cyohz>3u1V|?$ZGe5WaOgZFg%L?gpuQ}CtBdHuKt2!LZWMob_cL{OTRXW^BN-h
zsJMO!tF1*KKm;6f5FXnA1?EUpLp^%?KPo6W8L5*v-0XX57ho-orAeLo@8AKm4Jf)0
z@>)loeMyfYHeWMj<O-(aEfE2X4SO&GMh^1uUKI{dAxFvR4ZjK{C!<cBZLO2%(OIs@
zS<~_7O($!6E5x&idhQ1x@%wzxvS8y!7;hzC5BOgO5&dV&GWOmgu*V@#tShn|myCS>
zTuI5uTq>Kegw(r#N*k@{;-+Pg$~>-0KyNVXwJTK}2<mkfPo5^T<a*a)N>$iCvk2@7
z2)IYp)|M5eWh6Sh^dFLvQKRS^A&dC{)a;No@^nZQS?|+b7Mcs>8?UM~uIRqYYdu@u
zBG4`on7w)+@0o6GDZbz^ybK_uBqJQkZ($uB&D7ob_>a0mLLck!i+pz%e*o=U5f%Z9
zfFcks;e~D}PAp6?8-5e6Gb&C*tkxERB1WLHb{dRSUA#Rg?I|+{ed$MkUx!%vY1r1a
z2v`K-5Qxl3#bp#(vUIoap_(P5BKys)y6qH!fM%rfhE6zS$tZ8&+lDOy!6M-MWe!#y
zkJ17lQ)?M{#M~CQ2n3FRPV0*q61d!43JhRI&5}_re=ysYMIaFZRqOWW_>iuN9u-fX
z|Amj1jEd*iwwktA1WNonfAbEFZe{TqEE)L(&{nqy_(mY?->UGfgI@u9QstAIeVxT*
z$;j`IVC!21{2~y5^VhEmfz<zYi!bZQl2IVPf)!#B@Pj}wd%IF-@C{$;_@kH42Bnad
z{82b;$tXEG_K8KH2oMNhCMsbsjqHSg9*~kQL-?xe=@JT!bV(^;;Q%sy_M<ca6|4x0
zfJML;0s;Gs+z(kgPm5D}Gg~xP$5fj>`2R?sF0*RKbBNoon87<P_AHQuzkb-gX@UF*
zR)|F)Lj?5evfIO-W>~v*HT_D5Q+hol^j7PKEpn=A&*n2pcaR&*r?!n*j0HBXMJs9F
zTAxwcP}zbOfh-`f)1RLurjar4G7LLIDu$e#77=O18D%d*9wS6TmoR**i^<A7VSPrK
zV`pnx1oDi4-#uN14`+n<jOvWCqlt4p_eMWKJ+tfy=~Z^Hn9$W66SUE@jA#YN=`V9W
z>lVHBdbO63SHx_2i$IVF7$?JRAm&R*=%+HMd>G%gpMzx+_NA771-7E>0qM2Z5M<qg
zEYAlfy6x9*%dkJ#XTCaMD_aCC0{##PJNj|c^n)=wAfdaZiz$bM?vY8RKK;sRl$_Fc
zD?_*2rCX<RNa<dpw+}P!4teWOoJy9A;=r&;i$Km1FlMjx+QjlP^0;*Bq?XY2d`9}K
z^y+0;>f!;LA*Ji2wBt}V@je16rFRUaankHhYrQNPwZ_EeSOjv2fb)KvjTw1KN}MBc
zPEVCf56JD2&zBEaCo{`0<GAVJ5YltR)E{;$EnU%Of07iiQ~ODPvDp@ZoFMS<>Or#8
zSx#FC_H`M)x?`@#m$N7*x}?)c<(gx}H0T<oQ(G4|H4s;V{MIEC<ybOGgo@3x2;>rh
zs?|qedE8ALMYH;K<;7AGdQ_$jTGXZ`l1n|~+p1bU4nn$tA)J2HbqhntKS{T)*T_Zv
ezKt*DCH?<k<_<WJze}nB0000<MNUMnLSTYQs0q>l
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7a690ef0bd085eb5e2f233f823831a8a5ab10bfb
GIT binary patch
literal 688
zc$@*S0#E&kP)<h;3K|Lk000e1NJLTq000;O001Be1^@s62wu2200001b5ch_0Itp)
z=>Px%YDq*vR7ef&RxxN4K@@$ncZQ^h2&S;HxD6Ke7FLQxG>t_9+IR|rVD1i4P>4-B
zL4yifBzs9?h!G)`U?YNv+FDu&F}qe`p(3U*NN&gXH<{br+uNHZXk|VuGxO&C_vine
znO%jV=J^juZEVqJP;;*oadnE2wm1!FU5cJKkk!3-01-Eq>>DhnEgm38zy|LGuvG~E
zyhP<_3A26!3RNim2ouAz)@Ah~G*|1;>KrtdP<Lm_@K$edZ{H#SK8NA?13X0cdTHd&
zdHywo`mPAks1=kPMw?7IXcD~OQVJ_F5FhbPnhq~JEX#Bf+w5x(O~0DObC8HjpNy$_
z2eskbP%2##trfFeK=adh#-|eyj&Q{%X`)$o?`-a(ntPouc`i90-8s7T1kGSHg(n9x
zC!Ef!L$pMb7Dv_Eq1YnHXOkMF{NiRF<;#1W!X0%KA)fPv4y16U9%G_%o>d72j|0f)
zl`i9hzs!`!WY{)^HDZJ9v2?m&z*8J_Pve-{Fx+$iL6>zOz6Q^@vJ-|>tW_^CR5^t+
z>UWZ#J;_2S^^Y;dw@G5pzHr5-LtK2a85pIdZ@aPf<0VUT$Ut3Ng?AX-GlJ^gpWWuO
z85ov0?CLwoCA>FKrj<G2<cJGDKLexoFxZFn@C`FLV4$c~SV6yY1Q#k_Qh3K8KLbM)
z0SCu9{AeI9YbC-g;=;FQU{vQm523X_$*Uz~S*CGu|93OB)Bfibh<B0a-()T1^BMoa
zZLc^R+?!L;cZUA)IncQJ7sO>rWqyX+KgMx@?XA}86$enb&l|L5^{^9IA}zoAk^KQ^
Wq_->WzPNb+0000<MNUMnLSTZABsPx#
deleted file mode 100644
index 9361ddfd1ec341530fd15345ffd151204383fc67..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 41e370b35e27c49a235b64d9c487d516c5ab3e9c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 6c1700090def8e4f105b49eda4bf9df2df8ecefb..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index f3228599d381fc946bfabf6ea827bb8b7be79049..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f81bbb0ab76370cc3383397285b64c7ad5f6ab1e
GIT binary patch
literal 10435
zc%1EeWm6no)GZ8y+XQ!a4-nklHMo255NvP{?(RVnNN~3SW^f4-AXp%{1$T!F&;14W
z)2+Aa?LO7rRegHzeb!#*bak&Ct)V85iAI732M33#s34;S2L}&%xo$*3dO04aWxt-_
z-L>SU;Ht;T_Tb={0u*H=--F=~^HKBgwz3CSYIfGo;6(H^kmx9)%D<q*QlXd{q<)|o
z-iFHH5fw+1s495qZB)zY@mI@b5l<2&lHuT{eweooi35L>Rb7uBB#R<>Gr$Vv(wh@=
zy~G$-(er-U^*lYrSB~}G|JGZ%ttl!9?A8uX04fCkZ~K31XZgXy*MNF|Itjo_GXRw@
za2pmM@<$~zd$DAQFelen*uYNa>J{FlX)=S0{GHi&QIp_MTd6eu+z{`@Jprg$@4{Wu
zQ-%nw1Gil7ZU`^f5o^Afak9z-=rkIE4y24qWjc(Om)^GKhB7}f4D{Rn-ukTF%AwUL
zRla$(geM3;8l%A5&Q>?iOo>ty&4G_;L|6TR#gOhe^*0?n4i$WI&No5J;rTQs-nh@~
zIPx&o6v8owl$R$_Lxd{uX8$x*J31Q74S%Xw^1J~dm##+KY}M_)4hJN^y7i5-DEpI4
zUXT>_K9^6;UQc);`Yt?TO|U6Lh15%go4`i#as3t5Tq)kWPRrUeCb0dp4Hw`wuubNW
zoPh~gyD&}I6lUgOJfR(k^Sve$xX9OpjqSAq9hJEO5`s>(+6iw{i{WS1%C7TEtwD56
z6g1N)Q-WBfS3FTsXZW7bkt)b?PkeqLXOPk4=5Cjv5p3_^LAbg_GxA?E(2lDAN%h)h
z+s-kWZ6(FL*mwK;wz3MEX%_@FBkZ*UH@(I*7kYp<qYX)by2z-Ie$F3)gEr1ubTreD
zP7U2ipu!gvRGEg|j@VwCF4`tn?5J}NIBYaic!-Q{$ji+r)R|c;LZD-g9guBbqRxx+
zf~`|TDJnEmo-<6A`UT>UMpTcSpYpa0BWw-<Mn`^j=EZ{+mu0IFmt%EHuSnKfpM&+i
z?Y80ip6W}sQpie4KcwJ6Bu;tUU-E-96dJsD^0$4TBO%(9d31$*Ccp^A4$YJrB0Kx)
z{sx6@Sp?~RA%MXSzr|X7p=*OwP+2@UoEZ!+VVCi0KIvVEn!a~?yAnr!vg`2jpQ{lY
zg1~R8u=7;DbDCEQaH1?VZGF`DZs=5Cu_wuRCu8`0I#y~Sb&(WGSe)5k{KAH$VAU_3
z8y&SrO8&)e5i_&L8``FVW1mAawIM2buPBNzXcz^RD_pQrl;zL~I@Ze2X40dAa^&$K
zlMohywAU^YQ0|q1Y80EN`Y2P5Yu=-M*Mh%0a<KCPX6;udhAe?v%TB4HmY0_33g~o{
zuacK%@fD@Q*EL<_Z^8kRl}WSQ#0=!zxIrontM1(6_tDAxZe4l=BUJ+myfVKnG!=t^
zXvxr&&qn6!Cd3-Q#Zu1Bl-fSr_`z=#dN#|lf@cxxTm0$DLd{!-$g{(@dqJHOQWuqU
z7B^9^(S4F%{mUOYGCs>-4O+7PXyuajBe^a2pg`EyYebe7tec-UQc=4!6T?%x&i1Q{
zSIOi&e#qyW5``Ce0sM<+1*kIMH|Cs`^>(*Uwl$LdVNwV_?PjRO7;zt_NX$KU;Hs=@
zH{7hHpb|}U>sU&r4T%f~UkEp@@EDGXTX1ORlcPDt3kFW8B9n0h-?2Hz_=vIBu|v~+
z@TUwmB@Me6H8ltdJQK<2*lSlCv$<#A`$XBv#5a~uThwOL3X3YIq9(s)i4^eea;2Xs
zlyn(57C_XXeRo-thK~I=;~oMTqn>%OP>7L6&W)dui^ZGG++khW0`@Ka)*I{%Q^GU&
z)tj05A76|B?Zl3Dqg!obbonz?A@v<wf1-*qOv{aTffGOQA^x{COhH(d{N$E;N5pQl
zoJB#d^nr@xiM(Y4UrC!H(nAT62S^iDbNLRN0`9Ng=I7@Z*0Sw?B+D{qy_cm)eri3k
zi~A03E8aIwa3?-GM3`GN{1sBtu)maGcX;A57?4ZR>MCpa93@xc3JX%Ux3>@Q^Sfu2
z{*2+{v()O=xC9@~fsN|XJTCqHYN8^A7-Pd|_G5*y$R|hBbXHjlsp(RC_DmdmIq@9&
zxmBW+V$&lE(pzCbwVW^O*TPC}_buo64?3d}pw13*9G_qQCJAmQWqN1;$GPf5Z0g+4
zR@|W!k<$H6TnU}j5(r8!n;VvsDN{HXn&biWS19)*!k{pyKU1UHPNTZre)^jzwzv?^
zNhTDnLMn%Z^hD>5F^I=2IX8NVK_|T^CzlWn){rqzIS@&$vfyG>)4e`7ubUSF)fq-t
ztHBR5`P}=AS!P$uiOpx0>P=RN-^SS2BXYZ$$|x~2BUAtf698Dg#jwNYYwD9az0O#D
zXIMVSF=Ij6R|mgC`0@F@fx!Z8Dx<n?aw#qRG3tB%aY9zZjes80(hr8E-Nejh6&PdJ
zTzHgJD1VQsymm?-W8#(}mv((d5x;U+sXg|8`eTT>tx@^bP|Y*0hss%Fg`YhMJkwm1
zS5)K%I|N}-K52gxlZs$hU}cZe3l`eXS|JzcMtb9qGl!k;`|rCtP?KQWz#RCmQp>09
zR7c-C-N%T>>Ie#fOdfn&?N~J+ur5PVHPjTu)Ekr<O6VCCL7OuqaJKX(mydrxeC*+w
zN;ejZvb`Dy`JAS^IF?4Qg&cA}N&Q}lGwL8;VPoG7K7PrLU<A?a3Gpa|VYt`G$VfcV
zL2Ym_0Au`q1L1hi;jpL}T}%@XOnUQyXZJ@;OboI)Vi*1orP^8;PPwy?e&u-0_QcRn
zpg`OLd-BkNme7fPc1O1t;%3vi><N`2EfvMGHsXcI3}SlOTg+7z6~GPsx|%vpSDW&x
zt_8`h5=x%Cwsi_HkHX;Hnf-iZw;TA1@9q?md$gJ)DF*%yZE9-LDPpr*>kSYX7vt2;
z#m0j$BLFq3px7`sgmLi@#2fR>LVjYd^b?%PF&!iCxHneu{oXEYT{c2fWS`-#iqKQ1
zyWNyYEaJr?EyW{!SDAv;wy`TR=dq!Xa#b}T_W9aXKj?|L+~d05<PN5?!pxgY3txY%
z@Dr=_5tLw)H2!WLNmG8?=N}h|2W9DE9Au*^3y0W>z+A=-zKyW}Z23`MJ~9DGn2^%y
zQN4_o*8S`{8O10QMaIoVc6yg1{2p%Zc;f>sAhuv_F7(r3-zCSz*TdjvwLEdD?xL$Y
z%w3jiIOFTcpdgVs-`ycK@~s8ziAbm`Q}uP|v&2&7n$Wtt$>nhq>TNaLxv<@MUbHQ1
zdnm(~vD6w!2uBK2IOaM7s5uJ?BRaW$&aTNjea5@p(~r(Vk^AXB^~Ohyfa0pFW@~rk
zXDT*{oJPi|S2hqn2NBme^C)MP3D0z9a;R{UvIQ>mJcn?YUK!yL?0D**BAqpAzO{U`
zN=d@`2o-<2*)W6MDl=U~3tU~UmDEuB9v)A9bBq&79TOmNGsAx4i<&Xv*n0Iah<>K<
zPvbackiyT27wL;X0KkhDk{G`7i)j?a*wIm@+qh1WLSb<V_FjGCF4Fu2rFySN#e5;R
zx3m*sHpkFez^P(PXk;zYFUv98WWm!S5MR;=g*x~RSqXLkA~}Ol6O$c>6)X&qmw-US
zsi(ze!eH8Lw9Qj4FubdC^kK0LF4S9;<-*l1o%@XG?sSS$1~)UQo8qQ6W39Iflra$j
zB07wWZ82?NO9_M~hZ|b|d0X0zI(N74BK`dIxUVL(SIXXsm9Jgr_wRcdgA|6k<eECP
z2t6LV_bqS&QlM0n;Y7ZT@-&#ntUXJM-R@8Sr6X8gIq}W(paU-J#r*(cI7Fup5(nwX
zk#XaIt*sf0&xJ+?wo0F%f9;6=#DM1cB~s%+E${(n%B;P8C6!P0(o3!&cs~DM=Dhtj
zQR^qPku&gd=)AY^q?th9VU&90O_$H!13v~|8-Vf`C#`n=<lzExyU|jT3vNO@Xi8pP
za0?HEub$Dbx8j6c?#H-Hz(nuqgt;)zJBo5Zw)0rWd|<do<HETRpP#KVZ|qGI!Ceh$
zLLc@+R@3bAob7_UVuM1KrpX(wGY-Dac!RLe2AJEt1?TVr5+J)k`Hm9TuTRG^K1P{Z
z#%{g0ri8iEZNT(aDi>X^*yl{K^qIF$`j4;k-0z?(#Z4c45s#El?^&!%+lE{Kv504D
zW@#lDj^4X})ldJp5oM#X9-~smBzqAoQbvlg+g$tj3&=wkM+`UH#h}g#=j{HIh5fhK
zHz09d$Jxp_IoLOo?@2O~zb%_xmVL!y{P+ao2j7y-85m5N9JJ8pN1DGgi>Jg7xd;m1
z#JAS_=|^%ud^7}Rn|J39JX?3drV#|J&|oc&Bvj7Td6Gq51xTZeP2X@fo8HM5!t$WY
z!`w<t;98ezsB#x^vT`c@>OTV~%C?<1&3<A_8={CD1|&>_m`sEAyF9&=U!JjU#bX}C
zi8C9L_o=~i1GmV#MYCiXBZinE+PbJKRexyKr7PSC%p$k0kmKeni_+IJmIl{m7NvRW
z)pl-Jz-oOyl$ZAcGQN5W(niuJl*ZLEL1v~;t4cL;J~-{Z=yIklW?0F&k<Z6|TZ-TH
z<2+D^OsI$1($A(SN0y{lykh>{P+|w@?X0@r8bQE=J8GzcH}++vXnAUc`ZgRHRah3r
zK1G6;Suz#Htx8m}66QszEYE|~(Vn2SVXUVRpCTV;a_)(nNXfau3-;1FBpUCzneW<j
zK;3M>7?HRVmL%@^SMx_^l$8(fc}ghLqG|%Z8o70mAMb5f-vhp8Y&ftx=P~5Z)=2Z?
zQw{1%<wD*bOSX-tBhqfPmyjW1>c*=r%?7r6EXfaTzLn9BKqAY>Zeh+Jx+R%4WU;E{
zi=D=?CeLc+!V|SxoJb+W3N53}Gv+V!44`XL{KQ@z6oXwhj(r}GW^D>ZF9#7Z-z)Np
zn_(SkQw8H^;~|_bf}XvzRs)F{Tgwz{ui`bQ7M^G<ZTiH<mWY<b0aaRBd~(~AhATYE
zb}%EhMfoI$(&XkM7idujdSzOPO-Z&(jqVE1V`%FDc5urn!s=@4NZODcm*{$n+Y`J`
z>l+b&qTk#f25u7tT*8O&XZ(ADC;d_mbKW`HN<+FL`qZF;&Z9N^%Uy8$4_byh9A=81
zj}xas_vjqbJo;HEM7I&|<L~AQWWAo$ZOohWu|n;*yho%8GYs7xH{Tv`1oKT7f2`0L
zt?B#SINcn2E_ZTL^e5`6Lor}<;gWhOW+&0SdLcfQLDk_O>E~-0E;IpSR5NA^Bz$;n
z6m_i|abNQB*kLkxK>DWchO}JzVeX`B$A;EF=XfBV6j?n_piU4hB*+p%|D0EnmhChN
zB>P*{5Yf_i)P4Wn*oXEL!V|hF?#^*Y<fYZY^^8MJO&hUp>XqzPyfo#yo_YUYLOm+l
z8uQhd@!=8lxp#<b>Ngq%QHl6+$2l!-4<v(QHz$vxoM^*RrLyMzG5Gj?hfQ-dyna7!
z$S3I?s;8iSdXA>Z<R*CuCq-Y)#ry8n`{p80J$~mL3LKFMd|ZvkWl)(6QHj|2u`doy
zya_-nld2r103hu%>Bay1t+mGn{{0D6>_mJKx9+~@%fhFkU4@29a$UQ<MEGazqzSeM
z*qGGxu0WnA>K?=>k9ZmvOU|llqnxtxEe{#Or@uc*P;jY2@PLymW%sCm(N2FcsO#w#
zGDM#=pIC6;`>WX2C}&{yskOKp#$Sl9fm|^8Mjx#uoimI~p6R-T8_&p0y>>g}L=a)Q
zQw<d3&-NbHUmHkWYf|?f*uHaOB%s{&4D=crh9@UhSd-qN3U5813=-rz&WY0SKEk*a
z&o9@hkygt+OUeJ7R+C$*$^*ne8m!KD7kiAB90i8v*XtkLQmYIj1mvv#ZaQ4xcEyOI
zmkIYvXW>LGPvA!7%Vl3Z-5<{h^kY^PMn7;j+StKTaX*4v5(o;u0W=pwr@12W#ADZP
zy1h;k&+8eh2Z56E{sl;Gq&S2_!?f6hcAxcEKA)LwYb+Ip4HA++?8yQI8H2mpSuPgX
zr5d(A;`8wn|LBk0-~^4kTby?OB1fLhe+pQc4Jh377Yn~GqMPVF|8Se}G_~|MiWwF8
zbJ--Dy%J!+DZR)ho!bvwLm4st63Mp`&ip(MP(D-=52-iwo~^GQX|Bdf6rX%kD|W-5
z&~i?+=!#*plU9;I(pT81Q%<en`Ubt;`e(-nRP!^R%Q#{ltT3=@XjEspWd_=3G+LQ6
zpuT@R=;!_K`sqO7zD_<J<A8*ZEj4D{fv)@(=VEbzp!i!Bhp#J??V(h`-rtWK6X)%J
z<2=!Xn+Lq1xzvul>&A+eWBhsb=}JB*TC~mo*%Uivh1UyppXDN=YGBIZm>!#AN&7+&
zt0w_;9HMAo%&fF2fYEqslqW8#0JQ_`?g*n=dhyqjZ_KWTdA6ck6!!nB=%$tZMc6yi
zK_{DaB2ry#7XJK497R3EU@9CK=T8{m%`Ygb&ITT>74Q(gt8Txa^&O~AdZV^)C`Fe^
z`*157cGb?;Y`%LXRsnLMM}qQR_!jK&m#=IvT{FA&#|@<ub>6MGJzY?R1fy8f`0wH2
z>zd+838Fs6kWNQu&RJBDy2wv&^PjcHu^E2?3@lOW(0Y2Z$!FFo;?iP!GS}{qTQ$*t
zn2mEqa*jaMi`?+jf8LNe@TwKB>^-N(YO=r;&Xx9mv;=#kF_WWizJbT5;q^|4`0a($
zx93B~oGUcVEH)JnO{wf(xEvANE2UJJM@-KwVm_#rIJ5n>fII13cFYy6%mnr#)3-=)
z!wp!ivt{TzbQN%k!1rdboyGiII|e;P;Jvj7Q&y2eY2Ya@Y!L1@gnf<9`!&h00QlhL
zPtxP<lzH+F%<QjlE});HD9$B0D|!gIl!t|m+=4{Qs`DCCt$>uMyTY-Z9i`$2IDGaF
znpGrGx@8Zp#&wv!4L>&FQ1qwzHrBtM?EYiSMS{(=`AAcxxogRsUcMdC3(es#aZ<z8
zv4i?noi|DRi~~;51>2*x-yR=E@iC2+M~5Ew{S%eHCOgb#GXL<9+3T?U_e;g!Ji;7q
zLT||+_WSre_6F@5ggoODhq^b8jN79IL|RjG=_BBu>VC~N-a^;S!4O79>c^va8}$Lt
z>n}+!>y5$w=Qriuu)S%wOWs;b!s5M*1mIa792-xVD6S*5zq?yLBz;iU#QdEYfb~q9
zBlI)l(5DLH98!vb>)nGByml022kQt7avzSq>M_;B)TcV>Ne}JWGBVtMKPy+z5X2Lp
zr=CUv%@!c#vPxO$oy(ivspbBTezgX+{>|{c1RvzR>~c!=1J8G1Y{cgb@Or>T16%~P
z>acmAdKIE6LF5c83j^sp_(Q^5HpASfO*9sSTXl(*_%7N^%Q8e27O=@Xg&Ehcsl(br
zKSzb(R7;-GLOMvLu90M%aTA2!XjYYWrZRwx@&xTcE0h@w2XkbJcbHe5B0rOW+*HAW
zV18OdStL#J5~v{rfwdKHcHn!v-xV~(p{?4pl2<g0u68z%pV>>`*a$ikn)zWhW(bds
zXST*Q)Hf0Pd04;&cB&WkN4R!95a}4*O>~LbpHrM|DDGbPm(dmRMViU-z5&Hjme0KI
z-}#Ek3wBlD6VILRSpo1Y9xjK6u~^0ItkpPDLdNw(U~Dxt*L_lL!EdEOBgrn56GM4Y
zc9r-(f44(%`YQn>0{m;>FJ+DQ6hU7#Vyw7uhdY&v-g*=}${`uUw&SLW@dKHUanyOy
zF0wFAm^ep&`S{BA^!AU=A4$9N!5rZ)%eIdi9J<Cz`6F16X?w2Dax|Q*l+-E3jN&di
zEweDeHSL_Y%3N8`xNTo}(!1!G4k1(Pr2QL?K#LWlp)H%6cxLrsJ^CQ!uPk5s%GM38
z#d9i@B|>VC>($DA@9l0@MJ`cTEhXo(nW<YQXm(j3%0$hOCdmc(7^aMtaw6NilByME
zViMOZ@e5H>V&T<Ca*;AK*kn)WdP5f1e>Jjr%qW6=yS6&}fjE-m50A9m{50nHOuC|Z
z|Kr&HcT5wX?JMhHhZ)8|rO)&w2Z#;sxx(6vA#tc*YQ}U{{Js%OT&VTIW%Q8LEnse}
zC+o+R9PmCkxE@@sFK_}z$PNy@lY9z}fHib52~65Ss~UmjAElW*4Rub9)pi8Q6KfF4
z%9hlR{^~p5vm5Hh97)t#Xh&N5v#DnnG4AuM-nE(}(GvJ>Bg3PZ{tLWdi$(i&-X6p?
zisM7n>2PDDMIeZ|^6n^Pk9xLLk=fCv`k=w18i+lO`|mU~cl~V2lTWzzFflBQX(?nw
z57d55PQiH5vjq7R_b)F7p7S{*Ie-6`dMo)oJ6SH5)JJSxh9O@=K#*^$#42!dvs@Wz
zdy%|w9|NHJy#6MBHz8#AwugK22U0;Bx9;r75`x}8q4;@;_}Gn}!MiGoxO4Sh1Z~0u
z$&>l<oj=wr)yPNDE^92!%ucHvZ@#o?5zgp_%!wsUU#Hbw_fvPe`p5%rrQv4hIH`T-
zHV&Si19ST27nhfb?FTS4Pkc&D)Bo{LiY%QHiD^hnzdr-v|K_z4x>CvZ-mNgjUwowO
z#FD9_Gd;nns>m)42enGK%c$t-XGcfxAk(8(hnAI42CT$G+p&8(5CCMOK@21ggAD9t
zVvW`{X%<AmKmbi}(>t?4g%M?H-&ksuYD4f8JImCpO&i*Z4*6Xu+k*e+tc2e;LC1|t
z=4(7dI+*ePOuECw#c`q@)sYNF*CQJK4^77`PvVLZaeRapy>r0vc2b&2hG{A%qAg%Z
z!{#nf64%F7;(28_n!<N0v8yMFE%}tG1g(-HRde>n=68x6m~_Nf_KeD32>`=^LQ{r8
z5LV5YhL2u(>bZ)j)Lz%>xqOF?0^YVb;%ROfe5x4<yU%NLM}zFzMU@I&c#8*VQ$u^)
zuHielPbTOE#S-0%)1cr}H+`CV(4*(?fX82i{8*{u$Kl;EIzqFXMkqDHoRxh}-M_aT
zvmgbucFXjUMcHQ_Gs=iZym^t<c{)xb{W7&D7kY{VTNW}n3X&345YPQt^0+pidy92&
z5X$cY=?GAm@qr)RG^M<Fz~5f=h<dU$ubv>D4Ay(mW_n*f*^G$W)@J*5nG)98!U8*S
z3N+mJF^0qqMl{I{HcwIQc+@<;2d3ec!}}NEU|8&BT|X*?5NR$oIGUj>$k?3r89HVK
zYSpO)cv{V8iU;l<raL<~FFJZSP%iBe@dz!Jka_ip<;8y|z!Odk=FVQi4c3rNj(vj8
zgmGvC?m|qbJPNYLSF9&l((J1v@F%{IPsZeBves$q?-_vK)dmZZGnxbicOGB$dW5&y
zV#GDRKNYH<$la3|Cq0R*L!+s~QRmOvBRbBeMIOD--@LZ}6VqUgQ?IDEo0@(gJF_Oq
z=GRFy)=sP*rIG<(m<)#+9xmZI-Dc_OK>00mB`fK@ScRn&u9B_t@2JQIC3@M-3sWUT
zFSQTJ%b<iV+xxC8e=c|*=Z{0`RZ{p6RS-G(NH?1D>}+;hv(64^iImgt$Q1LcA!dXo
z%^QH_nwQ*7Tcq#qD5GmJ^7-%df4{}&DG%r`385LSl=%{;8{|VnA;Hbu`h=T?2fQ1N
zY$EY+v6%S{UO}0EuRP|=YX>kzMK4I!BCX~lZ8)x6i@%8ycWF}u59R-A5g}eWmdG1)
zu9Hh;z2D)c8e*c;Z~{7zY_H!pU<CNu2U*3Ur5|y-a@_^NhB_Y0y%#wV#=`X0WS{hm
z*WxNASN?o=dlK_A|MHWLx6&cCr#7yh&#U2}P;)SSH|)K#3wdShRos*%9S&8<I=#m9
z$L}&#!ZC!wu{rWT`Ki3bKfResrP@O`Z6Zsw?YT+TUtAMF*|#1~ZftS-sEzA4<;_^x
zujW@^#2UU!j^ZRe(OS!p*z+hy7Up}`(He;V__3m0rWy-yT@)*TA@!=D4WqKzKO`tz
zeA^6(xwN-VW~+oOOe~ghf*pc&t;7oOyFW7&<YB(KGvj0l9^Ru(iX2~<Zu2W!_m?nk
zZ+A{cbgWhhEWe+D-5E#v@t<EdQ>&W5`F=$s2Oh<@HttEjx-bRlYdr_hogbUh=}6cc
zbE3<e?0W}H5s0u;g>MmpGA0J`XC=S{BQ5I>CSa;Dn1Z{Ij6x<+ZZuP5M-%}%&Yx_H
zx9cY9bmO|E0gMA`qA>&;ACIPzN<aC_0O*niff+OVGZh|21!t{N2Kdg%eH=;n-??!i
z{oI7VJ4cH~CahLtDk2IzlRx~Nnod`-r6zCM^hmRFk$XqnMsc;Pn#K2PUBlM*l_nBL
zC=WNs_oGK9$J-oXpl?gAQ20-4us;tRKEBg9?aF!~PaHd{fddX^q;l3ShggdN&1I-;
z{WQPwn-TfZ{it?H(h=GVcXlh!AGcxuAdK>RJO-}{o`Tw!s^0;QI%jEUJN9vk0zhos
zO8yemvv(-7yRH0_7X0#0?;oiHd%5zB2_p-l-?21hpFu^}I&%nH7$qZPqx=!3QJB22
zKJ3Z@=vHyzS(RY>u|fmZCT7RRD|WVP{YqbPM>Y^AQqZYC;~st+X>P^Wt^c05n3n4X
z!LD$2%}bP_7|yZQ6R0}QR)r_Zd{w)q7|aduAYGFH%apd&{$}(a|BSGsCNXaIlJj{K
z6gPby{)kc@xy5~3YM3Bk$UF|){>2OqMD596VC6B%ZRlQ}m><pMe-(>Xh2ar;p@{_S
zE36r^pBdsMqYbR5`5m@H=hXjk0ZVZ?>q}jW4VJo5bJ?38^qq84!^t~M+_wS~A%U*!
z=^K+CzUU*|4XnrapW1q*2rjMOzcAmD)|^-${2pRjv&?;371jyZ+-9(Xg?;f4{-$hV
zdr-+1bM*$O=B>C}fZf8J+Q@}`TtkHCj&z4wBmGcu+R`MD>OmCwpD4*_ZjE<YjjdyY
z6RbRooKY{3MHa|{R66q&<Hju*%ecA)QO#RPz>v?kQyDPgA#!*0bmo=;c@;%pK8Ti@
zY@!;Q-XW*?1=<;zioNF`IoikKAvOXl;q;slWt`uManz_P%nm8vc;fy+Dks}_-Uep^
zV@!JZVaPAg1mb>hm3L>zrwt(@H9?!=&rDynXMX$ZK`81kPir2+s59BPP)jkzpo0@a
zBM#u2uX^vbWZ=sU3XqrNE#4O^ryhDR8bR?jikk1_D?8y(J#eFBurkYCSkwvSB^GWD
zJ~gCePNbWA{U_RG0za(L2eQN07Om0;lKcNRyBBa!tZxFEBd(am*hLB@ct~H_coG7q
zXP}6&aP~MTp*xL(qZh9JpW`9anb~~@4N5%0h|S-e$pJP`Oe=g#wyCyfbFi}iTo8wh
zYpvuSaI=00uJgB*fuWz6@HoCe1z-TJaiB7<R8Pb)ftgoO5RzUe6A}<W6p<y#92URM
zLyKlwTa(+C3Wtiv29Kq$_~`IxBLh=@lp_lLkByAxhz*EpcZir=pI>djcRAXs0_ZfL
zKou^d)$rJIm;BAblGWS69KjbP@X$lHj<Ik?g=+PG<obwKg~=G)ZZd(zLTve7!jzR+
z4a@H`<S1g;r)5PmEq~V12fxG!p#xodbIF-<e>7sEG|)U*>caa>`zn670R1Ukj_dW?
z;aezfxBRVTVWTyA6H~9X69D+p6&Mk7GVwVpbNX8?(?C2v4?m5#I<0|I*5JfSrN<w*
z=l==(G&D(+0pI}<>Wtgw_d3<buqX8T##4rQUvW^~_`w?G%vaY+Ca`3u<+k$6s9J#-
zcPF8ZMR5=yt4lH)(H`XOHDsh4@MNGh&81UJ5U$REe8ruXuAb0Ae*?@}NcyiBW3dHU
z!Q&cBMfv3U-eHp+Wx0vF^o)`Fk4HO0SLvFzWhE)q)L?7EhK_`@Y5WB#-TAY9rk)~$
zQe*%)dT6rnze)$1N$wHvI-av4nN2_LMt|PQ_Ks;B;i`?E<Zfw*8)#H;cf;{#`C_(Q
zeGpM_Hg<w)j+lfk!GEAq8HO?lT@UE!TE{g;C(}=LuZwSmT8u4xwJDAY>Sk-9NZTIp
zY3&+l89wLZ@e!*y>xfc8pFpHTdIbo64#-B?j5uX0K`V|MO-79_XHw8Ke_6TYG|iwx
zdz==6AO~CTK)T%w4AT|QDoVhE6maIu{l_`ckR_}hE?auB<&CcnGnrg>_00F{3<?(G
zlET#f{0auQ3cT)r(N6#5Q<W0_ZL^uxkwPmVtckJzkAnOm#_>YD+nhLW%cR3U#@#4;
zdkKo0@ji%NoSM*Uc?rn45}%z1p7~a1U4}@*_7TEc{_}|sKMEFx>&;@|WeqeSc%Lu`
z#nJbMZ~L+4D(SSdfIA;=fOUHAvK}$_6Nl<7Xx=F_bTao9Un%u3<1Fc_@f~mHOX%*~
zvuyo-Kqr%9-~Ov-zrPSsD{9^YM$5U%m`n@_*@Q9U$?IOF?hW|u*U7JaSi1~{DgRgP
z5hD?sX3gpK4Uu43Rm(D7N_^SbhuI6w{wd1N;xwO`ft!5RbRyk&O1@kilxC7Z&JH0%
zuswUtk=&Pd3q~1NiNz*eR{5WuG+&=N7X69%^rmm@_5Jz3%v()yw7>13DnOV{$g~9-
zg6#oTAOG*`397WR_;y>9nVC3JGt*uA#hta}mMgX4pe1lm&*JnQz1_^tcN^#3jnq^l
zG*h)&Zp|0c7t@=oG~Ku7ViNfXVoJFs{1iTry*@qTEro4fMx<YlOpee_&fKc<j&<!<
zm+o=7XBKNS@!1P$7E!*gW!BO!(Gusp<5bEDe@jY@)M7rfC5_sP*Aw<Kw^O#sGp*vs
zN9%Zc&39O`JKi2rzh&J~AimW);qDnw_%BJJ5~{tKb+|D9i_v}pYrc9^%BLnvrQ_ru
z(q;;8I%+AzCm}8V7i;uHp1yp|tU@H|VORQ`(Dtf`U2zTlbQ|aY@1<e?^BNT?;2C=@
WD4Q(&IX(#PWmA+@lc|<65B)!Z(>#s<
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4821f1743679281fe48f9c50c4c8c3cf2e5028d0
GIT binary patch
literal 994
zc$@*^10DQ{P)<h;3K|Lk000e1NJLTq001Na001xu1^@s6c}Lh400001b5ch_0Itp)
z=>Px&oJmAMR9Fe^Sv_bJQ4s##=EnmI8yhuZve$@R3M~W$@rM)<0)i1WsKJE07>HI9
z6e1{yHvSa3JCk6D2#OJjg@RfLcG@XeD0dr85Vf(8V2rta&g|y0yT`u0+gx&KcHpw_
z&3yCCck_1N?p_2cvBBIfN*@KJZqtYy9Z#Z1e`C+X|JA~$crr#EG3>X5k#Ff%p`b!%
z+yeZ3?s)LHLP5dgONmB;N_8#jP}HGP9Viu#&Y@Brs$B%6a$Pj;fW#Nn)%T;TVR|vP
z5`&@X2F(Ax28ad-j3J?qa2b2aQpNzJyh9(lS<2%Ce2tN>8&^Vy#hIDhVAYT~N;P-G
zl*346FL6vm+USEctqD6UlZa#P-%Dh^tuMHi?Z}*F{uQl6+`}m`09qxD#9Z_Q3KNNK
zFlS#NlU-MEReWSF=45U^ljtQu_}~|_d{Q<ek7pSBzE+7TH^3as#hfY=GOHmLJ3;X&
z6^8sfF*7rPyGASk6CC1P=3p+B2~1;6tWQJdrYY27AB6a!!crIaVpcvvM%F1YssQJ3
zE_0|%;3sM*PFn1%tULaRL>-_@@RurwTHT7gagUDWZ>Eg3b6S<WT(ef}2Wud6$h-9S
zv>&w4=eIgpw$qg`OrnGuvk+lSdUA-ik#;4PYjI7ky<m<Yb|m$;sL>8mr~VWGKF3o?
z8Ml1=UKeAe+39t<XH<i0aZQ)`f77(lLSz%P?)5Hg(NMbznEgf0g=tWXAOdrcHErl=
zd|sUIFNjg8>><j0NXt`GoK(?Vh`hCo$@pVG9`BO55u6~<NmrkAyDJ(q7jr7aFt=I|
zM-%!OeVa2pTox0u*XC5S1q<T5WIP3-omW$o8DWk@e6SR{v>;|kHeIKsyIhJ)8P~)W
zi$e);0_v06!8oII_6AIxbsS}kG~A@loGSxqLBa{LHaml#n@*QiK!{-^n!3YW7~ur5
z3cekrbN6YFIua;K-~pY$$4HDBh${+~cMiFexWHDug9<%$yFFu$*_cpbm?OL(&e|j9
zv8CxS?I}-q>M<e4tr%mLVBwd{UBp^G;{q*T54ouu;x>|vd_^wbX6mjNjiU}k9f&$m
zg${T(#?)jpJxh<%4NI>=ZGN`?2vOgL#OBY1dPTPmlint(B!(66JHDKwpJW_!1ljLe
z+nrF=MmyY<96@gHDvljN_6_mfDroV%C^~{HC0ZYyY5Xsy>X>~}dtM;^1I<nkw0<F#
QEC2ui07*qoM6N<$g7`JS_W%F@
deleted file mode 100644
--- a/mobile/android/base/resources/drawable/ic_menu_reader_add.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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">
-
-     <solid android:color="@android:color/transparent"/>
-
-</shape>
deleted file mode 100644
--- a/mobile/android/base/resources/drawable/ic_menu_reader_remove.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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">
-
-     <solid android:color="@android:color/transparent"/>
-
-</shape>
deleted file mode 100644
--- a/mobile/android/base/resources/drawable/overlay_share_reading_list_button.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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_enabled="false"
-        android:drawable="@drawable/overlay_readinglist_already_icon"/>
-    <item
-        android:drawable="@drawable/overlay_readinglist_icon"/>
-</selector>
deleted file mode 100644
--- a/mobile/android/base/resources/drawable/reading_list_indicator_read.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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="oval"
-    android:useLevel="false">
-
-    <stroke
-        android:width="1dp"
-        android:color="@color/disabled_grey" />
-
-    <solid
-        android:color="@android:color/white" />
-
-    <size
-        android:width="16dp"
-        android:height="16dp" />
-</shape>
deleted file mode 100644
--- a/mobile/android/base/resources/drawable/reading_list_indicator_unread.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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="oval">
-
-    <solid android:color="@color/fennec_ui_orange"/>
-
-    <size
-        android:width="16dp"
-        android:height="16dp"/>
-</shape>
--- a/mobile/android/base/resources/layout/overlay_share_dialog.xml
+++ b/mobile/android/base/resources/layout/overlay_share_dialog.xml
@@ -47,27 +47,16 @@
         <!-- "Send to Firefox Sync" -->
         <org.mozilla.gecko.overlays.ui.SendTabList
             android:id="@+id/overlay_send_tab_btn"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
             android:divider="@null"/>
 
-        <!-- "Add to reading list" -->
-        <org.mozilla.gecko.overlays.ui.OverlayDialogButton
-            style="@style/ShareOverlayRow"
-            android:id="@+id/overlay_share_reading_list_btn"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:enabled="false"
-            gecko:drawable="@drawable/overlay_share_reading_list_button"
-            gecko:enabledText="@string/overlay_share_reading_list_btn_label"
-            gecko:disabledText="@string/overlay_share_reading_list_btn_label_already"/>
-
         <!-- "Add bookmark" -->
         <org.mozilla.gecko.overlays.ui.OverlayDialogButton
             style="@style/ShareOverlayRow"
             android:id="@+id/overlay_share_bookmark_btn"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:enabled="false"
             gecko:drawable="@drawable/overlay_share_bookmark_button"
deleted file mode 100644
--- a/mobile/android/base/resources/layout/reading_list_item_row.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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/. -->
-
-<org.mozilla.gecko.home.ReadingListRow xmlns:android="http://schemas.android.com/apk/res/android"
-                                       android:layout_width="match_parent"
-                                       android:layout_height="@dimen/reading_list_row_height"
-                                       android:layout_gravity="center_vertical">
-
-    <ImageView android:id="@+id/indicator"
-               android:layout_width="64dp"
-               android:layout_height="match_parent"
-               android:scaleType="center" />
-
-    <LinearLayout android:layout_width="0dip"
-                  android:layout_height="match_parent"
-                  android:layout_weight="1"
-                  android:paddingRight="@dimen/reading_list_row_padding_right"
-                  android:orientation="vertical"
-                  android:gravity="center_vertical">
-
-        <TextView android:id="@+id/title"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:paddingBottom="4dp"
-                  style="@style/Widget.ReadingListRow.Title" />
-
-        <TextView android:id="@+id/excerpt"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  style="@style/Widget.ReadingListRow.Description" />
-
-    </LinearLayout>
-
-</org.mozilla.gecko.home.ReadingListRow>
copy from mobile/android/base/resources/layout/firstrun_sync_fragment.xml
copy to mobile/android/base/resources/layout/readinglistpanel_gone_fragment.xml
--- a/mobile/android/base/resources/layout/firstrun_sync_fragment.xml
+++ b/mobile/android/base/resources/layout/readinglistpanel_gone_fragment.xml
@@ -12,44 +12,48 @@
 
     <LinearLayout android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:minHeight="@dimen/firstrun_min_height"
                   android:background="@color/about_page_header_grey"
                   android:gravity="center_horizontal"
                   android:orientation="vertical">
 
-
         <ImageView android:layout_width="wrap_content"
-                   android:layout_height="@dimen/firstrun_background_height"
+                   android:layout_height="wrap_content"
                    android:layout_marginTop="40dp"
                    android:layout_marginBottom="40dp"
                    android:scaleType="fitCenter"
                    android:layout_gravity="center"
                    android:adjustViewBounds="true"
-                   android:src="@drawable/firstrun_signin"/>
+                   android:src="@drawable/reading_list_migration"/>
 
         <TextView android:layout_width="@dimen/firstrun_content_width"
                   android:layout_height="wrap_content"
                   android:gravity="center"
-                  android:paddingBottom="40dp"
                   android:textAppearance="@style/TextAppearance.FirstrunLight.Main"
-                  android:text="@string/firstrun_signin_message"/>
+                  android:text="@string/reading_list_migration_title"/>
+
+        <TextView android:id="@+id/firstrun_subtext"
+                  android:layout_width="@dimen/firstrun_content_width"
+                  android:layout_height="wrap_content"
+                  android:paddingTop="20dp"
+                  android:paddingBottom="30dp"
+                  android:gravity="center"
+                  android:text="@string/reading_list_migration_subtext"
+                  android:textAppearance="@style/TextAppearance.FirstrunRegular.Body"
+                  android:singleLine="false"/>
 
         <Button android:id="@+id/welcome_account"
                 style="@style/Widget.Firstrun.Button"
                 android:background="@drawable/button_background_action_orange_round"
                 android:layout_gravity="center"
-                android:text="@string/firstrun_signin_button"/>
-
-        <View android:layout_weight="1"
-              android:layout_height="0dp"
-              android:layout_width="match_parent"/>
+                android:text="@string/reading_list_migration_goto_bookmarks"/>
 
         <TextView android:id="@+id/welcome_browse"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
-                  android:padding="30dp"
+                  android:padding="16dp"
                   android:gravity="center"
                   android:textAppearance="@style/TextAppearance.FirstrunRegular.Link"
-                  android:text="@string/firstrun_welcome_button_browser"/>
+                  android:text="@string/pref_learn_more"/>
     </LinearLayout>
 </ScrollView>
--- a/mobile/android/base/resources/layout/two_line_page_row.xml
+++ b/mobile/android/base/resources/layout/two_line_page_row.xml
@@ -43,9 +43,16 @@
 
     <ImageView android:id="@+id/status_icon_bookmark"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_gravity="center"
                android:visibility="gone"
                android:src="@drawable/star_blue"/>
 
+    <ImageView android:id="@+id/is_reader_cached"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_gravity="center_vertical"
+               android:visibility="invisible"
+               android:src="@drawable/status_icon_readercache"/>
+
 </merge>
--- a/mobile/android/base/resources/menu-large-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-large-v11/browser_app_menu.xml
@@ -24,21 +24,16 @@
           android:title="@string/forward"
           android:visible="false"/>
 
     <item android:id="@+id/bookmark"
           android:icon="@drawable/ic_menu_bookmark_add"
           android:title="@string/bookmark"
           android:showAsAction="ifRoom"/>
 
-    <item android:id="@+id/reading_list"
-          android:icon="@drawable/ic_menu_reader_add"
-          android:title="@string/overlay_share_reading_list_btn_label"
-          android:showAsAction="ifRoom"/>
-
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
     <!-- We only show the quick share items so no need for an icon or title.
 
          The visibility is changed dynamically for v14+ - hide for previous versions. -->
--- a/mobile/android/base/resources/menu-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-v11/browser_app_menu.xml
@@ -24,21 +24,16 @@
           android:title="@string/reload"
           android:showAsAction="always"/>
 
     <item android:id="@+id/bookmark"
           android:icon="@drawable/ic_menu_bookmark_add"
           android:title="@string/bookmark"
           android:showAsAction="ifRoom"/>
 
-    <item android:id="@+id/reading_list"
-          android:icon="@drawable/ic_menu_reader_add"
-          android:title="@string/overlay_share_reading_list_btn_label"
-          android:showAsAction="ifRoom"/>
-
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
     <!-- We only show the quick share items so no need for an icon or title.
 
          The visibility is changed dynamically for v14+ - hide for previous versions. -->
--- a/mobile/android/base/resources/menu-xlarge-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-xlarge-v11/browser_app_menu.xml
@@ -24,21 +24,16 @@
           android:title="@string/forward"
           android:visible="false"/>
 
     <item android:id="@+id/bookmark"
           android:icon="@drawable/ic_menu_bookmark_add"
           android:title="@string/bookmark"
           android:showAsAction="always"/>
 
-    <item android:id="@+id/reading_list"
-          android:icon="@drawable/ic_menu_reader_add"
-          android:title="@string/overlay_share_reading_list_btn_label"
-          android:showAsAction="ifRoom"/>
-
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
     <!-- We only show the quick share items so no need for an icon or title.
 
          The visibility is changed dynamically for v14+ - hide for previous versions. -->
--- a/mobile/android/base/resources/menu/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu/browser_app_menu.xml
@@ -24,19 +24,16 @@
           android:title="@string/new_tab"/>
 
     <item android:id="@+id/new_private_tab"
           android:title="@string/new_private_tab"/>
 
     <item android:id="@+id/share"
           android:title="@string/share" />
 
-    <item android:id="@+id/reading_list"
-          android:title="@string/overlay_share_reading_list_btn_label" />
-
     <item android:id="@+id/find_in_page"
           android:title="@string/find_in_page" />
 
     <item android:id="@+id/desktop_mode"
           android:title="@string/desktop_mode"
           android:checkable="true" />
 
     <item android:id="@+id/bookmarks_list"
--- a/mobile/android/base/resources/menu/home_contextmenu.xml
+++ b/mobile/android/base/resources/menu/home_contextmenu.xml
@@ -24,21 +24,15 @@
           android:title="@string/contextmenu_top_sites_pin"/>
 
     <item android:id="@+id/top_sites_unpin"
           android:title="@string/contextmenu_top_sites_unpin"/>
 
     <item android:id="@+id/home_edit_bookmark"
           android:title="@string/contextmenu_edit_bookmark"/>
 
-    <item android:id="@+id/mark_read"
-          android:title="@string/contextmenu_mark_read" />
-
-    <item android:id="@+id/mark_unread"
-        android:title="@string/contextmenu_mark_unread" />
-
     <item android:id="@+id/home_remove"
           android:title="@string/contextmenu_remove"/>
 
     <item android:id="@+id/home_add_to_launcher"
           android:title="@string/contextmenu_add_to_launcher"/>
 
 </menu>
--- a/mobile/android/base/resources/values-large-v11/dimens.xml
+++ b/mobile/android/base/resources/values-large-v11/dimens.xml
@@ -26,16 +26,13 @@
 
     <dimen name="firstrun_brand_size">72dp</dimen>
     <dimen name="firstrun_background_height">300dp</dimen>
 
     <dimen name="tabs_panel_indicator_width">72dp</dimen>
     <dimen name="tabs_panel_button_width">60dp</dimen>
     <dimen name="panel_grid_view_column_width">200dp</dimen>
 
-    <dimen name="reading_list_row_height">96dp</dimen>
-    <dimen name="reading_list_row_padding_right">15dp</dimen>
-
     <dimen name="overlay_prompt_container_width">360dp</dimen>
 
     <item name="tab_strip_content_start" type="dimen">72dp</item>
 
 </resources>
--- a/mobile/android/base/resources/values-large-v11/styles.xml
+++ b/mobile/android/base/resources/values-large-v11/styles.xml
@@ -72,25 +72,16 @@
     <style name="Widget.TopSitesListView" parent="Widget.BookmarksListView">
         <item name="android:paddingTop">30dp</item>
         <item name="android:paddingLeft">32dp</item>
         <item name="android:paddingRight">32dp</item>
         <item name="android:clipToPadding">false</item>
         <item name="topDivider">false</item>
     </style>
 
-    <style name="Widget.ReadingListView" parent="Widget.BookmarksListView"/>
-
-    <style name="Widget.ReadingListRow.Description">
-        <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemDescription</item>
-        <item name="android:maxLines">2</item>
-        <item name="android:ellipsize">end</item>
-        <item name="android:lineSpacingMultiplier">1.3</item>
-    </style>
-
     <style name="Widget.HomeBanner">
         <item name="android:paddingLeft">32dp</item>
         <item name="android:paddingRight">32dp</item>
     </style>
 
     <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Medium">
         <item name="android:textSize">16sp</item>
     </style>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -84,20 +84,16 @@
     <!-- Regular page row on about:home -->
     <dimen name="page_row_height">64dp</dimen>
 
     <!-- Group/heading page row on about:home -->
     <dimen name="page_group_height">56dp</dimen>
     <dimen name="home_header_item_height">56dp</dimen>
     <dimen name="page_row_divider_height">1dp</dimen>
 
-    <!-- Reading list row on about:home -->
-    <dimen name="reading_list_row_height">128dp</dimen>
-    <dimen name="reading_list_row_padding_right">10dp</dimen>
-
     <!-- Remote Tabs static view top padding. Less in landscape on phones. -->
     <dimen name="home_remote_tabs_top_padding">48dp</dimen>
 
     <!-- Remote Tabs Hidden devices row height -->
     <dimen name="home_remote_tabs_hidden_footer_height">40dp</dimen>
 
     <!-- Search Engine Row height -->
     <dimen name="search_row_height">48dp</dimen>
--- a/mobile/android/base/resources/values/styles.xml
+++ b/mobile/android/base/resources/values/styles.xml
@@ -123,51 +123,16 @@
     </style>
 
     <style name="Widget.TwoLinePageRow.Url">
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemDescription</item>
         <item name="android:includeFontPadding">false</item>
         <item name="android:singleLine">true</item>
     </style>
 
-    <style name="Widget.ReadingListRow" />
-
-    <style name="Widget.ReadingListRow.Title">
-        <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemTitle</item>
-        <item name="android:maxLines">2</item>
-        <item name="android:ellipsize">end</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.Title.Read" parent="Widget.ReadingListRow.Title">
-        <item name="android:textColor">@color/disabled_grey</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.Title.Unread" parent="Widget.ReadingListRow.Title">
-        <item name="android:textColor">@color/text_and_tabs_tray_grey</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.Description">
-        <item name="android:textAppearance">@style/TextAppearance.Widget.Home.ItemDescription</item>
-        <item name="android:maxLines">3</item>
-        <item name="android:ellipsize">end</item>
-        <item name="android:lineSpacingMultiplier">1.3</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.Description.Read" parent="Widget.ReadingListRow.Description">
-        <item name="android:textColor">@color/disabled_grey</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.Description.Unread" parent="Widget.ReadingListRow.Description">
-        <item name="android:textColor">@color/text_and_tabs_tray_grey</item>
-    </style>
-
-    <style name="Widget.ReadingListRow.ReadTime">
-        <item name="android:textColor">@color/fennec_ui_orange</item>
-    </style>
-
     <style name="Widget.FolderView" parent="Widget.TwoLinePageRow.Title">
         <item name="android:layout_height">@dimen/page_group_height</item>
         <item name="android:minHeight">@dimen/page_group_height</item>
         <item name="android:singleLine">true</item>
         <item name="android:ellipsize">none</item>
         <item name="android:background">@color/about_page_header_grey</item>
         <item name="android:paddingLeft">20dp</item>
         <item name="android:drawablePadding">20dp</item>
@@ -239,18 +204,16 @@
     </style>
 
     <style name="Widget.HomeListView" parent="Widget.ListView">
         <item name="android:divider">@color/toolbar_divider_grey</item>
     </style>
 
     <style name="Widget.TopSitesListView" parent="Widget.BookmarksListView"/>
 
-    <style name="Widget.ReadingListView" parent="Widget.BookmarksListView"/>
-
     <style name="Widget.HomeBanner"/>
 
     <style name="Widget.Home" />
 
     <style name="Widget.Home.HeaderItem">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">32dp</item>
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.Header</item>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -51,16 +51,19 @@
 
   <string name="firstrun_welcome_restricted">&onboard_start_restricted1;</string>
 
   <string name="bookmarks_title">&bookmarks_title;</string>
   <string name="history_title">&history_title;</string>
   <string name="reading_list_title">&reading_list_title;</string>
   <string name="recent_tabs_title">&recent_tabs_title;</string>
 
+  <!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/reading-list -->
+  <string name="migrated_reading_list_url">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/reading-list</string>
+
   <string name="switch_to_tab">&switch_to_tab;</string>
 
   <string name="crash_reporter_title">&crash_reporter_title;</string>
   <string name="crash_message2">&crash_message2;</string>
   <string name="crash_send_report_message3">&crash_send_report_message3;</string>
   <string name="crash_include_url2">&crash_include_url2;</string>
   <string name="crash_sorry">&crash_sorry;</string>
   <string name="crash_comment">&crash_comment;</string>
@@ -89,16 +92,17 @@
   <string name="bookmark_remove">&bookmark_remove;</string>
   <string name="bookmark_added">&bookmark_added;</string>
   <string name="bookmark_already_added">&bookmark_already_added;</string>
   <string name="bookmark_removed">&bookmark_removed;</string>
   <string name="bookmark_updated">&bookmark_updated;</string>
   <string name="bookmark_options">&bookmark_options;</string>
   <string name="screenshot_added_to_bookmarks">&screenshot_added_to_bookmarks;</string>
   <string name="screenshot_folder_label_in_bookmarks">&screenshot_folder_label_in_bookmarks;</string>
+  <string name="readinglist_smartfolder_label_in_bookmarks">&readinglist_smartfolder_label_in_bookmarks;</string>
 
   <string name="history_today_section">&history_today_section;</string>
   <string name="history_yesterday_section">&history_yesterday_section;</string>
   <string name="history_week_section">&history_week_section3;</string>
   <string name="history_older_section">&history_older_section3;</string>
 
   <string name="share">&share;</string>
   <string name="share_title">&share_title;</string>
@@ -118,19 +122,17 @@
   <string name="media_sending_to">&media_sending_to;</string>
   <string name="media_play">&media_play;</string>
   <string name="media_pause">&media_pause;</string>
   <string name="media_stop">&media_stop;</string>
 
   <string name="overlay_share_send_other">&overlay_share_send_other;</string>
   <string name="overlay_share_label">&overlay_share_label;</string>
   <string name="overlay_share_bookmark_btn_label">&overlay_share_bookmark_btn_label;</string>
-  <string name="overlay_share_reading_list_btn_label">&overlay_share_reading_list_btn_label;</string>
   <string name="overlay_share_bookmark_btn_label_already">&overlay_share_bookmark_btn_label_already;</string>
-  <string name="overlay_share_reading_list_btn_label_already">&overlay_share_reading_list_btn_label_already;</string>
   <string name="overlay_share_send_tab_btn_label">&overlay_share_send_tab_btn_label;</string>
   <string name="overlay_share_no_url">&overlay_share_no_url;</string>
   <string name="overlay_share_select_device">&overlay_share_select_device;</string>
   <string name="overlay_no_synced_devices">&overlay_no_synced_devices;</string>
 
   <string name="settings">&settings;</string>
   <string name="settings_title">&settings_title;</string>
   <string name="pref_category_general">&pref_category_general;</string>
@@ -356,20 +358,19 @@
   <string name="tabs_normal">&tabs_normal;</string>
   <string name="tabs_private">&tabs_private;</string>
   <string name="edit_mode_cancel">&edit_mode_cancel;</string>
 
   <string name="site_settings_title">&site_settings_title3;</string>
   <string name="site_settings_cancel">&site_settings_cancel;</string>
   <string name="site_settings_clear">&site_settings_clear;</string>
 
-  <string name="reading_list_added">&reading_list_added3;</string>
-  <string name="reading_list_removed">&reading_list_removed;</string>
-  <string name="reading_list_remove">&reading_list_remove;</string>
-  <string name="reading_list_duplicate">&reading_list_duplicate;</string>
+  <string name="reading_list_migration_title">&reading_list_migration_title;</string>
+  <string name="reading_list_migration_subtext">&reading_list_migration_subtext;</string>
+  <string name="reading_list_migration_goto_bookmarks">&reading_list_migration_goto_bookmarks;</string>
 
   <string name="page_action_dropmarker_description">&page_action_dropmarker_description;</string>
 
   <string name="contextmenu_open_new_tab">&contextmenu_open_new_tab;</string>
   <string name="contextmenu_open_private_tab">&contextmenu_open_private_tab;</string>
   <string name="contextmenu_remove">&contextmenu_remove;</string>
   <string name="contextmenu_add_to_launcher">&contextmenu_add_to_launcher;</string>
   <string name="contextmenu_share">&contextmenu_share;</string>
@@ -378,18 +379,16 @@
   <string name="contextmenu_copyurl">&contextmenu_copyurl;</string>
   <string name="contextmenu_edit_bookmark">&contextmenu_edit_bookmark;</string>
   <string name="contextmenu_subscribe">&contextmenu_subscribe;</string>
   <string name="contextmenu_site_settings">&contextmenu_site_settings;</string>
   <string name="contextmenu_top_sites_edit">&contextmenu_top_sites_edit;</string>
   <string name="contextmenu_top_sites_pin">&contextmenu_top_sites_pin;</string>
   <string name="contextmenu_top_sites_unpin">&contextmenu_top_sites_unpin;</string>
   <string name="contextmenu_add_search_engine">&contextmenu_add_search_engine;</string>
-  <string name="contextmenu_mark_read">&contextmenu_mark_read;</string>
-  <string name="contextmenu_mark_unread">&contextmenu_mark_unread;</string>
 
   <string name="doorhanger_login_no_username">&doorhanger_login_no_username;</string>
   <string name="doorhanger_login_edit_title">&doorhanger_login_edit_title;</string>
   <string name="doorhanger_login_edit_username_hint">&doorhanger_login_edit_username_hint;</string>
   <string name="doorhanger_login_edit_password_hint">&doorhanger_login_edit_password_hint;</string>
   <string name="doorhanger_login_edit_toggle">&doorhanger_login_edit_toggle;</string>
   <string name="doorhanger_login_edit_toast_error">&doorhanger_login_edit_toast_error;</string>
   <string name="doorhanger_login_select_message">&doorhanger_login_select_message;</string>
@@ -436,17 +435,16 @@
   <string name="home_bookmarks_empty">&home_bookmarks_empty;</string>
   <string name="home_closed_tabs_title">&home_closed_tabs_title;</string>
   <string name="home_last_tabs_title">&home_last_tabs_title;</string>
   <string name="home_last_tabs_empty">&home_last_tabs_empty;</string>
   <string name="home_open_all">&home_open_all;</string>
   <string name="home_most_recent_empty">&home_most_recent_empty;</string>
   <string name="home_selected_empty">&home_selected_empty;</string>
   <string name="home_most_recent_emptyhint">&home_most_recent_emptyhint2;</string>
-  <string name="home_reading_list_empty">&home_reading_list_empty;</string>
   <string name="home_default_empty">&home_default_empty;</string>
   <string name="home_move_back_to_filter">&home_move_back_to_filter;</string>
   <string name="home_remote_tabs_title">&home_remote_tabs_title;</string>
   <string name="home_remote_tabs_empty">&home_remote_tabs_empty;</string>
   <string name="home_remote_tabs_unable_to_connect">&home_remote_tabs_unable_to_connect;</string>
   <string name="home_remote_tabs_need_to_sign_in">&home_remote_tabs_need_to_sign_in;</string>
   <string name="home_remote_tabs_need_to_finish_migrating">&home_remote_tabs_need_to_finish_migrating;</string>
   <string name="home_remote_tabs_trouble_verifying">&home_remote_tabs_trouble_verifying;</string>
--- a/mobile/android/chrome/content/Reader.js
+++ b/mobile/android/chrome/content/Reader.js
@@ -71,20 +71,28 @@ var Reader = {
   observe: function Reader_observe(aMessage, aTopic, aData) {
     switch (aTopic) {
       case "Reader:FetchContent": {
         let data = JSON.parse(aData);
         this._fetchContent(data.url, data.id);
         break;
       }
 
-      case "Reader:Removed": {
+      case "Reader:RemoveFromCache": {
         ReaderMode.removeArticleFromCache(aData).catch(e => Cu.reportError("Error removing article from cache: " + e));
         break;
       }
+
+      case "Reader:AddToCache": {
+        // If the article is coming from reader mode, we must have fetched it already.
+        this._getArticle(aData).then((article) => {
+          ReaderMode.storeArticleInCache(article);
+        }).catch(e => Cu.reportError("Error storing article in cache: " + e));
+        break;
+      }
     }
   },
 
   receiveMessage: function(message) {
     switch (message.name) {
       case "Reader:ArticleGet":
         this._getArticle(message.data.url).then((article) => {
           // Make sure the target browser is still alive before trying to send data back.
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -148,17 +148,17 @@ var lazilyLoadedObserverScripts = [
   ["MemoryObserver", ["memory-pressure", "Memory:Dump"], "chrome://browser/content/MemoryObserver.js"],
   ["ConsoleAPI", ["console-api-log-event"], "chrome://browser/content/ConsoleAPI.js"],
   ["FindHelper", ["FindInPage:Opened", "FindInPage:Closed", "Tab:Selected"], "chrome://browser/content/FindHelper.js"],
   ["PermissionsHelper", ["Permissions:Check", "Permissions:Get", "Permissions:Clear"], "chrome://browser/content/PermissionsHelper.js"],
   ["FeedHandler", ["Feeds:Subscribe"], "chrome://browser/content/FeedHandler.js"],
   ["Feedback", ["Feedback:Show"], "chrome://browser/content/Feedback.js"],
   ["SelectionHandler", ["TextSelection:Get"], "chrome://browser/content/SelectionHandler.js"],
   ["EmbedRT", ["GeckoView:ImportScript"], "chrome://browser/content/EmbedRT.js"],
-  ["Reader", ["Reader:FetchContent", "Reader:Removed"], "chrome://browser/content/Reader.js"],
+  ["Reader", ["Reader:FetchContent", "Reader:AddToCache", "Reader:RemoveFromCache"], "chrome://browser/content/Reader.js"],
   ["PrintHelper", ["Print:PDF"], "chrome://browser/content/PrintHelper.js"],
 ];
 if (AppConstants.NIGHTLY_BUILD) {
   lazilyLoadedObserverScripts.push(
     ["ActionBarHandler", ["TextSelection:Get", "TextSelection:Action", "TextSelection:End"],
       "chrome://browser/content/ActionBarHandler.js"]
   );
 }
@@ -184,16 +184,18 @@ lazilyLoadedObserverScripts.forEach(func
   notifications.forEach((notification) => {
     Services.obs.addObserver(observer, notification, false);
   });
 });
 
 // Lazily-loaded browser scripts that use message listeners.
 [
   ["Reader", [
+    ["Reader:AddToCache", false],
+    ["Reader:RemoveFromCache", false],
     ["Reader:ArticleGet", false],
     ["Reader:DropdownClosed", true], // 'true' allows us to survive mid-air cycle-collection.
     ["Reader:DropdownOpened", false],
     ["Reader:FaviconRequest", false],
     ["Reader:ToolbarHidden", false],
     ["Reader:SystemUIVisibility", false],
     ["Reader:UpdateReaderButton", false],
   ], "chrome://browser/content/Reader.js"],
@@ -633,30 +635,16 @@ var BrowserApp = {
             action: {
               label: buttonLabel,
               callback: () => { BrowserApp.selectTab(tab); },
             }
           });
         });
     }
 
-    NativeWindow.contextmenus.add(stringGetter("contextmenu.addToReadingList"),
-      NativeWindow.contextmenus.linkOpenableContext,
-      function(aTarget) {
-        UITelemetry.addEvent("action.1", "contextmenu", null, "web_reading_list");
-        UITelemetry.addEvent("save.1", "contextmenu", null, "reading_list");
-
-        let url = NativeWindow.contextmenus._getLinkURL(aTarget);
-        Messaging.sendRequestForResult({
-            type: "Reader:AddToList",
-            title: truncate(url, MAX_TITLE_LENGTH),
-            url: truncate(url, MAX_URI_LENGTH),
-        }).catch(Cu.reportError);
-      });
-
     NativeWindow.contextmenus.add(stringGetter("contextmenu.copyLink"),
       NativeWindow.contextmenus.linkCopyableContext,
       function(aTarget) {
         UITelemetry.addEvent("action.1", "contextmenu", null, "web_copy_link");
 
         let url = NativeWindow.contextmenus._getLinkURL(aTarget);
         NativeWindow.contextmenus._copyStringToDefaultClipboard(url);
       });
@@ -3468,26 +3456,29 @@ Tab.prototype = {
 
     // Note that the XBL binding is untrusted
     this.browser.addEventListener("PluginBindingAttached", this, true, true);
     this.browser.addEventListener("VideoBindingAttached", this, true, true);
     this.browser.addEventListener("VideoBindingCast", this, true, true);
 
     Services.obs.addObserver(this, "before-first-paint", false);
 
+    // Always intialise new tabs with basic session store data to avoid
+    // problems with functions that always expect it to be present
+    this.browser.__SS_data = {
+      entries: [{
+        url: aURL,
+        title: truncate(title, MAX_TITLE_LENGTH)
+      }],
+      index: 1
+    };
+
     if (aParams.delayLoad) {
-      // If this is a zombie tab, attach restore data so the tab will be
-      // restored when selected
-      this.browser.__SS_data = {
-        entries: [{
-          url: aURL,
-          title: truncate(title, MAX_TITLE_LENGTH)
-        }],
-        index: 1
-      };
+      // If this is a zombie tab, mark the browser for delay loading, which will
+      // restore the tab when selected using the session data added above
       this.browser.__SS_restore = true;
     } else {
       let flags = "flags" in aParams ? aParams.flags : Ci.nsIWebNavigation.LOAD_FLAGS_NONE;
       let postData = ("postData" in aParams && aParams.postData) ? aParams.postData.value : null;
       let referrerURI = "referrerURI" in aParams ? aParams.referrerURI : null;
       let charset = "charset" in aParams ? aParams.charset : null;
 
       // The search term the user entered to load the current URL
--- a/mobile/android/locales/en-US/chrome/browser.properties
+++ b/mobile/android/locales/en-US/chrome/browser.properties
@@ -237,17 +237,16 @@ selectionHelper.textCopied=Text copied t
 # dialog/prompt.
 casting.sendToDevice=Send to Device
 casting.mirrorTab=Mirror Tab
 casting.mirrorTabStop=Stop Mirror
 
 # Context menu
 contextmenu.openInNewTab=Open Link in New Tab
 contextmenu.openInPrivateTab=Open Link in Private Tab
-contextmenu.addToReadingList=Add to Reading List
 contextmenu.share=Share
 contextmenu.copyLink=Copy Link
 contextmenu.shareLink=Share Link
 contextmenu.bookmarkLink=Bookmark Link
 contextmenu.copyEmailAddress=Copy Email Address
 contextmenu.shareEmailAddress=Share Email Address
 contextmenu.copyPhoneNumber=Copy Phone Number
 contextmenu.sharePhoneNumber=Share Phone Number
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..77524cf99602965e9df1763b0130bbe592cf2500
GIT binary patch
literal 368640
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
FzX2I89@_u_
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..684c7c64442422164f84a78983297f0141d03b86
GIT binary patch
literal 466944
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%0D3UaXA1uyQqLn35*lVcK7Y
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