Bug 958185 - Rename Page* terminology to Panel* in the home package (r=margaret)
authorLucas Rocha <lucasr@mozilla.com>
Fri, 10 Jan 2014 17:18:07 -0800
changeset 178989 e6fc7735a592c666ccf6fa47e93d055d6f81d663
parent 178988 9d410546acc3bf8f2376e784ce016805b423218e
child 178990 5ae12ca85cdc5821d4c5fe54c88e26e8de8927dc
push id3343
push userffxbld
push dateMon, 17 Mar 2014 21:55:32 +0000
treeherdermozilla-beta@2f7d3415f79f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmargaret
bugs958185
milestone29.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 958185 - Rename Page* terminology to Panel* in the home package (r=margaret)
CLOBBER
mobile/android/base/home/BookmarksPage.java
mobile/android/base/home/BookmarksPanel.java
mobile/android/base/home/HistoryPage.java
mobile/android/base/home/HistoryPanel.java
mobile/android/base/home/HomeAdapter.java
mobile/android/base/home/HomeConfig.java
mobile/android/base/home/HomeConfigLoader.java
mobile/android/base/home/HomeConfigPrefsBackend.java
mobile/android/base/home/HomePager.java
mobile/android/base/home/LastTabsPage.java
mobile/android/base/home/LastTabsPanel.java
mobile/android/base/home/ListPage.java
mobile/android/base/home/ListPanel.java
mobile/android/base/home/MostRecentPage.java
mobile/android/base/home/MostRecentPanel.java
mobile/android/base/home/PinSiteDialog.java
mobile/android/base/home/ReadingListPage.java
mobile/android/base/home/ReadingListPanel.java
mobile/android/base/home/TopSitesGridItemView.java
mobile/android/base/home/TopSitesGridView.java
mobile/android/base/home/TopSitesPage.java
mobile/android/base/home/TopSitesPanel.java
mobile/android/base/moz.build
mobile/android/base/resources/drawable/home_page_title_background.xml
mobile/android/base/resources/drawable/home_panel_title_background.xml
mobile/android/base/resources/layout-large-land-v11/home_history_page.xml
mobile/android/base/resources/layout-large-land-v11/home_history_panel.xml
mobile/android/base/resources/layout-xlarge-v11/home_history_page.xml
mobile/android/base/resources/layout-xlarge-v11/home_history_panel.xml
mobile/android/base/resources/layout/home_bookmarks_page.xml
mobile/android/base/resources/layout/home_bookmarks_panel.xml
mobile/android/base/resources/layout/home_history_list.xml
mobile/android/base/resources/layout/home_history_page.xml
mobile/android/base/resources/layout/home_history_panel.xml
mobile/android/base/resources/layout/home_last_tabs_page.xml
mobile/android/base/resources/layout/home_last_tabs_panel.xml
mobile/android/base/resources/layout/home_most_recent_page.xml
mobile/android/base/resources/layout/home_most_recent_panel.xml
mobile/android/base/resources/layout/home_reading_list_page.xml
mobile/android/base/resources/layout/home_reading_list_panel.xml
mobile/android/base/resources/layout/home_top_sites_page.xml
mobile/android/base/resources/layout/home_top_sites_panel.xml
mobile/android/base/resources/values-large-land-v11/styles.xml
mobile/android/base/resources/values-large-v11/styles.xml
mobile/android/base/resources/values/styles.xml
mobile/android/base/tests/components/AboutHomeComponent.java
mobile/android/base/tests/robocop.ini
mobile/android/base/tests/testAboutHomePageNavigation.java
mobile/android/base/tests/testAboutHomeVisibility.java
mobile/android/base/tests/testBookmarksPage.java
mobile/android/base/tests/testBookmarksPanel.java
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Bug 944533 requires clobber to force a Proguard refresh
+Bug 958185 requires clobber on Android to force a Proguard refresh
rename from mobile/android/base/home/BookmarksPage.java
rename to mobile/android/base/home/BookmarksPanel.java
--- a/mobile/android/base/home/BookmarksPage.java
+++ b/mobile/android/base/home/BookmarksPanel.java
@@ -27,18 +27,18 @@ import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import java.util.List;
 
 /**
  * A page in about:home that displays a ListView of bookmarks.
  */
-public class BookmarksPage extends HomeFragment {
-    public static final String LOGTAG = "GeckoBookmarksPage";
+public class BookmarksPanel extends HomeFragment {
+    public static final String LOGTAG = "GeckoBookmarksPanel";
 
     // Cursor loader ID for list of bookmarks.
     private static final int LOADER_ID_BOOKMARKS_LIST = 0;
 
     // Information about the target bookmarks folder.
     private static final String BOOKMARKS_FOLDER_INFO = "folder_info";
 
     // Refresh type for folder refreshing loader.
@@ -56,17 +56,17 @@ public class BookmarksPage extends HomeF
     // Reference to the View to display when there are no results.
     private View mEmptyView;
 
     // Callback for cursor loaders.
     private CursorLoaderCallbacks mLoaderCallbacks;
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        final View view = inflater.inflate(R.layout.home_bookmarks_page, container, false);
+        final View view = inflater.inflate(R.layout.home_bookmarks_panel, container, false);
 
         mList = (BookmarksListView) view.findViewById(R.id.bookmarks_list);
 
         return view;
     }
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
rename from mobile/android/base/home/HistoryPage.java
rename to mobile/android/base/home/HistoryPanel.java
--- a/mobile/android/base/home/HistoryPage.java
+++ b/mobile/android/base/home/HistoryPanel.java
@@ -14,27 +14,27 @@ import android.content.res.Resources;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.LayoutInflater;
 
 import android.widget.ImageButton;
 
-public class HistoryPage extends HomeFragment
-                        implements IconTabWidget.OnTabChangedListener {
+public class HistoryPanel extends HomeFragment
+                          implements IconTabWidget.OnTabChangedListener {
     // Logging tag name
-    private static final String LOGTAG = "GeckoHistoryPage";
+    private static final String LOGTAG = "GeckoHistoryPanel";
     private IconTabWidget mTabWidget;
     private int mSelectedTab;
-    private boolean initializeRecentPage;
+    private boolean initializeRecentPanel;
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.home_history_page, container, false);
+        return inflater.inflate(R.layout.home_history_panel, container, false);
     }
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
         mTabWidget = (IconTabWidget) view.findViewById(R.id.tab_icon_widget);
 
@@ -44,34 +44,34 @@ public class HistoryPage extends HomeFra
         mTabWidget.setTabSelectionListener(this);
         mTabWidget.setCurrentTab(mSelectedTab);
 
         loadIfVisible();
     }
 
     @Override
     public void load() {
-        // Show most recent page as the initial page.
+        // Show most recent panel as the initial panel.
         // Since we detach/attach on config change, this prevents from replacing current fragment.
-        if (!initializeRecentPage) {
-            showMostRecentPage();
-            initializeRecentPage = true;
+        if (!initializeRecentPanel) {
+            showMostRecentPanel();
+            initializeRecentPanel = true;
         }
     }
 
     @Override
     public void onTabChanged(int index) {
         if (index == mSelectedTab) {
             return;
         }
 
         if (index == 0) {
-            showMostRecentPage();
+            showMostRecentPanel();
         } else if (index == 1) {
-            showLastTabsPage();
+            showLastTabsPanel();
         }
 
         mTabWidget.setCurrentTab(index);
         mSelectedTab = index;
     }
 
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
@@ -81,28 +81,28 @@ public class HistoryPage extends HomeFra
         if (isVisible()) {
             getFragmentManager().beginTransaction()
                                 .detach(this)
                                 .attach(this)
                                 .commitAllowingStateLoss();
         }
     }
 
