mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 10:00:54 +00:00
dd79a6bb8c
Just watching for a SessionRestoreException during startup can introduce some false positives, because that exception is triggered in any case where we can't restore tabs, not just when the session file has been damaged, e.g.: - on first startup - on builds affected by bug 1228593, users who are (theoretically) restoring their tabs, but clearing their history on exist end up with a deleted sessionstore.js - should we implement bug 1275662, we'd hit that exception in that case, too. Therefore we only send the telemetry event if we hit that exception even though a sessionstore.js file is present. We also exclude the case where the file size of sessionstore.js is 14 bytes, because that is most likely corresponding to a file containing only {"windows":[]}, which means that the session store intentionally wanted to write a file containing no tabs. Currently this is only the case for users who are clearing their history on exit and are also *not* restoring tabs, however if bug 1275662 should get implemented, we'd probably encounter those empty files for users who have their restore setting set to "Always restore", too. Because of bug 1261008, we can also end up with no restored tabs (and a SessionRestoreException) if the session file contains only about:home tabs with no history, because we're skipping those and not restoring them. To detect that case and exclude it from telemetry, we have to include additional logic within the SessionParser instance used during startup and pass those results back to the calling site in GeckoApp. MozReview-Commit-ID: 6pAhDU3d8QA --HG-- extra : rebase_source : ebf4d902a616c17ba10c645ad8ef469ceafe8cce |
||
---|---|---|
.. | ||
app | ||
base | ||
bouncer | ||
branding | ||
build/classycle | ||
chrome | ||
components | ||
config | ||
docs | ||
extensions | ||
fonts | ||
geckoview_library | ||
gradle/m2repo/com/jakewharton/sdkmanager | ||
installer | ||
javaaddons | ||
locales | ||
modules | ||
search | ||
services | ||
stumbler | ||
tests | ||
themes/core | ||
thirdparty | ||
.eslintrc | ||
app.mozbuild | ||
build.mk | ||
confvars.sh | ||
debug_sign_tool.py | ||
gradle.configure | ||
LICENSE | ||
mach_commands.py | ||
Makefile.in | ||
moz.build | ||
moz.configure |