Bug 1197869 - Clearing GlobalHistory cache after clearing history from Clear Private Data; r?rnewman
MozReview-Commit-ID: 1Ithzmhbbez
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
@@ -282,16 +282,20 @@ public class GeckoAppShell
public static native void dispatchMemoryPressure();
private static native void reportJavaCrash(String stackTrace);
public static void notifyUriVisited(String uri) {
sendEventToGecko(GeckoEvent.createVisitedEvent(uri));
}
+ public static void clearPrivateData(String data){
+ sendEventToGecko(GeckoEvent.createBroadcastEvent("Sanitize:ClearData", data));
+ GlobalHistory.getInstance().clear();
+ }
public static native void notifyBatteryChange(double aLevel, boolean aCharging, double aRemainingTime);
public static native void invalidateAndScheduleComposite();
public static native float computeRenderIntegrity();
public static native SurfaceBits getSurfaceBits(Surface surface);
--- a/mobile/android/base/java/org/mozilla/gecko/GlobalHistory.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GlobalHistory.java
@@ -151,9 +151,13 @@ class GlobalHistory {
// no need to post another
return;
}
mProcessing = true;
mHandler.postDelayed(runnable, BATCHING_DELAY_MS);
}
});
}
+
+ public void clear(){
+ mVisitedCache.clear();
+ }
}
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/PrivateDataPreference.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/PrivateDataPreference.java
@@ -50,11 +50,11 @@ class PrivateDataPreference extends Mult
try {
json.put(key, true);
} catch (JSONException e) {
Log.e(LOGTAG, "JSON error", e);
}
}
// clear private data in gecko
- GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Sanitize:ClearData", json.toString()));
+ GeckoAppShell.clearPrivateData(json.toString());
}
}