Data corruption warning - Behavior change

Background / User story

As ABP I would like to inform the user if there was Data corruption warning in non intrusive way so they won't be annoyed every time it happened but still be aware

What to change

Hints for testers

  • Verify that following the instructions exactly on Chrome/Chromium, Edge, Firefox and Opera will result in the extension being reinstalled.
  • On first-run: First-run page should open in foreground.
  • On subsequent runs: First-run page should not open.
  • On data corruption or no filter lists:
    • On Firefox Mobile: First-run page should open in background and show warning. No problem notification should be shown.
    • On other applications: First-run page should not open. Problem notification should be shown instead.
  • Day1 landing page should remain visually and functionally unchanged.
  • New notification should be dismissable (e.g. not reappear when opening the icon popup again or after downloading notifications.json).
  • Clicking on a notification link should close the icon popup on Firefox.
  • Clicking on the Adblock Plus logo in Day1 or problem page should open the link in a new tab.
  • We're using an undefined notification type to achieve the expected result. Therefore we need to verify that notifications that use an undefined notification type behave as expected and don't cause any breakage. Note that such notifications are shown using an orange color (instead of the gray color they were shown in previously, or the blue color for information notifications and red color for critical notifications).

Hints for translators

  • Added problem.json.

Integration notes

  • Requires web.adblockplus.org#369 HD#544 (internal) and core#126.
  • Allow notifications to open problem.html using "abp:problem".
  • Except for Firefox Mobile: Call showProblemNotification() from lib/notifications.js instead of opening the first-run page in case of a data corruption issue or filter list reinitialization. This should be unaffected by the suppress_first_run_page preference.
  • For Firefox Mobile, keep showing the first-run page in case of problems.
  • Renamed lib/day1Init.js to lib/notifications.js.
  • Import the following new files:
    • skin/icons/problem/data-corrupted.png
    • skin/icons/checkmark-green.svg
    • skin/icons/email-white.svg
    • skin/icons/facebook-white.svg
    • skin/icons/mac.svg
    • skin/icons/open-link.svg
    • skin/icons/twitter-white.svg
    • skin/icons/warning.svg
    • skin/icons/windows.svg
    • skin/problem.css
    • problem.html
    • problem.js
  • Import translations from locale/*/problem.json.
Edited by Thomas Greiner
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information