Bug 845051 - (Part 2) Handle tab events directly in BrowserToolbar, instead of going through BrowserApp. r=mfinkle

This commit is contained in:
Margaret Leibovic 2013-02-26 14:38:38 -08:00
Родитель c34323ea56
Коммит cd2afb68fc
2 изменённых файлов: 18 добавлений и 30 удалений

Просмотреть файл

@ -137,12 +137,6 @@ abstract public class BrowserApp extends GeckoApp
loadFavicon(tab);
}
break;
case SECURITY_CHANGE:
handleSecurityChange(tab);
break;
case READER_ENABLED:
handleReaderEnabled(tab);
break;
}
super.onTabChanged(tab, msg, data);
}
@ -153,15 +147,6 @@ abstract public class BrowserApp extends GeckoApp
updateAboutHomeTopSites();
}
void handleSecurityChange(final Tab tab) {
mMainHandler.post(new Runnable() {
public void run() {
if (Tabs.getInstance().isSelectedTab(tab))
mBrowserToolbar.setSecurityMode(tab.getSecurityMode());
}
});
}
void handleReaderAdded(boolean success, final String title, final String url) {
if (!success) {
showToast(R.string.reading_list_failed, Toast.LENGTH_SHORT);
@ -185,15 +170,6 @@ abstract public class BrowserApp extends GeckoApp
});
}
void handleReaderEnabled(final Tab tab) {
mMainHandler.post(new Runnable() {
public void run() {
if (Tabs.getInstance().isSelectedTab(tab))
mBrowserToolbar.setReaderMode(tab.getReaderEnabled());
}
});
}
@Override
void onStatePurged() {
mMainHandler.post(new Runnable() {
@ -693,9 +669,6 @@ abstract public class BrowserApp extends GeckoApp
tab.updateFavicon(favicon);
tab.setFaviconLoadId(Favicons.NOT_LOADING);
if (Tabs.getInstance().isSelectedTab(tab))
mBrowserToolbar.setFavicon(tab.getFavicon());
Tabs.getInstance().notifyListeners(tab, Tabs.TabEvents.FAVICON);
}
});

Просмотреть файл

@ -421,6 +421,21 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
updateForwardButton(tab.canDoForward());
}
break;
case FAVICON:
if (Tabs.getInstance().isSelectedTab(tab)) {
setFavicon(tab.getFavicon());
}
break;
case SECURITY_CHANGE:
if (Tabs.getInstance().isSelectedTab(tab)) {
setSecurityMode(tab.getSecurityMode());
}
break;
case READER_ENABLED:
if (Tabs.getInstance().isSelectedTab(tab)) {
setReaderMode(tab.getReaderEnabled());
}
break;
}
}
@ -980,7 +995,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
mAwesomeBar.setContentDescription(title != null ? title : mTitle.getHint());
}
public void setFavicon(Bitmap image) {
private void setFavicon(Bitmap image) {
if (Tabs.getInstance().getSelectedTab().getState() == Tab.STATE_LOADING)
return;
@ -992,7 +1007,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
}
}
public void setSecurityMode(String mode) {
private void setSecurityMode(String mode) {
mShowSiteSecurity = true;
if (mode.equals(SiteIdentityPopup.IDENTIFIED)) {
@ -1007,7 +1022,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
setPageActionVisibility(mStop.getVisibility() == View.VISIBLE);
}
public void setReaderMode(boolean showReader) {
private void setReaderMode(boolean showReader) {
mShowReader = showReader;
setPageActionVisibility(mStop.getVisibility() == View.VISIBLE);
}