forked from mirrors/gecko-dev
This also only updates per-category block information in the protections panel while it's open or when it's about to be shown. To do this, the patch: 1. changes the `categoryItem` getter on all blockers to avoid memo'izing null when the popup is unavailable; 2. changes the `updateCategoryItem` method on all blockers to deal with `categoryItem` being null; 3. stops calling `updateCategoryItem` from the blockers' `init` method, instead delegating this responsibility to gProtectionsHandler doing so when the popup first becomes available. Note that we still need (2) because pref changes can trip us calling into `updateCategoryItem` anyway. We cannot avoid instantiating the pref getters because they are relied on by some of the `isDetected` and `isBlocking` implementations. 4. reorganizes `onContentBlockingEvent` so it updates the icon, reports telemetry, and updates internal state - but only updates the panel if it's visible, and otherwise simply memorizes the last event (which is just a number!); 5. ensures showing the panel updates the panel's category data based on the memorized state from (4). Differential Revision: https://phabricator.services.mozilla.com/D81926 |
||
|---|---|---|
| .. | ||
| experiments | ||
| lib | ||
| schemas | ||
| test | ||
| jar.mn | ||
| moz.build | ||