Bug 771036 - Sanitizer.history should clear the Java history too [r=mfinkle]

This commit is contained in:
Matt Brubeck 2012-07-06 09:22:57 -07:00
parent 79f324124f
commit 4bd2499f86
3 changed files with 10 additions and 12 deletions

View File

@ -878,7 +878,10 @@ abstract public class GeckoApp
void handlePageShow(final int tabId) { }
void handleClearHistory() { }
void handleClearHistory() {
BrowserDB.clearHistory(getContentResolver());
mFavicons.clearFavicons();
}
public StartupMode getStartupMode() {
// This function might touch the disk and should not
@ -1252,6 +1255,8 @@ abstract public class GeckoApp
} else if (event.equals("Share:Text")) {
String text = message.getString("text");
GeckoAppShell.openUriExternal(text, "text/plain", "", "", Intent.ACTION_SEND, "");
} else if (event.equals("Sanitize:ClearHistory")) {
handleClearHistory();
}
} catch (Exception e) {
Log.e(LOGTAG, "Exception handling message \"" + event + "\":", e);
@ -1950,6 +1955,7 @@ abstract public class GeckoApp
GeckoAppShell.registerGeckoEventListener("WebApps:Uninstall", GeckoApp.mAppContext);
GeckoAppShell.registerGeckoEventListener("DesktopMode:Changed", GeckoApp.mAppContext);
GeckoAppShell.registerGeckoEventListener("Share:Text", GeckoApp.mAppContext);
GeckoAppShell.registerGeckoEventListener("Sanitize:ClearHistory", GeckoApp.mAppContext);
if (SmsManager.getInstance() != null) {
SmsManager.getInstance().start();
@ -2294,6 +2300,7 @@ abstract public class GeckoApp
GeckoAppShell.unregisterGeckoEventListener("WebApps:Uninstall", GeckoApp.mAppContext);
GeckoAppShell.unregisterGeckoEventListener("DesktopMode:Changed", GeckoApp.mAppContext);
GeckoAppShell.unregisterGeckoEventListener("Share:Text", GeckoApp.mAppContext);
GeckoAppShell.unregisterGeckoEventListener("Sanitize:ClearHistory", GeckoApp.mAppContext);
if (mFavicons != null)
mFavicons.close();

View File

@ -53,17 +53,6 @@ class PrivateDataPreference extends MultiChoicePreference {
} catch (JSONException e) {
Log.e(LOGTAG, "JSON error", e);
}
// clear private data in java
if (key.equals("history") && value) {
GeckoAppShell.getHandler().post(new Runnable() {
public void run() {
BrowserDB.clearHistory(mContext.getContentResolver());
GeckoApp.mAppContext.mFavicons.clearFavicons();
GeckoApp.mAppContext.handleClearHistory();
}
});
}
}
// clear private data in gecko

View File

@ -147,6 +147,8 @@ Sanitizer.prototype = {
history: {
clear: function ()
{
sendMessageToJava({ gecko: { type: "Sanitize:ClearHistory" } });
try {
Services.obs.notifyObservers(null, "browser:purge-session-history", "");
}