diff --git a/app/src/main/java/com/httrack/android/BrowserLoginActivity.java b/app/src/main/java/com/httrack/android/BrowserLoginActivity.java index bfb26c4..8b9e44c 100644 --- a/app/src/main/java/com/httrack/android/BrowserLoginActivity.java +++ b/app/src/main/java/com/httrack/android/BrowserLoginActivity.java @@ -208,7 +208,18 @@ public boolean onOptionsItemSelected(final MenuItem item) { return super.onOptionsItemSelected(item); } - /** Drop the saved session: the browser's cookies and the file the engine would have read. */ + /** + * Drop the saved session: the browser's cookies and the file the engine would have read. + * + * This signs the user out of every site in this app's browser, not just this project's. That + * is deliberate. CookieManager has no per-site removal, and nothing enumerates what a + * narrower pass would miss: getCookie answers for one path, so a cookie on a deeper path is + * invisible to it, a nameless cookie has no name to overwrite, and a session held by an + * iframe sign-on sits on a host onPageStarted never reported. A narrower Forget was measured + * and it left all three signed in, which is worse than reaching too far, because the user + * presses this to change accounts. The store is per app, so splitting it needs a per-project + * WebView data directory, which means a separate process. + */ private void forget() { if (cookiesFile == null) { return; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 99e7324..b5cdf7d 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -285,7 +285,7 @@ Log in to the site here, then tap \"Use this login\". Google accounts refuse this window. Use this login Forget the saved login - The saved login is deleted. + The saved login is deleted. This also signs you out of every site in the browser inside this app. Type a web address first. Give the project a name first. This window opens https addresses only.