-    private void showSubPage(Fragment subPage) {
+    private void showSubPanel(Fragment subPanel) {
         final Bundle args = new Bundle();
         args.putBoolean(HomePager.CAN_LOAD_ARG, getCanLoadHint());
-        subPage.setArguments(args);
+        subPanel.setArguments(args);
 
         getChildFragmentManager().beginTransaction()
-                .addToBackStack(null).replace(R.id.history_page_container, subPage)
+                .addToBackStack(null).replace(R.id.history_panel_container, subPanel)
                 .commitAllowingStateLoss();
     }
 
-    private void showMostRecentPage() {
-        final MostRecentPage mostRecentPage = MostRecentPage.newInstance();
-        showSubPage(mostRecentPage);
+    private void showMostRecentPanel() {
+        final MostRecentPanel mostRecentPanel = MostRecentPanel.newInstance();
+        showSubPanel(mostRecentPanel);
     }
 
-    private void showLastTabsPage() {
-        final LastTabsPage lastTabsPage = LastTabsPage.newInstance();
-        showSubPage(lastTabsPage);
+    private void showLastTabsPanel() {
+        final LastTabsPanel lastTabsPanel = LastTabsPanel.newInstance();
+        showSubPanel(lastTabsPanel);
     }
 }
--- a/mobile/android/base/home/HomeAdapter.java
+++ b/mobile/android/base/home/HomeAdapter.java
@@ -1,178 +1,178 @@
 /* -*- 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.home.HomeConfig.PageEntry;
-import org.mozilla.gecko.home.HomeConfig.PageType;
+import org.mozilla.gecko.home.HomeConfig.PanelConfig;
+import org.mozilla.gecko.home.HomeConfig.PanelType;
 import org.mozilla.gecko.home.HomePager;
 
 import android.content.Context;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentStatePagerAdapter;
 import android.view.ViewGroup;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
 class HomeAdapter extends FragmentStatePagerAdapter {
 
     private final Context mContext;
-    private final ArrayList<PageInfo> mPageInfos;
-    private final HashMap<String, Fragment> mPages;
+    private final ArrayList<PanelInfo> mPanelInfos;
+    private final HashMap<String, Fragment> mPanels;
 
     private boolean mCanLoadHint;
 
-    private OnAddPageListener mAddPageListener;
+    private OnAddPanelListener mAddPanelListener;
 
-    interface OnAddPageListener {
-        public void onAddPage(String title);
+    interface OnAddPanelListener {
+        public void onAddPanel(String title);
     }
 
     public HomeAdapter(Context context, FragmentManager fm) {
         super(fm);
 
         mContext = context;
         mCanLoadHint = HomeFragment.DEFAULT_CAN_LOAD_HINT;
 
-        mPageInfos = new ArrayList<PageInfo>();
-        mPages = new HashMap<String, Fragment>();
+        mPanelInfos = new ArrayList<PanelInfo>();
+        mPanels = new HashMap<String, Fragment>();
     }
 
     @Override
     public int getCount() {
-        return mPageInfos.size();
+        return mPanelInfos.size();
     }
 
     @Override
     public Fragment getItem(int position) {
-        PageInfo info = mPageInfos.get(position);
+        PanelInfo info = mPanelInfos.get(position);
         return Fragment.instantiate(mContext, info.getClassName(), info.getArgs());
     }
 
     @Override
     public CharSequence getPageTitle(int position) {
-        if (mPageInfos.size() > 0) {
-            PageInfo info = mPageInfos.get(position);
+        if (mPanelInfos.size() > 0) {
+            PanelInfo info = mPanelInfos.get(position);
             return info.getTitle().toUpperCase();
         }
 
         return null;
     }
 
     @Override
     public Object instantiateItem(ViewGroup container, int position) {
         Fragment fragment = (Fragment) super.instantiateItem(container, position);
-        mPages.put(mPageInfos.get(position).getId(), fragment);
+        mPanels.put(mPanelInfos.get(position).getId(), fragment);
 
         return fragment;
     }
 
     @Override
     public void destroyItem(ViewGroup container, int position, Object object) {
         super.destroyItem(container, position, object);
-        mPages.remove(mPageInfos.get(position).getId());
+        mPanels.remove(mPanelInfos.get(position).getId());
     }
 
-    public void setOnAddPageListener(OnAddPageListener listener) {
-        mAddPageListener = listener;
+    public void setOnAddPanelListener(OnAddPanelListener listener) {
+        mAddPanelListener = listener;
     }
 
-    public int getItemPosition(String pageId) {
-        for (int i = 0; i < mPageInfos.size(); i++) {
-            final String id = mPageInfos.get(i).getId();
-            if (id.equals(pageId)) {
+    public int getItemPosition(String panelId) {
+        for (int i = 0; i < mPanelInfos.size(); i++) {
+            final String id = mPanelInfos.get(i).getId();
+            if (id.equals(panelId)) {
                 return i;
             }
         }
 
         return -1;
     }
 
-    public String getPageIdAtPosition(int position) {
-        // getPageAtPosition() might be called before HomeAdapter
-        // has got its initial list of PageEntries. Just bail.
-        if (mPageInfos.isEmpty()) {
+    public String getPanelIdAtPosition(int position) {
+        // getPanelIdAtPosition() might be called before HomeAdapter
+        // has got its initial list of PanelConfigs. Just bail.
+        if (mPanelInfos.isEmpty()) {
             return null;
         }
 
-        return mPageInfos.get(position).getId();
+        return mPanelInfos.get(position).getId();
     }
 
-    private void addPage(PageInfo info) {
-        mPageInfos.add(info);
+    private void addPanel(PanelInfo info) {
+        mPanelInfos.add(info);
 
-        if (mAddPageListener != null) {
-            mAddPageListener.onAddPage(info.getTitle());
+        if (mAddPanelListener != null) {
+            mAddPanelListener.onAddPanel(info.getTitle());
         }
     }
 
-    public void update(List<PageEntry> pageEntries) {
-        mPages.clear();
-        mPageInfos.clear();
+    public void update(List<PanelConfig> panelConfigs) {
+        mPanels.clear();
+        mPanelInfos.clear();
 
-        if (pageEntries != null) {
-            for (PageEntry pageEntry : pageEntries) {
-                final PageInfo info = new PageInfo(pageEntry);
-                addPage(info);
+        if (panelConfigs != null) {
+            for (PanelConfig panelConfig : panelConfigs) {
+                final PanelInfo info = new PanelInfo(panelConfig);
+                addPanel(info);
             }
         }
 
         notifyDataSetChanged();
     }
 
     public boolean getCanLoadHint() {
         return mCanLoadHint;
     }
 
     public void setCanLoadHint(boolean canLoadHint) {
         // We cache the last hint value so that we can use it when
-        // creating new pages. See PageInfo.getArgs().
+        // creating new panels. See PanelInfo.getArgs().
         mCanLoadHint = canLoadHint;
 
-        // Enable/disable loading on all existing pages
-        for (Fragment page : mPages.values()) {
-            final HomeFragment homePage = (HomeFragment) page;
-            homePage.setCanLoadHint(canLoadHint);
+        // Enable/disable loading on all existing panels
+        for (Fragment panelFragment : mPanels.values()) {
+            final HomeFragment panel = (HomeFragment) panelFragment;
+            panel.setCanLoadHint(canLoadHint);
         }
     }
 
-    private final class PageInfo {
-        private final PageEntry mPageEntry;
+    private final class PanelInfo {
+        private final PanelConfig mPanelConfig;
 
-        PageInfo(PageEntry pageEntry) {
-            mPageEntry = pageEntry;
+        PanelInfo(PanelConfig panelConfig) {
+            mPanelConfig = panelConfig;
         }
 
         public String getId() {
-            return mPageEntry.getId();
+            return mPanelConfig.getId();
         }
 
         public String getTitle() {
-            return mPageEntry.getTitle();
+            return mPanelConfig.getTitle();
         }
 
         public String getClassName() {
-            final PageType type = mPageEntry.getType();
-            return type.getPageClass().getName();
+            final PanelType type = mPanelConfig.getType();
+            return type.getPanelClass().getName();
         }
 
         public Bundle getArgs() {
             final Bundle args = new Bundle();
 
             args.putBoolean(HomePager.CAN_LOAD_ARG, mCanLoadHint);
 
-            // Only list pages need the page entry
-            if (mPageEntry.getType() == PageType.LIST) {
-                args.putParcelable(HomePager.PAGE_ENTRY_ARG, mPageEntry);
+            // Only ListPanel's need the PanelConfig argument
+            if (mPanelConfig.getType() == PanelType.LIST) {
+                args.putParcelable(HomePager.PANEL_CONFIG_ARG, mPanelConfig);
             }
 
             return args;
         }
     }
 }
--- a/mobile/android/base/home/HomeConfig.java
+++ b/mobile/android/base/home/HomeConfig.java
@@ -9,192 +9,192 @@ import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
 
 import java.util.EnumSet;
 import java.util.List;
 
 final class HomeConfig {
-    public static enum PageType implements Parcelable {
-        TOP_SITES("top_sites", TopSitesPage.class),
-        BOOKMARKS("bookmarks", BookmarksPage.class),
-        HISTORY("history", HistoryPage.class),
-        READING_LIST("reading_list", ReadingListPage.class),
-        LIST("list", ListPage.class);
+    public static enum PanelType implements Parcelable {
+        TOP_SITES("top_sites", TopSitesPanel.class),
+        BOOKMARKS("bookmarks", BookmarksPanel.class),
+        HISTORY("history", HistoryPanel.class),
+        READING_LIST("reading_list", ReadingListPanel.class),
+        LIST("list", ListPanel.class);
 
         private final String mId;
-        private final Class<?> mPageClass;
+        private final Class<?> mPanelClass;
 
-        PageType(String id, Class<?> pageClass) {
+        PanelType(String id, Class<?> panelClass) {
             mId = id;
-            mPageClass = pageClass;
+            mPanelClass = panelClass;
         }
 
-        public static PageType fromId(String id) {
+        public static PanelType fromId(String id) {
             if (id == null) {
-                throw new IllegalArgumentException("Could not convert null String to PageType");
+                throw new IllegalArgumentException("Could not convert null String to PanelType");
             }
 
-            for (PageType page : PageType.values()) {
-                if (TextUtils.equals(page.mId, id.toLowerCase())) {
-                    return page;
+            for (PanelType panelType : PanelType.values()) {
+                if (TextUtils.equals(panelType.mId, id.toLowerCase())) {
+                    return panelType;
                 }
             }
 
-            throw new IllegalArgumentException("Could not convert String id to PageType");
+            throw new IllegalArgumentException("Could not convert String id to PanelType");
         }
 
         @Override
         public String toString() {
             return mId;
         }
 
-        public Class<?> getPageClass() {
-            return mPageClass;
+        public Class<?> getPanelClass() {
+            return mPanelClass;
         }
 
         @Override
         public int describeContents() {
             return 0;
         }
 
         @Override
         public void writeToParcel(Parcel dest, int flags) {
             dest.writeInt(ordinal());
         }
 
-        public static final Creator<PageType> CREATOR = new Creator<PageType>() {
+        public static final Creator<PanelType> CREATOR = new Creator<PanelType>() {
             @Override
-            public PageType createFromParcel(final Parcel source) {
-                return PageType.values()[source.readInt()];
+            public PanelType createFromParcel(final Parcel source) {
+                return PanelType.values()[source.readInt()];
             }
 
             @Override
-            public PageType[] newArray(final int size) {
-                return new PageType[size];
+            public PanelType[] newArray(final int size) {
+                return new PanelType[size];
             }
         };
     }
 
-    public static class PageEntry implements Parcelable {
-        private final PageType mType;
+    public static class PanelConfig implements Parcelable {
+        private final PanelType mType;
         private final String mTitle;
         private final String mId;
         private final EnumSet<Flags> mFlags;
 
         public enum Flags {
-            DEFAULT_PAGE
+            DEFAULT_PANEL
         }
 
         @SuppressWarnings("unchecked")
-        public PageEntry(Parcel in) {
-            mType = (PageType) in.readParcelable(getClass().getClassLoader());
+        public PanelConfig(Parcel in) {
+            mType = (PanelType) in.readParcelable(getClass().getClassLoader());
             mTitle = in.readString();
             mId = in.readString();
             mFlags = (EnumSet<Flags>) in.readSerializable();
         }
 
-        public PageEntry(PageType type, String title) {
+        public PanelConfig(PanelType type, String title) {
             this(type, title, EnumSet.noneOf(Flags.class));
         }
 
-        public PageEntry(PageType type, String title, EnumSet<Flags> flags) {
+        public PanelConfig(PanelType type, String title, EnumSet<Flags> flags) {
             this(type, title, type.toString(), flags);
         }
 
-        public PageEntry(PageType type, String title, String id) {
+        public PanelConfig(PanelType type, String title, String id) {
             this(type, title, id, EnumSet.noneOf(Flags.class));
         }
 
-        public PageEntry(PageType type, String title, String id, EnumSet<Flags> flags) {
+        public PanelConfig(PanelType type, String title, String id, EnumSet<Flags> flags) {
             if (type == null) {
-                throw new IllegalArgumentException("Can't create PageEntry with null type");
+                throw new IllegalArgumentException("Can't create PanelConfig with null type");
             }
             mType = type;
 
             if (title == null) {
-                throw new IllegalArgumentException("Can't create PageEntry with null title");
+                throw new IllegalArgumentException("Can't create PanelConfig with null title");
             }
             mTitle = title;
 
             if (id == null) {
-                throw new IllegalArgumentException("Can't create PageEntry with null id");
+                throw new IllegalArgumentException("Can't create PanelConfig with null id");
             }
             mId = id;
 
             if (flags == null) {
-                throw new IllegalArgumentException("Can't create PageEntry with null flags");
+                throw new IllegalArgumentException("Can't create PanelConfig with null flags");
             }
             mFlags = flags;
         }
 
-        public PageType getType() {
+        public PanelType getType() {
             return mType;
         }
 
         public String getTitle() {
             return mTitle;
         }
 
         public String getId() {
             return mId;
         }
 
         public boolean isDefault() {
-            return mFlags.contains(Flags.DEFAULT_PAGE);
+            return mFlags.contains(Flags.DEFAULT_PANEL);
         }
 
         @Override
         public int describeContents() {
             return 0;
         }
 
         @Override
         public void writeToParcel(Parcel dest, int flags) {
             dest.writeParcelable(mType, 0);
             dest.writeString(mTitle);
             dest.writeString(mId);
             dest.writeSerializable(mFlags);
         }
 
-        public static final Creator<PageEntry> CREATOR = new Creator<PageEntry>() {
+        public static final Creator<PanelConfig> CREATOR = new Creator<PanelConfig>() {
             @Override
-            public PageEntry createFromParcel(final Parcel in) {
-                return new PageEntry(in);
+            public PanelConfig createFromParcel(final Parcel in) {
+                return new PanelConfig(in);
             }
 
             @Override
-            public PageEntry[] newArray(final int size) {
-                return new PageEntry[size];
+            public PanelConfig[] newArray(final int size) {
+                return new PanelConfig[size];
             }
         };
     }
 
     public interface OnChangeListener {
         public void onChange();
     }
 
     public interface HomeConfigBackend {
-        public List<PageEntry> load();
-        public void save(List<PageEntry> entries);
+        public List<PanelConfig> load();
+        public void save(List<PanelConfig> entries);
         public void setOnChangeListener(OnChangeListener listener);
     }
 
     private final HomeConfigBackend mBackend;
 
     public HomeConfig(HomeConfigBackend backend) {
         mBackend = backend;
     }
 
-    public List<PageEntry> load() {
+    public List<PanelConfig> load() {
         return mBackend.load();
     }
 
-    public void save(List<PageEntry> entries) {
+    public void save(List<PanelConfig> entries) {
         mBackend.save(entries);
     }
 
     public void setOnChangeListener(OnChangeListener listener) {
         mBackend.setOnChangeListener(listener);
     }
 
     public static HomeConfig getDefault(Context context) {
--- a/mobile/android/base/home/HomeConfigLoader.java
+++ b/mobile/android/base/home/HomeConfigLoader.java
@@ -1,81 +1,81 @@
 /* -*- 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.home.HomeConfig.PageEntry;
+import org.mozilla.gecko.home.HomeConfig.PanelConfig;
 import org.mozilla.gecko.home.HomeConfig.OnChangeListener;
 
 import android.content.Context;
 import android.support.v4.content.AsyncTaskLoader;
 
 import java.util.List;
 
-public class HomeConfigLoader extends AsyncTaskLoader<List<PageEntry>> {
+public class HomeConfigLoader extends AsyncTaskLoader<List<PanelConfig>> {
     private final HomeConfig mConfig;
-    private List<PageEntry> mPageEntries;
+    private List<PanelConfig> mPanelConfigs;
 
     public HomeConfigLoader(Context context, HomeConfig homeConfig) {
         super(context);
         mConfig = homeConfig;
     }
 
     @Override
-    public List<PageEntry> loadInBackground() {
+    public List<PanelConfig> loadInBackground() {
         return mConfig.load();
     }
 
     @Override
-    public void deliverResult(List<PageEntry> pageEntries) {
+    public void deliverResult(List<PanelConfig> panelConfigs) {
         if (isReset()) {
-            mPageEntries = null;
+            mPanelConfigs = null;
             return;
         }
 
-        mPageEntries = pageEntries;
+        mPanelConfigs = panelConfigs;
         mConfig.setOnChangeListener(new ForceLoadChangeListener());
 
         if (isStarted()) {
-            super.deliverResult(pageEntries);
+            super.deliverResult(panelConfigs);
         }
     }
 
     @Override
     protected void onStartLoading() {
-        if (mPageEntries != null) {
-            deliverResult(mPageEntries);
+        if (mPanelConfigs != null) {
+            deliverResult(mPanelConfigs);
         }
 
-        if (takeContentChanged() || mPageEntries == null) {
+        if (takeContentChanged() || mPanelConfigs == null) {
             forceLoad();
         }
     }
 
     @Override
     protected void onStopLoading() {
         cancelLoad();
     }
 
     @Override
-    public void onCanceled(List<PageEntry> pageEntries) {
-        mPageEntries = null;
+    public void onCanceled(List<PanelConfig> panelConfigs) {
+        mPanelConfigs = null;
     }
 
     @Override
     protected void onReset() {
         super.onReset();
 
         // Ensure the loader is stopped.
         onStopLoading();
 
-        mPageEntries = null;
+        mPanelConfigs = null;
         mConfig.setOnChangeListener(null);
     }
 
     private class ForceLoadChangeListener implements OnChangeListener {
         @Override
         public void onChange() {
             onContentChanged();
         }
--- a/mobile/android/base/home/HomeConfigPrefsBackend.java
+++ b/mobile/android/base/home/HomeConfigPrefsBackend.java
@@ -3,18 +3,18 @@
  * 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.home.HomeConfig.HomeConfigBackend;
 import org.mozilla.gecko.home.HomeConfig.OnChangeListener;
-import org.mozilla.gecko.home.HomeConfig.PageEntry;
-import org.mozilla.gecko.home.HomeConfig.PageType;
+import org.mozilla.gecko.home.HomeConfig.PanelConfig;
+import org.mozilla.gecko.home.HomeConfig.PanelType;
 import org.mozilla.gecko.util.HardwareUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
 import android.content.Context;
@@ -48,139 +48,139 @@ class HomeConfigPrefsBackend implements 
     public HomeConfigPrefsBackend(Context context) {
         mContext = context;
     }
 
     private SharedPreferences getSharedPreferences() {
         return PreferenceManager.getDefaultSharedPreferences(mContext);
     }
 
-    private List<PageEntry> loadDefaultConfig() {
-        final ArrayList<PageEntry> pageEntries = new ArrayList<PageEntry>();
+    private List<PanelConfig> loadDefaultConfig() {
+        final ArrayList<PanelConfig> panelConfigs = new ArrayList<PanelConfig>();
 
-        pageEntries.add(new PageEntry(PageType.TOP_SITES,
+        panelConfigs.add(new PanelConfig(PanelType.TOP_SITES,
                                       mContext.getString(R.string.home_top_sites_title),
-                                      EnumSet.of(PageEntry.Flags.DEFAULT_PAGE)));
+                                      EnumSet.of(PanelConfig.Flags.DEFAULT_PANEL)));
 
-        pageEntries.add(new PageEntry(PageType.BOOKMARKS,
+        panelConfigs.add(new PanelConfig(PanelType.BOOKMARKS,
                                       mContext.getString(R.string.bookmarks_title)));
 
         // We disable reader mode support on low memory devices. Hence the
-        // reading list page should not show up on such devices.
+        // reading list panel should not show up on such devices.
         if (!HardwareUtils.isLowMemoryPlatform()) {
-            pageEntries.add(new PageEntry(PageType.READING_LIST,
+            panelConfigs.add(new PanelConfig(PanelType.READING_LIST,
                                           mContext.getString(R.string.reading_list_title)));
         }
 
-        final PageEntry historyEntry = new PageEntry(PageType.HISTORY,
+        final PanelConfig historyEntry = new PanelConfig(PanelType.HISTORY,
                                                      mContext.getString(R.string.home_history_title));
 
-        // On tablets, the history page is the last.
-        // On phones, the history page is the first one.
+        // On tablets, the history panel is the last.
+        // On phones, the history panel is the first one.
         if (HardwareUtils.isTablet()) {
-            pageEntries.add(historyEntry);
+            panelConfigs.add(historyEntry);
         } else {
-            pageEntries.add(0, historyEntry);
+            panelConfigs.add(0, historyEntry);
         }
 
-        return pageEntries;
+        return panelConfigs;
     }
 
-    private List<PageEntry> loadConfigFromString(String jsonString) {
-        final JSONArray jsonPageEntries;
+    private List<PanelConfig> loadConfigFromString(String jsonString) {
+        final JSONArray jsonPanelConfigs;
         try {
-            jsonPageEntries = new JSONArray(jsonString);
+            jsonPanelConfigs = new JSONArray(jsonString);
         } catch (JSONException e) {
-            Log.e(LOGTAG, "Error loading the list of home pages from JSON prefs", e);
+            Log.e(LOGTAG, "Error loading the list of home panels from JSON prefs", e);
 
             // Fallback to default config
             return loadDefaultConfig();
         }
 
-        final ArrayList<PageEntry> pageEntries = new ArrayList<PageEntry>();
+        final ArrayList<PanelConfig> panelConfigs = new ArrayList<PanelConfig>();
 
-        final int count = jsonPageEntries.length();
+        final int count = jsonPanelConfigs.length();
         for (int i = 0; i < count; i++) {
             try {
-                final JSONObject jsonPageEntry = jsonPageEntries.getJSONObject(i);
+                final JSONObject jsonPanelConfig = jsonPanelConfigs.getJSONObject(i);
 
-                final PageEntry pageEntry = loadPageEntryFromJSON(jsonPageEntry);
-                pageEntries.add(pageEntry);
+                final PanelConfig panelConfig = loadPanelConfigFromJSON(jsonPanelConfig);
+                panelConfigs.add(panelConfig);
             } catch (Exception e) {
-                Log.e(LOGTAG, "Exception loading page entry from JSON", e);
+                Log.e(LOGTAG, "Exception loading PanelConfig from JSON", e);
             }
         }
 
-        return pageEntries;
+        return panelConfigs;
     }
 
-    private PageEntry loadPageEntryFromJSON(JSONObject jsonPageEntry)
+    private PanelConfig loadPanelConfigFromJSON(JSONObject jsonPanelConfig)
             throws JSONException, IllegalArgumentException {
-        final PageType type = PageType.fromId(jsonPageEntry.getString(JSON_KEY_TYPE));
-        final String title = jsonPageEntry.getString(JSON_KEY_TITLE);
-        final String id = jsonPageEntry.getString(JSON_KEY_ID);
+        final PanelType type = PanelType.fromId(jsonPanelConfig.getString(JSON_KEY_TYPE));
+        final String title = jsonPanelConfig.getString(JSON_KEY_TITLE);
+        final String id = jsonPanelConfig.getString(JSON_KEY_ID);
 
-        final EnumSet<PageEntry.Flags> flags = EnumSet.noneOf(PageEntry.Flags.class);
-        final boolean isDefault = (jsonPageEntry.optInt(JSON_KEY_DEFAULT, -1) == IS_DEFAULT);
+        final EnumSet<PanelConfig.Flags> flags = EnumSet.noneOf(PanelConfig.Flags.class);
+        final boolean isDefault = (jsonPanelConfig.optInt(JSON_KEY_DEFAULT, -1) == IS_DEFAULT);
         if (isDefault) {
-            flags.add(PageEntry.Flags.DEFAULT_PAGE);
+            flags.add(PanelConfig.Flags.DEFAULT_PANEL);
         }
 
-        return new PageEntry(type, title, id, flags);
+        return new PanelConfig(type, title, id, flags);
     }
 
     @Override
-    public List<PageEntry> load() {
+    public List<PanelConfig> load() {
         final SharedPreferences prefs = getSharedPreferences();
         final String jsonString = prefs.getString(PREFS_KEY, null);
 
-        final List<PageEntry> pageEntries;
+        final List<PanelConfig> panelConfigs;
         if (TextUtils.isEmpty(jsonString)) {
-            pageEntries = loadDefaultConfig();
+            panelConfigs = loadDefaultConfig();
         } else {
-            pageEntries = loadConfigFromString(jsonString);
+            panelConfigs = loadConfigFromString(jsonString);
         }
 
-        return Collections.unmodifiableList(pageEntries);
+        return Collections.unmodifiableList(panelConfigs);
     }
 
-    private JSONObject convertPageEntryToJSON(PageEntry pageEntry) throws JSONException {
-        final JSONObject jsonPageEntry = new JSONObject();
+    private JSONObject convertPanelConfigToJSON(PanelConfig PanelConfig) throws JSONException {
+        final JSONObject jsonPanelConfig = new JSONObject();
 
-        jsonPageEntry.put(JSON_KEY_TYPE, pageEntry.getType().toString());
-        jsonPageEntry.put(JSON_KEY_TITLE, pageEntry.getTitle());
-        jsonPageEntry.put(JSON_KEY_ID, pageEntry.getId());
+        jsonPanelConfig.put(JSON_KEY_TYPE, PanelConfig.getType().toString());
+        jsonPanelConfig.put(JSON_KEY_TITLE, PanelConfig.getTitle());
+        jsonPanelConfig.put(JSON_KEY_ID, PanelConfig.getId());
 
-        if (pageEntry.isDefault()) {
-            jsonPageEntry.put(JSON_KEY_DEFAULT, IS_DEFAULT);
+        if (PanelConfig.isDefault()) {
+            jsonPanelConfig.put(JSON_KEY_DEFAULT, IS_DEFAULT);
         }
 
-        return jsonPageEntry;
+        return jsonPanelConfig;
     }
 
     @Override
-    public void save(List<PageEntry> pageEntries) {
-        final JSONArray jsonPageEntries = new JSONArray();
+    public void save(List<PanelConfig> panelConfigs) {
+        final JSONArray jsonPanelConfigs = new JSONArray();
 
-        final int count = pageEntries.size();
+        final int count = panelConfigs.size();
         for (int i = 0; i < count; i++) {
             try {
-                final PageEntry pageEntry = pageEntries.get(i);
+                final PanelConfig PanelConfig = panelConfigs.get(i);
 
-                final JSONObject jsonPageEntry = convertPageEntryToJSON(pageEntry);
-                jsonPageEntries.put(jsonPageEntry);
+                final JSONObject jsonPanelConfig = convertPanelConfigToJSON(PanelConfig);
+                jsonPanelConfigs.put(jsonPanelConfig);
             } catch (Exception e) {
-                Log.e(LOGTAG, "Exception loading page entry from JSON", e);
+                Log.e(LOGTAG, "Exception converting PanelConfig to JSON", e);
             }
         }
 
         final SharedPreferences prefs = getSharedPreferences();
         final SharedPreferences.Editor editor = prefs.edit();
 
-        final String jsonString = jsonPageEntries.toString();
+        final String jsonString = jsonPanelConfigs.toString();
         editor.putString(PREFS_KEY, jsonString);
         editor.commit();
     }
 
     @Override
     public void setOnChangeListener(OnChangeListener listener) {
         final SharedPreferences prefs = getSharedPreferences();
 
--- a/mobile/android/base/home/HomePager.java
+++ b/mobile/android/base/home/HomePager.java
@@ -3,19 +3,19 @@
  * 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.animation.PropertyAnimator;
 import org.mozilla.gecko.animation.ViewHelper;
-import org.mozilla.gecko.home.HomeAdapter.OnAddPageListener;
-import org.mozilla.gecko.home.HomeConfig.PageEntry;
-import org.mozilla.gecko.home.HomeConfig.PageType;
+import org.mozilla.gecko.home.HomeAdapter.OnAddPanelListener;
+import org.mozilla.gecko.home.HomeConfig.PanelConfig;
+import org.mozilla.gecko.home.HomeConfig.PanelType;
 import org.mozilla.gecko.util.HardwareUtils;
 
 import android.content.Context;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.LoaderManager;
@@ -35,22 +35,22 @@ public class HomePager extends ViewPager
 
     private static final int LOADER_ID_CONFIG = 0;
 
     private final Context mContext;
     private volatile boolean mLoaded;
     private Decor mDecor;
     private View mTabStrip;
 
-    private final OnAddPageListener mAddPageListener;
+    private final OnAddPanelListener mAddPanelListener;
 
     private final HomeConfig mConfig;
     private ConfigLoaderCallbacks mConfigLoaderCallbacks;
 
-    private String mInitialPageId;
+    private String mInitialPanelId;
 
     // Whether or not we need to restart the loader when we show the HomePager.
     private boolean mRestartLoader;
 
     // This is mostly used by UI tests to easily fetch
     // specific list views at runtime.
     static final String LIST_TAG_HISTORY = "history";
     static final String LIST_TAG_BOOKMARKS = "bookmarks";
@@ -83,39 +83,39 @@ public class HomePager extends ViewPager
         public void onAddPagerView(String title);
         public void removeAllPagerViews();
         public void onPageSelected(int position);
         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels);
         public void setOnTitleClickListener(OnTitleClickListener onTitleClickListener);
     }
 
     static final String CAN_LOAD_ARG = "canLoad";
-    static final String PAGE_ENTRY_ARG = "pageEntry";
+    static final String PANEL_CONFIG_ARG = "panelConfig";
 
     public HomePager(Context context) {
         this(context, null);
     }
 
     public HomePager(Context context, AttributeSet attrs) {
         super(context, attrs);
         mContext = context;
 
         mConfig = HomeConfig.getDefault(mContext);
         mConfigLoaderCallbacks = new ConfigLoaderCallbacks();
 
-        mAddPageListener = new OnAddPageListener() {
+        mAddPanelListener = new OnAddPanelListener() {
             @Override
-            public void onAddPage(String title) {
+            public void onAddPanel(String title) {
                 if (mDecor != null) {
                     mDecor.onAddPagerView(title);
                 }
             }
         };
 
-        // This is to keep all 4 pages in memory after they are
+        // This is to keep all 4 panels in memory after they are
         // selected in the pager.
         setOffscreenPageLimit(3);
 
         //  We can call HomePager.requestFocus to steal focus from the URL bar and drop the soft
         //  keyboard. However, if there are no focusable views (e.g. an empty reading list), the
         //  URL bar will be refocused. Therefore, we make the HomePager container focusable to
         //  ensure there is always a focusable view. This would ordinarily be done via an XML
         //  attribute, but it is not working properly.
@@ -168,53 +168,53 @@ public class HomePager extends ViewPager
         if (isVisible()) {
             redisplay(lm, fm);
         }
     }
 
     private void redisplay(LoaderManager lm, FragmentManager fm) {
         final HomeAdapter adapter = (HomeAdapter) getAdapter();
 
-        // If mInitialPageId is non-null, this means the HomePager hasn't
+        // If mInitialPanelId is non-null, this means the HomePager hasn't
         // finished loading its config yet. Simply re-show() with the
-        // current target page.
-        final String currentPageId;
-        if (mInitialPageId != null) {
-            currentPageId = mInitialPageId;
+        // current target panel.
+        final String currentPanelId;
+        if (mInitialPanelId != null) {
+            currentPanelId = mInitialPanelId;
         } else {
-            currentPageId = adapter.getPageIdAtPosition(getCurrentItem());
+            currentPanelId = adapter.getPanelIdAtPosition(getCurrentItem());
         }
 
-        show(lm, fm, currentPageId, null);
+        show(lm, fm, currentPanelId, null);
     }
 
     /**
      * Loads and initializes the pager.
      *
      * @param fm FragmentManager for the adapter
      */
-    public void show(LoaderManager lm, FragmentManager fm, String pageId, PropertyAnimator animator) {
+    public void show(LoaderManager lm, FragmentManager fm, String panelId, PropertyAnimator animator) {
         mLoaded = true;
-        mInitialPageId = pageId;
+        mInitialPanelId = panelId;
 
         // Only animate on post-HC devices, when a non-null animator is given
         final boolean shouldAnimate = (animator != null && Build.VERSION.SDK_INT >= 11);
 
         final HomeAdapter adapter = new HomeAdapter(mContext, fm);
-        adapter.setOnAddPageListener(mAddPageListener);
+        adapter.setOnAddPanelListener(mAddPanelListener);
         adapter.setCanLoadHint(!shouldAnimate);
         setAdapter(adapter);
 
         setVisibility(VISIBLE);
 
         // Don't show the tabs strip until we have the
-        // list of pages in place.
+        // list of panels in place.
         mTabStrip.setVisibility(View.INVISIBLE);
 
-        // Load list of pages from configuration. Restart the loader if necessary.
+        // Load list of panels from configuration. Restart the loader if necessary.
         if (mRestartLoader) {
             lm.restartLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks);
             mRestartLoader = false;
         } else {
             lm.initLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks);
         }
 
         if (shouldAnimate) {
@@ -274,71 +274,71 @@ public class HomePager extends ViewPager
         if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
             // Drop the soft keyboard by stealing focus from the URL bar.
             requestFocus();
         }
 
         return super.onInterceptTouchEvent(event);
     }
 
-    private void updateUiFromPageEntries(List<PageEntry> pageEntries) {
+    private void updateUiFromPanelConfigs(List<PanelConfig> panelConfigs) {
         // We only care about the adapter if HomePager is currently
         // loaded, which means it's visible in the activity.
         if (!mLoaded) {
             return;
         }
 
         if (mDecor != null) {
             mDecor.removeAllPagerViews();
         }
 
         final HomeAdapter adapter = (HomeAdapter) getAdapter();
 
         // Disable loading until the final current item is defined
-        // after loading the page entries. This is to stop any temporary
+        // after loading the panel configs. This is to stop any temporary
         // active item from loading.
         boolean originalCanLoadHint = adapter.getCanLoadHint();
         adapter.setCanLoadHint(false);
 
-        // Update the adapter with the new page entries
-        adapter.update(pageEntries);
+        // Update the adapter with the new panel configs
+        adapter.update(panelConfigs);
 
-        final int count = (pageEntries != null ? pageEntries.size() : 0);
+        final int count = (panelConfigs != null ? panelConfigs.size() : 0);
         mTabStrip.setVisibility(count > 0 ? View.VISIBLE : View.INVISIBLE);
 
-        // Use the default page as defined in the HomePager's configuration
-        // if the initial page wasn't explicitly set by the show() caller.
-        if (mInitialPageId != null) {
-            // XXX: Handle the case where the desired page isn't currently in the adapter (bug 949178)
-            setCurrentItem(adapter.getItemPosition(mInitialPageId), false);
-            mInitialPageId = null;
+        // Use the default panel as defined in the HomePager's configuration
+        // if the initial panel wasn't explicitly set by the show() caller.
+        if (mInitialPanelId != null) {
+            // XXX: Handle the case where the desired panel isn't currently in the adapter (bug 949178)
+            setCurrentItem(adapter.getItemPosition(mInitialPanelId), false);
+            mInitialPanelId = null;
         } else {
             for (int i = 0; i < count; i++) {
-                final PageEntry pageEntry = pageEntries.get(i);
-                if (pageEntry.isDefault()) {
+                final PanelConfig panelConfig = panelConfigs.get(i);
+                if (panelConfig.isDefault()) {
                     setCurrentItem(i, false);
                     break;
                 }
             }
         }
 
         // Restore canLoadHint now that we have the final
         // state in HomePager.
         adapter.setCanLoadHint(originalCanLoadHint);
     }
 
-    private class ConfigLoaderCallbacks implements LoaderCallbacks<List<PageEntry>> {
+    private class ConfigLoaderCallbacks implements LoaderCallbacks<List<PanelConfig>> {
         @Override
-        public Loader<List<PageEntry>> onCreateLoader(int id, Bundle args) {
+        public Loader<List<PanelConfig>> onCreateLoader(int id, Bundle args) {
             return new HomeConfigLoader(mContext, mConfig);
         }
 
         @Override
-        public void onLoadFinished(Loader<List<PageEntry>> loader, List<PageEntry> pageEntries) {
-            updateUiFromPageEntries(pageEntries);
+        public void onLoadFinished(Loader<List<PanelConfig>> loader, List<PanelConfig> panelConfigs) {
+            updateUiFromPanelConfigs(panelConfigs);
         }
 
         @Override
-        public void onLoaderReset(Loader<List<PageEntry>> loader) {
-            updateUiFromPageEntries(null);
+        public void onLoaderReset(Loader<List<PanelConfig>> loader) {
+            updateUiFromPanelConfigs(null);
         }
     }
 }
rename from mobile/android/base/home/LastTabsPage.java
rename to mobile/android/base/home/LastTabsPanel.java
--- a/mobile/android/base/home/LastTabsPage.java
+++ b/mobile/android/base/home/LastTabsPanel.java
@@ -31,49 +31,49 @@ import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
 /**
  * Fragment that displays tabs from last session in a ListView.
  */
-public class LastTabsPage extends HomeFragment {
+public class LastTabsPanel extends HomeFragment {
     // Logging tag name
-    private static final String LOGTAG = "GeckoLastTabsPage";
+    private static final String LOGTAG = "GeckoLastTabsPanel";
 
     // Cursor loader ID for the session parser
     private static final int LOADER_ID_LAST_TABS = 0;
 
     // Adapter for the list of search results
     private LastTabsAdapter mAdapter;
 
     // The view shown by the fragment.
     private ListView mList;
 
-    // The title for this HomeFragment page.
+    // The title for this HomeFragment panel.
     private TextView mTitle;
 
     // The button view for restoring tabs from last session.
     private View mRestoreButton;
 
     // Reference to the View to display when there are no results.
     private View mEmptyView;
 
     // Callbacks used for the search and favicon cursor loaders
     private CursorLoaderCallbacks mCursorLoaderCallbacks;
 
     // On new tabs listener
     private OnNewTabsListener mNewTabsListener;
 
-    public static LastTabsPage newInstance() {
-        return new LastTabsPage();
+    public static LastTabsPanel newInstance() {
+        return new LastTabsPanel();
     }
 
-    public LastTabsPage() {
+    public LastTabsPanel() {
         mNewTabsListener = null;
     }
 
     @Override
     public void onAttach(Activity activity) {
         super.onAttach(activity);
 
         try {
@@ -88,17 +88,17 @@ public class LastTabsPage extends HomeFr
     public void onDetach() {
         super.onDetach();
 
         mNewTabsListener = null;
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.home_last_tabs_page, container, false);
+        return inflater.inflate(R.layout.home_last_tabs_panel, container, false);
     }
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         mTitle = (TextView) view.findViewById(R.id.title);
         if (mTitle != null) {
             mTitle.setText(R.string.home_last_tabs_title);
         }
@@ -164,17 +164,17 @@ public class LastTabsPage extends HomeFr
         // Cursor is empty, so hide the title and set the
         // empty view if it hasn't been set already.
         if (mTitle != null) {
             mTitle.setVisibility(View.GONE);
         }
         mRestoreButton.setVisibility(View.GONE);
 
         if (mEmptyView == null) {
-            // Set empty page view. We delay this so that the empty view won't flash.
+            // Set empty panel view. We delay this so that the empty view won't flash.
             final ViewStub emptyViewStub = (ViewStub) getView().findViewById(R.id.home_empty_view_stub);
             mEmptyView = emptyViewStub.inflate();
 
             final ImageView emptyIcon = (ImageView) mEmptyView.findViewById(R.id.home_empty_image);
             emptyIcon.setImageResource(R.drawable.icon_last_tabs_empty);
 
             final TextView emptyText = (TextView) mEmptyView.findViewById(R.id.home_empty_text);
             emptyText.setText(R.string.home_last_tabs_empty);
rename from mobile/android/base/home/ListPage.java
rename to mobile/android/base/home/ListPanel.java
--- a/mobile/android/base/home/ListPage.java
+++ b/mobile/android/base/home/ListPanel.java
@@ -4,17 +4,17 @@
  * 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;
 import org.mozilla.gecko.db.BrowserContract.HomeListItems;
 import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
-import org.mozilla.gecko.home.HomeConfig.PageEntry;
+import org.mozilla.gecko.home.HomeConfig.PanelConfig;
 
 import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
@@ -27,24 +27,24 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ListView;
 
 import java.util.EnumSet;
 
 /**
  * Fragment that displays custom lists.
  */
-public class ListPage extends HomeFragment {
-    private static final String LOGTAG = "GeckoListPage";
+public class ListPanel extends HomeFragment {
+    private static final String LOGTAG = "GeckoListPanel";
 
     // Cursor loader ID for the lists
     private static final int LOADER_ID_LIST = 0;
 
-    // The page entry associated with this page
-    private PageEntry mPageEntry;
+    // The configuration associated with this panel
+    private PanelConfig mPanelConfig;
 
     // Adapter for the list
     private HomeListAdapter mAdapter;
 
     // The view shown by the fragment
     private ListView mList;
 
     // Callbacks used for the list loader
@@ -73,21 +73,21 @@ public class ListPage extends HomeFragme
     }
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
         final Bundle args = getArguments();
         if (args != null) {
-            mPageEntry = (PageEntry) args.getParcelable(HomePager.PAGE_ENTRY_ARG);
+            mPanelConfig = (PanelConfig) args.getParcelable(HomePager.PANEL_CONFIG_ARG);
         }
 
-        if (mPageEntry == null) {
-            throw new IllegalStateException("Can't create a ListPage without a PageEntry");
+        if (mPanelConfig == null) {
+            throw new IllegalStateException("Can't create a ListPanel without a PanelConfig");
         }
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         mList = new HomeListView(getActivity());
         return mList;
     }
@@ -184,17 +184,17 @@ public class ListPage extends HomeFragme
     }
 
     /**
      * LoaderCallbacks implementation that interacts with the LoaderManager.
      */
     private class CursorLoaderCallbacks implements LoaderCallbacks<Cursor> {
         @Override
         public Loader<Cursor> onCreateLoader(int id, Bundle args) {
-            return new HomeListLoader(getActivity(), mPageEntry.getId());
+            return new HomeListLoader(getActivity(), mPanelConfig.getId());
         }
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor c) {
             mAdapter.swapCursor(c);
         }
 
         @Override
rename from mobile/android/base/home/MostRecentPage.java
rename to mobile/android/base/home/MostRecentPanel.java
--- a/mobile/android/base/home/MostRecentPage.java
+++ b/mobile/android/base/home/MostRecentPanel.java
@@ -30,19 +30,19 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import java.util.Date;
 import java.util.EnumSet;
 
 /**
  * Fragment that displays recent history in a ListView.
  */
-public class MostRecentPage extends HomeFragment {
+public class MostRecentPanel extends HomeFragment {
     // Logging tag name
-    private static final String LOGTAG = "GeckoMostRecentPage";
+    private static final String LOGTAG = "GeckoMostRecentPanel";
 
     // Cursor loader ID for history query
     private static final int LOADER_ID_HISTORY = 0;
 
     // Adapter for the list of search results
     private MostRecentAdapter mAdapter;
 
     // The view shown by the fragment.
@@ -52,21 +52,21 @@ public class MostRecentPage extends Home
     private View mEmptyView;
 
     // Callbacks used for the search and favicon cursor loaders
     private CursorLoaderCallbacks mCursorLoaderCallbacks;
 
     // On URL open listener
     private OnUrlOpenListener mUrlOpenListener;
 
-    public static MostRecentPage newInstance() {
-        return new MostRecentPage();
+    public static MostRecentPanel newInstance() {
+        return new MostRecentPanel();
     }
 
-    public MostRecentPage() {
+    public MostRecentPanel() {
         mUrlOpenListener = null;
     }
 
     @Override
     public void onAttach(Activity activity) {
         super.onAttach(activity);
 
         try {
@@ -80,17 +80,17 @@ public class MostRecentPage extends Home
     @Override
     public void onDetach() {
         super.onDetach();
         mUrlOpenListener = null;
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.home_most_recent_page, container, false);
+        return inflater.inflate(R.layout.home_most_recent_panel, container, false);
     }
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         mList = (ListView) view.findViewById(R.id.list);
         mList.setTag(HomePager.LIST_TAG_MOST_RECENT);
 
         mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -150,17 +150,17 @@ public class MostRecentPage extends Home
 
     private void updateUiFromCursor(Cursor c) {
         if (c != null && c.getCount() > 0) {
             return;
         }
 
         // Cursor is empty, so set the empty view if it hasn't been set already.
         if (mEmptyView == null) {
-            // Set empty page view. We delay this so that the empty view won't flash.
+            // Set empty panel view. We delay this so that the empty view won't flash.
             final ViewStub emptyViewStub = (ViewStub) getView().findViewById(R.id.home_empty_view_stub);
             mEmptyView = emptyViewStub.inflate();
 
             final ImageView emptyIcon = (ImageView) mEmptyView.findViewById(R.id.home_empty_image);
             emptyIcon.setImageResource(R.drawable.icon_most_recent_empty);
 
             final TextView emptyText = (TextView) mEmptyView.findViewById(R.id.home_empty_text);
             emptyText.setText(R.string.home_most_recent_empty);
--- a/mobile/android/base/home/PinSiteDialog.java
+++ b/mobile/android/base/home/PinSiteDialog.java
@@ -106,17 +106,17 @@ class PinSiteDialog extends DialogFragme
             public boolean onKey(View v, int keyCode, KeyEvent event) {
                 if (keyCode != KeyEvent.KEYCODE_ENTER || mOnSiteSelectedListener == null) {
                     return false;
                 }
 
                 // If the user manually entered a search term or URL, wrap the value in
                 // a special URI until we can get a valid URL for this bookmark.
                 final String text = mSearch.getText().toString();
-                final String url = TopSitesPage.encodeUserEnteredUrl(text);
+                final String url = TopSitesPanel.encodeUserEnteredUrl(text);
                 mOnSiteSelectedListener.onSiteSelected(url, text);
 
                 dismiss();
                 return true;
             }
         });
 
         mSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() {
rename from mobile/android/base/home/ReadingListPage.java
rename to mobile/android/base/home/ReadingListPanel.java
--- a/mobile/android/base/home/ReadingListPage.java
+++ b/mobile/android/base/home/ReadingListPanel.java
@@ -32,17 +32,17 @@ import android.widget.AdapterView;
 import android.widget.ListView;
 import android.widget.TextView;
 
 import java.util.EnumSet;
 
 /**
  * Fragment that displays reading list contents in a ListView.
  */
-public class ReadingListPage extends HomeFragment {
+public class ReadingListPanel extends HomeFragment {
     // Cursor loader ID for reading list
     private static final int LOADER_ID_READING_LIST = 0;
 
     // Adapter for the list of reading list items
     private ReadingListAdapter mAdapter;
 
     // The view shown by the fragment
     private ListView mList;
@@ -75,17 +75,17 @@ public class ReadingListPage extends Hom
     public void onDetach() {
         super.onDetach();
 
         mUrlOpenListener = null;
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.home_reading_list_page, container, false);
+        return inflater.inflate(R.layout.home_reading_list_panel, container, false);
     }
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
         mTopView = view;
 
--- a/mobile/android/base/home/TopSitesGridItemView.java
+++ b/mobile/android/base/home/TopSitesGridItemView.java
@@ -188,17 +188,17 @@ public class TopSitesGridItemView extend
         if (mIsPinned != pinned) {
             mIsPinned = pinned;
             mTitleView.setCompoundDrawablesWithIntrinsicBounds(pinned ? R.drawable.pin : 0, 0, 0, 0);
             changed = true;
         }
 
         // The dirty state forces the state update to return true
         // so that the adapter loads favicons once the thumbnails
-        // are loaded in TopSitesPage/TopSitesGridAdapter.
+        // are loaded in TopSitesPanel/TopSitesGridAdapter.
         changed = (changed || mIsDirty);
         mIsDirty = false;
 
         return changed;
     }
 
     /**
      * Display the thumbnail from a resource.
--- a/mobile/android/base/home/TopSitesGridView.java
+++ b/mobile/android/base/home/TopSitesGridView.java
@@ -101,17 +101,17 @@ public class TopSitesGridView extends Gr
         super.onAttachedToWindow();
 
         setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 TopSitesGridItemView row = (TopSitesGridItemView) view;
 
                 // Decode "user-entered" URLs before loading them.
-                String url = TopSitesPage.decodeUserEnteredUrl(row.getUrl());
+                String url = TopSitesPanel.decodeUserEnteredUrl(row.getUrl());
 
                 // If the url is empty, the user can pin a site.
                 // If not, navigate to the page given by the url.
                 if (!TextUtils.isEmpty(url)) {
                     if (mUrlOpenListener != null) {
                         mUrlOpenListener.onUrlOpen(url, EnumSet.noneOf(OnUrlOpenListener.Flags.class));
                     }
                 } else {
rename from mobile/android/base/home/TopSitesPage.java
rename to mobile/android/base/home/TopSitesPanel.java
--- a/mobile/android/base/home/TopSitesPage.java
+++ b/mobile/android/base/home/TopSitesPanel.java
@@ -57,19 +57,19 @@ import android.widget.Toast;
 import java.util.EnumSet;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * Fragment that displays frecency search results in a ListView.
  */
-public class TopSitesPage extends HomeFragment {
+public class TopSitesPanel extends HomeFragment {
     // Logging tag name
-    private static final String LOGTAG = "GeckoTopSitesPage";
+    private static final String LOGTAG = "GeckoTopSitesPanel";
 
     // Cursor loader ID for the top sites
     private static final int LOADER_ID_TOP_SITES = 0;
 
     // Loader ID for thumbnails
     private static final int LOADER_ID_THUMBNAILS = 1;
 
     // Key for thumbnail urls
@@ -109,21 +109,21 @@ public class TopSitesPage extends HomeFr
     private OnUrlOpenListener mUrlOpenListener;
 
     // Max number of entries shown in the grid from the cursor.
     private int mMaxGridEntries;
 
     // Time in ms until the Gecko thread is reset to normal priority.
     private static final long PRIORITY_RESET_TIMEOUT = 10000;
 
-    public static TopSitesPage newInstance() {
-        return new TopSitesPage();
+    public static TopSitesPanel newInstance() {
+        return new TopSitesPanel();
     }
 
-    public TopSitesPage() {
+    public TopSitesPanel() {
         mUrlOpenListener = null;
     }
 
     private static boolean logDebug = Log.isLoggable(LOGTAG, Log.DEBUG);
     private static boolean logVerbose = Log.isLoggable(LOGTAG, Log.VERBOSE);
 
     private static void debug(final String message) {
         if (logDebug) {
@@ -155,17 +155,17 @@ public class TopSitesPage extends HomeFr
     public void onDetach() {
         super.onDetach();
 
         mUrlOpenListener = null;
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        final View view = inflater.inflate(R.layout.home_top_sites_page, container, false);
+        final View view = inflater.inflate(R.layout.home_top_sites_panel, container, false);
 
         mList = (HomeListView) view.findViewById(R.id.list);
 
         mGrid = new TopSitesGridView(getActivity());
         mList.addHeaderView(mGrid);
 
         return view;
     }
@@ -207,17 +207,17 @@ public class TopSitesPage extends HomeFr
 
         registerForContextMenu(mList);
         registerForContextMenu(mGrid);
 
         mBanner = (HomeBanner) view.findViewById(R.id.home_banner);
         mList.setOnTouchListener(new OnTouchListener() {
             @Override
             public boolean onTouch(View v, MotionEvent event) {
-                TopSitesPage.this.handleListTouchEvent(event);
+                TopSitesPanel.this.handleListTouchEvent(event);
                 return false;
             }
         });
     }
 
     @Override
     public void onDestroyView() {
         super.onDestroyView();
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -203,45 +203,45 @@ gbjar.sources += [
     'gfx/ViewTransform.java',
     'gfx/VirtualLayer.java',
     'GlobalHistory.java',
     'health/BrowserHealthRecorder.java',
     'health/BrowserHealthReporter.java',
     'home/BookmarkFolderView.java',
     'home/BookmarksListAdapter.java',
     'home/BookmarksListView.java',
-    'home/BookmarksPage.java',
+    'home/BookmarksPanel.java',
     'home/BrowserSearch.java',
     'home/FadedTextView.java',
-    'home/HistoryPage.java',
+    'home/HistoryPanel.java',
     'home/HomeAdapter.java',
     'home/HomeBanner.java',
     'home/HomeConfig.java',
     'home/HomeConfigLoader.java',
     'home/HomeConfigPrefsBackend.java',
     'home/HomeFragment.java',
     'home/HomeListView.java',
     'home/HomePager.java',
     'home/HomePagerTabStrip.java',
-    'home/LastTabsPage.java',
-    'home/ListPage.java',
-    'home/MostRecentPage.java',
+    'home/LastTabsPanel.java',
+    'home/ListPanel.java',
+    'home/MostRecentPanel.java',
     'home/MultiTypeCursorAdapter.java',
     'home/PanelManager.java',
     'home/PinSiteDialog.java',
-    'home/ReadingListPage.java',
+    'home/ReadingListPanel.java',
     'home/SearchEngine.java',
     'home/SearchEngineRow.java',
     'home/SearchLoader.java',
     'home/SimpleCursorLoader.java',
     'home/SuggestClient.java',
     'home/TabMenuStrip.java',
     'home/TopSitesGridItemView.java',
     'home/TopSitesGridView.java',
-    'home/TopSitesPage.java',
+    'home/TopSitesPanel.java',
     'home/TopSitesThumbnailView.java',
     'home/TwoLinePageRow.java',
     'InputMethods.java',
     'JavaAddonManager.java',
     'LightweightTheme.java',
     'LightweightThemeDrawable.java',
     'LocaleManager.java',
     'MemoryMonitor.java',
rename from mobile/android/base/resources/drawable/home_page_title_background.xml
rename to mobile/android/base/resources/drawable/home_panel_title_background.xml
rename from mobile/android/base/resources/layout-large-land-v11/home_history_page.xml
rename to mobile/android/base/resources/layout-large-land-v11/home_history_panel.xml
--- a/mobile/android/base/resources/layout-large-land-v11/home_history_page.xml
+++ b/mobile/android/base/resources/layout-large-land-v11/home_history_panel.xml
@@ -11,14 +11,14 @@
     <org.mozilla.gecko.widget.IconTabWidget android:id="@+id/tab_icon_widget"
                                             style="@style/Widget.Home.HistoryTabWidget"
                                             android:layout_width="@dimen/history_tab_widget_width"
                                             android:layout_height="@dimen/history_tab_widget_height"
                                             android:orientation="vertical"
                                             android:layout="@layout/home_history_tabs_indicator"
                                             gecko:display="text"/>
 
-    <FrameLayout android:id="@+id/history_page_container"
+    <FrameLayout android:id="@+id/history_panel_container"
                  android:layout_width="0dp"
                  android:layout_height="fill_parent"
                  android:layout_weight="1" />
 
 </LinearLayout>
rename from mobile/android/base/resources/layout-xlarge-v11/home_history_page.xml
rename to mobile/android/base/resources/layout-xlarge-v11/home_history_panel.xml
--- a/mobile/android/base/resources/layout-xlarge-v11/home_history_page.xml
+++ b/mobile/android/base/resources/layout-xlarge-v11/home_history_panel.xml
@@ -11,14 +11,14 @@
     <org.mozilla.gecko.widget.IconTabWidget android:id="@+id/tab_icon_widget"
                                             style="@style/Widget.Home.HistoryTabWidget"
                                             android:layout_width="@dimen/history_tab_widget_width"
                                             android:layout_height="@dimen/history_tab_widget_height"
                                             android:orientation="vertical"
                                             android:layout="@layout/home_history_tabs_indicator"
                                             gecko:display="text"/>
 
-    <FrameLayout android:id="@+id/history_page_container"
+    <FrameLayout android:id="@+id/history_panel_container"
                  android:layout_width="0dp"
                  android:layout_height="fill_parent"
                  android:layout_weight="1" />
 
 </LinearLayout>
rename from mobile/android/base/resources/layout/home_bookmarks_page.xml
rename to mobile/android/base/resources/layout/home_bookmarks_panel.xml
--- a/mobile/android/base/resources/layout/home_history_list.xml
+++ b/mobile/android/base/resources/layout/home_history_list.xml
@@ -6,17 +6,17 @@
 <merge xmlns:android="http://schemas.android.com/apk/res/android">
 
     <ViewStub android:id="@+id/home_empty_view_stub"
               android:layout="@layout/home_empty_page"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"/>
 
     <TextView android:id="@+id/title"
-              style="@style/Widget.Home.HistoryPageTitle"
+              style="@style/Widget.Home.HistoryPanelTitle"
               android:visibility="gone"/>
 
     <org.mozilla.gecko.home.HomeListView
             android:id="@+id/list"
             style="@style/Widget.Home.HistoryListView"
             android:layout_width="fill_parent"
             android:layout_height="0dp"
             android:layout_weight="1"/>
rename from mobile/android/base/resources/layout/home_history_page.xml
rename to mobile/android/base/resources/layout/home_history_panel.xml
--- a/mobile/android/base/resources/layout/home_history_page.xml
+++ b/mobile/android/base/resources/layout/home_history_panel.xml
@@ -3,17 +3,17 @@
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical">
 
-    <FrameLayout android:id="@+id/history_page_container"
+    <FrameLayout android:id="@+id/history_panel_container"
                  android:layout_width="fill_parent"
                  android:layout_height="0dp"
                  android:layout_weight="1" />
 
     <org.mozilla.gecko.widget.IconTabWidget android:id="@+id/tab_icon_widget"
                                             android:layout_width="fill_parent"
                                             android:layout_height="@dimen/browser_toolbar_height"
                                             android:tabStripEnabled="false"
rename from mobile/android/base/resources/layout/home_last_tabs_page.xml
rename to mobile/android/base/resources/layout/home_last_tabs_panel.xml
rename from mobile/android/base/resources/layout/home_most_recent_page.xml
rename to mobile/android/base/resources/layout/home_most_recent_panel.xml
rename from mobile/android/base/resources/layout/home_reading_list_page.xml
rename to mobile/android/base/resources/layout/home_reading_list_panel.xml
rename from mobile/android/base/resources/layout/home_top_sites_page.xml
rename to mobile/android/base/resources/layout/home_top_sites_panel.xml
--- a/mobile/android/base/resources/values-large-land-v11/styles.xml
+++ b/mobile/android/base/resources/values-large-land-v11/styles.xml
@@ -48,17 +48,17 @@
         <item name="android:showDividers">beginning|middle|end</item>
         <item name="android:dividerPadding">0dp</item>
         <item name="android:paddingLeft">100dp</item>
         <item name="android:paddingTop">30dp</item>
     </style>
 
     <!--
          The content of the banner should align with the Grid/List views
-         in BookmarksPage. BookmarksListView has a 120dp padding and
+         in BookmarksPanel. BookmarksListView has a 120dp padding and
          the TwoLinePageRows have a 50dp padding. Hence HomeBanner should
          have 170dp padding.
     -->
     <style name="Widget.HomeBanner">
         <item name="android:paddingLeft">170dp</item>
         <item name="android:paddingRight">170dp</item>
     </style>
 
--- a/mobile/android/base/resources/values-large-v11/styles.xml
+++ b/mobile/android/base/resources/values-large-v11/styles.xml
@@ -86,17 +86,17 @@
     </style>
 
     <style name="Widget.TopSitesListView" parent="Widget.BookmarksListView">
         <item name="topDivider">false</item>
     </style>
 
     <style name="Widget.ReadingListView" parent="Widget.BookmarksListView"/>
 
-    <style name="Widget.Home.HistoryPageTitle" parent="Widget.Home.HistoryTabIndicator">
+    <style name="Widget.Home.HistoryPanelTitle" parent="Widget.Home.HistoryTabIndicator">
         <item name="android:layout_marginLeft">32dp</item>
         <item name="android:layout_marginRight">32dp</item>
     </style>
 
     <style name="Widget.Home.HistoryListView">
         <item name="android:paddingLeft">32dp</item>
         <item name="android:paddingRight">32dp</item>
         <item name="android:scrollbarStyle">outsideOverlay</item>
--- a/mobile/android/base/resources/values/styles.xml
+++ b/mobile/android/base/resources/values/styles.xml
@@ -204,24 +204,24 @@
     <style name="Widget.Home.ActionButton" parent="Widget.Home.PageButton">
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.PageAction</item>
     </style>
 
     <style name="Widget.Home.HistoryTabIndicator">
         <item name="android:layout_width">fill_parent</item>
         <item name="android:layout_height">32dp</item>
         <item name="android:textAppearance">@style/TextAppearance.Widget.Home.PageTitle</item>
-        <item name="android:background">@drawable/home_page_title_background</item>
+        <item name="android:background">@drawable/home_panel_title_background</item>
         <item name="android:focusable">false</item>
         <item name="android:gravity">center|left</item>
         <item name="android:paddingLeft">10dip</item>
         <item name="android:paddingRight">10dip</item>
     </style>
 
-    <style name="Widget.Home.HistoryPageTitle" parent="Widget.Home.HistoryTabIndicator"/>
+    <style name="Widget.Home.HistoryPanelTitle" parent="Widget.Home.HistoryTabIndicator"/>
 
     <!--
         TextAppearance
         Note: Gecko uses light theme as default, while Android uses dark.
         If Android convention has to be followd, the list of colors specified 
         in themes.xml would be inverse, and things would get confusing.
         Hence, Gecko's TextAppearance is based on text over light theme and
         TextAppearance.Inverse is based on text over dark theme.
--- a/mobile/android/base/tests/components/AboutHomeComponent.java
+++ b/mobile/android/base/tests/components/AboutHomeComponent.java
@@ -19,18 +19,18 @@ import android.support.v4.view.ViewPager
 import android.view.View;
 
 /**
  * A class representing any interactions that take place on the Awesomescreen.
  */
 public class AboutHomeComponent extends BaseComponent {
     private static final String LOGTAG = AboutHomeComponent.class.getSimpleName();
 
-    // The different types of pages that can be present on about:home
-    public enum PageType {
+    // The different types of panels that can be present on about:home
+    public enum PanelType {
         HISTORY,
         TOP_SITES,
         BOOKMARKS,
         READING_LIST
     }
 
     // TODO: Having a specific ordering of pages is prone to fail and thus temporary.
     // Hopefully the work in bug 940565 will alleviate the need for these enums.
@@ -57,17 +57,17 @@ public class AboutHomeComponent extends 
     public AboutHomeComponent(final UITestContext testContext) {
         super(testContext);
     }
 
     private ViewPager getHomePagerView() {
         return (ViewPager) mSolo.getView(R.id.home_pager);
     }
 
-    public AboutHomeComponent assertCurrentPage(final PageType expectedPage) {
+    public AboutHomeComponent assertCurrentPage(final PanelType expectedPage) {
         assertVisible();
 
         final int expectedPageIndex = getPageIndexForDevice(expectedPage.ordinal());
         assertEquals("The current HomePager page is " + expectedPage,
                      expectedPageIndex, getHomePagerView().getCurrentItem());
         return this;
     }
 
@@ -127,17 +127,17 @@ public class AboutHomeComponent extends 
             public boolean isSatisfied() {
                 return (getHomePagerView().getCurrentItem() == expectedIndex);
             }
         });
     }
 
     /**
      * Gets the page index in the device specific Page enum for the given index in the
-     * PageType enum.
+     * PanelType enum.
      */
     private int getPageIndexForDevice(final int pageIndex) {
-        final String pageName = PageType.values()[pageIndex].name();
+        final String pageName = PanelType.values()[pageIndex].name();
         final Class devicePageEnum =
                 DeviceHelper.isTablet() ? TabletPage.class : PhonePage.class;
         return Enum.valueOf(devicePageEnum, pageName).ordinal();
     }
 }
--- a/mobile/android/base/tests/robocop.ini
+++ b/mobile/android/base/tests/robocop.ini
@@ -4,17 +4,17 @@
 # disabled on x86 only; bug 936216
 skip-if = processor == "x86"
 [testAddSearchEngine]
 [testAwesomebar]
 [testAxisLocking]
 # disabled on x86 only; bug 927476
 skip-if = processor == "x86"
 # [testBookmark] # see bug 915350
-[testBookmarksPage]
+[testBookmarksPanel]
 [testBookmarkFolders]
 # [testBookmarklets] # see bug 915350
 # [testBookmarkKeyword] # see bug 915350
 [testBrowserProvider]
 [testBrowserSearchVisibility]
 [testClearPrivateData]
 # disabled on x86 only; bug 948591
 skip-if = processor == "x86"
--- a/mobile/android/base/tests/testAboutHomePageNavigation.java
+++ b/mobile/android/base/tests/testAboutHomePageNavigation.java
@@ -1,85 +1,85 @@
 package org.mozilla.gecko.tests;
 
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.*;
 
-import org.mozilla.gecko.tests.components.AboutHomeComponent.PageType;
+import org.mozilla.gecko.tests.components.AboutHomeComponent.PanelType;
 import org.mozilla.gecko.tests.helpers.*;
 
 /**
  * Tests functionality related to navigating between the various about:home pages.
  */
 public class testAboutHomePageNavigation extends UITest {
     // TODO: Define this test dynamically by creating dynamic representations of the Page
     // enum for both phone and tablet, then swiping through the pages. This will also
     // benefit having a HomePager with custom pages.
     public void testAboutHomePageNavigation() {
         GeckoHelper.blockForReady();
 
         mAboutHome.assertVisible()
-                  .assertCurrentPage(PageType.TOP_SITES);
+                  .assertCurrentPage(PanelType.TOP_SITES);
 
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
+        mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
 
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.READING_LIST);
+        mAboutHome.assertCurrentPage(PanelType.READING_LIST);
 
         // Ideally these helpers would just be their own tests. However, by keeping this within
         // one method, we're saving test setUp and tearDown resources.
         if (DeviceHelper.isTablet()) {
             helperTestTablet();
         } else {
             helperTestPhone();
         }
     }
 
     private void helperTestTablet() {
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.HISTORY);
+        mAboutHome.assertCurrentPage(PanelType.HISTORY);
 
         // Edge case.
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.HISTORY);
+        mAboutHome.assertCurrentPage(PanelType.HISTORY);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.READING_LIST);
+        mAboutHome.assertCurrentPage(PanelType.READING_LIST);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
+        mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.TOP_SITES);
+        mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
 
         // Edge case.
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.TOP_SITES);
+        mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
     }
 
     private void helperTestPhone() {
         // Edge case.
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.READING_LIST);
+        mAboutHome.assertCurrentPage(PanelType.READING_LIST);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
+        mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.TOP_SITES);
+        mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
 
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.HISTORY);
+        mAboutHome.assertCurrentPage(PanelType.HISTORY);
 
         // Edge case.
         mAboutHome.swipeToPageOnLeft();
-        mAboutHome.assertCurrentPage(PageType.HISTORY);
+        mAboutHome.assertCurrentPage(PanelType.HISTORY);
 
         mAboutHome.swipeToPageOnRight();
-        mAboutHome.assertCurrentPage(PageType.TOP_SITES);
+        mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
     }
 
     // TODO: bug 943706 - reimplement this old test code.
     /*
         //  Removed by Bug 896576 - [fig] Remove [getAllPagesList] from BaseTest
         //  ListView list = getAllPagesList("about:firefox");
 
         // Test normal sliding of the list left and right
--- a/mobile/android/base/tests/testAboutHomeVisibility.java
+++ b/mobile/android/base/tests/testAboutHomeVisibility.java
@@ -1,47 +1,47 @@
 package org.mozilla.gecko.tests;
 
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.*;
 
-import org.mozilla.gecko.tests.components.AboutHomeComponent.PageType;
+import org.mozilla.gecko.tests.components.AboutHomeComponent.PanelType;
 import org.mozilla.gecko.tests.helpers.*;
 
 /**
  * Tests the visibility of about:home after various interactions with the browser.
  */
 public class testAboutHomeVisibility extends UITest {
     public void testAboutHomeVisibility() {
         GeckoHelper.blockForReady();
 
         // Check initial state on about:home.
         mToolbar.assertTitle(StringHelper.ABOUT_HOME_TITLE);
         mAboutHome.assertVisible()
-                  .assertCurrentPage(PageType.TOP_SITES);
+                  .assertCurrentPage(PanelType.TOP_SITES);
 
         // Go to blank 01.
         NavigationHelper.enterAndLoadUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
         mToolbar.assertTitle(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE);
         mAboutHome.assertNotVisible();
 
         // Go to blank 02.
         NavigationHelper.enterAndLoadUrl(StringHelper.ROBOCOP_BLANK_PAGE_02_URL);
         mToolbar.assertTitle(StringHelper.ROBOCOP_BLANK_PAGE_02_TITLE);
         mAboutHome.assertNotVisible();
 
         // Enter editing mode, where the about:home UI should be visible.
         mToolbar.enterEditingMode();
         mAboutHome.assertVisible()
-                  .assertCurrentPage(PageType.TOP_SITES);
+                  .assertCurrentPage(PanelType.TOP_SITES);
 
         // Dismiss editing mode, where the about:home UI should be gone.
         mToolbar.dismissEditingMode();
         mAboutHome.assertNotVisible();
 
         // Loading about:home should show about:home again.
         NavigationHelper.enterAndLoadUrl(StringHelper.ABOUT_HOME_URL);
         mToolbar.assertTitle(StringHelper.ABOUT_HOME_TITLE);
         mAboutHome.assertVisible()
-                  .assertCurrentPage(PageType.TOP_SITES);
+                  .assertCurrentPage(PanelType.TOP_SITES);
 
         // TODO: Type in a url and assert the go button is visible.
     }
 }
rename from mobile/android/base/tests/testBookmarksPage.java
rename to mobile/android/base/tests/testBookmarksPanel.java
--- a/mobile/android/base/tests/testBookmarksPage.java
+++ b/mobile/android/base/tests/testBookmarksPanel.java
@@ -1,19 +1,19 @@
 package org.mozilla.gecko.tests;
 
 import org.mozilla.gecko.*;
 
-public class testBookmarksPage extends AboutHomeTest {
+public class testBookmarksPanel extends AboutHomeTest {
 
     protected int getTestType() {
         return TEST_MOCHITEST;
     }
 
-    public void testBookmarksPage() {
+    public void testBookmarksPanel() {
         final String BOOKMARK_URL = getAbsoluteUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
 
         // Add a mobile bookmark
         mDatabaseHelper.addOrUpdateMobileBookmark(StringHelper.ROBOCOP_BLANK_PAGE_01_TITLE, BOOKMARK_URL);
 
         openAboutHomeTab(AboutHomeTabs.BOOKMARKS);
 
         // Check that the default bookmarks are displayed