A summary of the previews blacklist should be exposed in chrome://interventions so users can see if they are opted out and on which domains they are opted out.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9b5fef167008f5b703468304b2a04a8ba53b53e commit a9b5fef167008f5b703468304b2a04a8ba53b53e Author: Thanh Le <thanhdle@chromium.org> Date: Thu Oct 26 03:09:16 2017 Publish blacklist status on chrome://interventions-internals. PreviewsBlackList notifies PreviewsIOData on new blacklisted host and user blacklisted using the observers pattern. Added functionalities: - A new tab to track the state of the blacklist on chrome://interventions-internals. - A table of blacklisted hosts with the blacklisted times are displayed on the new tab. - New blacklisted hosts are posted to this tab by listening to PreviewsBlackList. - User blacklisted state is also being tracked with the blacklisted time. - When the blacklist is cleared (e.g. By clearing browsing history) all blacklist on the UI is removed. - The last blacklist cleared status is also being tracked. Event in blacklist is pushed to the internal page when new events happen in PreviewsBlacklist. The observers remove themselves from the observers list when they are being destroyed. This is similar to the pattern used in publishing new event log to chrome://interventions-internals (https://chromium-review.googlesource.com/c/chromium/src/+/698887). Bug: 764416 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: I7d2be7031f7d7690838c09bbbdfc65e34a78aa82 Reviewed-on: https://chromium-review.googlesource.com/726520 Commit-Queue: Thanh Le <thanhdle@chromium.org> Reviewed-by: Emily Stark <estark@chromium.org> Reviewed-by: Ryan Sturm <ryansturm@chromium.org> Reviewed-by: Tarun Bansal <tbansal@chromium.org> Cr-Commit-Position: refs/heads/master@{#511717} [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/resources/interventions_internals/index.css [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/resources/interventions_internals/index.html [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/resources/interventions_internals/index.js [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/ui/webui/interventions_internals/interventions_internals.mojom [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/browser/ui/webui/interventions_internals/interventions_internals_page_handler_unittest.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/chrome/test/data/webui/interventions_internals_browsertest.js [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_black_list.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_black_list.h [add] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_black_list_delegate.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_black_list_unittest.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_io_data.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_io_data.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_io_data_unittest.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_logger.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_logger.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_logger_observer.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_logger_unittest.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_ui_service.cc [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_ui_service.h [modify] https://crrev.com/a9b5fef167008f5b703468304b2a04a8ba53b53e/components/previews/core/previews_ui_service_unittest.cc
Comment 1 by ryansturm@chromium.org
, Sep 12 2017