Bug 756734 - Move checks inside Runnables to avoid race conditions. r=mfinkle

This commit is contained in:
Brian Nicholson 2012-05-22 18:32:32 -07:00
Родитель 790e9f62b6
Коммит 5f03d9998f
1 изменённых файлов: 16 добавлений и 19 удалений

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

@ -961,13 +961,12 @@ abstract public class GeckoApp
} else if (event.equals("CharEncoding:State")) {
final boolean visible = message.getString("visible").equals("true");
GeckoPreferences.setCharEncodingState(visible);
if (sMenu != null) {
mMainHandler.post(new Runnable() {
public void run() {
mMainHandler.post(new Runnable() {
public void run() {
if (sMenu != null)
sMenu.findItem(R.id.char_encoding).setVisible(visible);
}
});
}
}
});
} else if (event.equals("Update:Restart")) {
doRestart("org.mozilla.gecko.restart_update");
} else if (event.equals("Tab:ViewportMetadata")) {
@ -989,23 +988,21 @@ abstract public class GeckoApp
}
} else if (event.equals("Tab:HasTouchListener")) {
int tabId = message.getInt("tabID");
Tab tab = Tabs.getInstance().getTab(tabId);
final Tab tab = Tabs.getInstance().getTab(tabId);
tab.setHasTouchListeners(true);
if (Tabs.getInstance().isSelectedTab(tab)) {
mMainHandler.post(new Runnable() {
public void run() {
mMainHandler.post(new Runnable() {
public void run() {
if (Tabs.getInstance().isSelectedTab(tab))
mLayerController.getView().getTouchEventHandler().setWaitForTouchListeners(true);
}
});
}
}
});
} else if (event.equals("Session:StatePurged")) {
if (mAboutHomeContent != null) {
mMainHandler.post(new Runnable() {
public void run() {
mMainHandler.post(new Runnable() {
public void run() {
if (mAboutHomeContent != null)
mAboutHomeContent.setLastTabsVisibility(false);
}
});
}
}
});
} else if (event.equals("Bookmark:Insert")) {
final String url = message.getString("url");
final String title = message.getString("title");