summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/discards/discards_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/ui/webui/discards/discards_ui.cc')
-rw-r--r--chromium/chrome/browser/ui/webui/discards/discards_ui.cc87
1 files changed, 42 insertions, 45 deletions
diff --git a/chromium/chrome/browser/ui/webui/discards/discards_ui.cc b/chromium/chrome/browser/ui/webui/discards/discards_ui.cc
index 04bc887b3d3..e37e9dfd219 100644
--- a/chromium/chrome/browser/ui/webui/discards/discards_ui.cc
+++ b/chromium/chrome/browser/ui/webui/discards/discards_ui.cc
@@ -14,8 +14,6 @@
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/engagement/site_engagement_service.h"
-#include "chrome/browser/performance_manager/performance_manager.h"
-#include "chrome/browser/performance_manager/webui_graph_dump_impl.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/resource_coordinator/lifecycle_unit.h"
#include "chrome/browser/resource_coordinator/lifecycle_unit_state.mojom.h"
@@ -27,10 +25,12 @@
#include "chrome/browser/resource_coordinator/tab_manager.h"
#include "chrome/browser/resource_coordinator/time.h"
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
+#include "chrome/browser/ui/webui/discards/graph_dump_impl.h"
#include "chrome/browser/ui/webui/favicon_source.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/grit/browser_resources.h"
#include "components/favicon_base/favicon_url_parser.h"
+#include "components/performance_manager/public/performance_manager.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/url_data_source.h"
@@ -38,8 +38,8 @@
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h"
#include "content/public/browser/web_ui_message_handler.h"
-#include "mojo/public/cpp/bindings/binding.h"
-#include "services/resource_coordinator/public/mojom/service_constants.mojom.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/resources/grit/ui_resources.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -51,19 +51,19 @@ mojom::LifecycleUnitDiscardReason GetDiscardReason(bool urgent) {
: mojom::LifecycleUnitDiscardReason::PROACTIVE;
}
-mojom::LifecycleUnitVisibility GetLifecycleUnitVisibility(
+discards::mojom::LifecycleUnitVisibility GetLifecycleUnitVisibility(
content::Visibility visibility) {
switch (visibility) {
case content::Visibility::HIDDEN:
- return mojom::LifecycleUnitVisibility::HIDDEN;
+ return discards::mojom::LifecycleUnitVisibility::HIDDEN;
case content::Visibility::OCCLUDED:
- return mojom::LifecycleUnitVisibility::OCCLUDED;
+ return discards::mojom::LifecycleUnitVisibility::OCCLUDED;
case content::Visibility::VISIBLE:
- return mojom::LifecycleUnitVisibility::VISIBLE;
+ return discards::mojom::LifecycleUnitVisibility::VISIBLE;
}
#if defined(COMPILER_MSVC)
NOTREACHED();
- return mojom::LifecycleUnitVisibility::VISIBLE;
+ return discards::mojom::LifecycleUnitVisibility::VISIBLE;
#endif
}
@@ -93,10 +93,10 @@ double GetSiteEngagementScore(content::WebContents* contents) {
return engagement_svc->GetDetails(nav_entry->GetURL()).total_score;
}
-mojom::SiteCharacteristicsFeaturePtr ConvertFeatureFromProto(
+discards::mojom::SiteCharacteristicsFeaturePtr ConvertFeatureFromProto(
const SiteDataFeatureProto& proto) {
- mojom::SiteCharacteristicsFeaturePtr feature =
- mojom::SiteCharacteristicsFeature::New();
+ discards::mojom::SiteCharacteristicsFeaturePtr feature =
+ discards::mojom::SiteCharacteristicsFeature::New();
if (proto.has_observation_duration()) {
feature->observation_duration = proto.observation_duration();
@@ -113,10 +113,10 @@ mojom::SiteCharacteristicsFeaturePtr ConvertFeatureFromProto(
return feature;
}
-mojom::SiteCharacteristicsDatabaseEntryPtr ConvertEntryFromProto(
+discards::mojom::SiteCharacteristicsDatabaseEntryPtr ConvertEntryFromProto(
SiteDataProto* proto) {
- mojom::SiteCharacteristicsDatabaseValuePtr value =
- mojom::SiteCharacteristicsDatabaseValue::New();
+ discards::mojom::SiteCharacteristicsDatabaseValuePtr value =
+ discards::mojom::SiteCharacteristicsDatabaseValue::New();
if (proto->has_last_loaded()) {
value->last_loaded = proto->last_loaded();
@@ -137,8 +137,9 @@ mojom::SiteCharacteristicsDatabaseEntryPtr ConvertEntryFromProto(
DCHECK(load_time_estimates_proto.has_avg_cpu_usage_us());
DCHECK(load_time_estimates_proto.has_avg_footprint_kb());
- mojom::SiteCharacteristicsPerformanceMeasurementPtr load_time_estimates =
- mojom::SiteCharacteristicsPerformanceMeasurement::New();
+ discards::mojom::SiteCharacteristicsPerformanceMeasurementPtr
+ load_time_estimates =
+ discards::mojom::SiteCharacteristicsPerformanceMeasurement::New();
if (load_time_estimates_proto.has_avg_cpu_usage_us()) {
load_time_estimates->avg_cpu_usage_us =
load_time_estimates_proto.avg_cpu_usage_us();
@@ -155,32 +156,32 @@ mojom::SiteCharacteristicsDatabaseEntryPtr ConvertEntryFromProto(
value->load_time_estimates = std::move(load_time_estimates);
}
- mojom::SiteCharacteristicsDatabaseEntryPtr entry =
- mojom::SiteCharacteristicsDatabaseEntry::New();
+ discards::mojom::SiteCharacteristicsDatabaseEntryPtr entry =
+ discards::mojom::SiteCharacteristicsDatabaseEntry::New();
entry->value = std::move(value);
return entry;
}
-class DiscardsDetailsProviderImpl : public mojom::DiscardsDetailsProvider {
+class DiscardsDetailsProviderImpl : public discards::mojom::DetailsProvider {
public:
// This instance is deleted when the supplied pipe is destroyed.
DiscardsDetailsProviderImpl(
resource_coordinator::LocalSiteCharacteristicsDataStoreInspector*
data_store_inspector,
- mojo::InterfaceRequest<mojom::DiscardsDetailsProvider> request)
+ mojo::PendingReceiver<discards::mojom::DetailsProvider> receiver)
: data_store_inspector_(data_store_inspector),
- binding_(this, std::move(request)) {}
+ receiver_(this, std::move(receiver)) {}
~DiscardsDetailsProviderImpl() override {}
- // mojom::DiscardsDetailsProvider overrides:
+ // discards::mojom::DetailsProvider overrides:
void GetTabDiscardsInfo(GetTabDiscardsInfoCallback callback) override {
resource_coordinator::TabManager* tab_manager =
g_browser_process->GetTabManager();
const resource_coordinator::LifecycleUnitVector lifecycle_units =
tab_manager->GetSortedLifecycleUnits();
- std::vector<mojom::TabDiscardsInfoPtr> infos;
+ std::vector<discards::mojom::TabDiscardsInfoPtr> infos;
infos.reserve(lifecycle_units.size());
const base::TimeTicks now = resource_coordinator::NowTicks();
@@ -188,7 +189,8 @@ class DiscardsDetailsProviderImpl : public mojom::DiscardsDetailsProvider {
// Convert the LifecycleUnits to a vector of TabDiscardsInfos.
size_t rank = 1;
for (auto* lifecycle_unit : lifecycle_units) {
- mojom::TabDiscardsInfoPtr info(mojom::TabDiscardsInfo::New());
+ discards::mojom::TabDiscardsInfoPtr info(
+ discards::mojom::TabDiscardsInfo::New());
resource_coordinator::TabLifecycleUnitExternal*
tab_lifecycle_unit_external =
@@ -308,7 +310,7 @@ class DiscardsDetailsProviderImpl : public mojom::DiscardsDetailsProvider {
OriginToReaderMap requested_origins_;
LocalSiteCharacteristicsDataStoreInspector* data_store_inspector_;
- mojo::Binding<mojom::DiscardsDetailsProvider> binding_;
+ mojo::Receiver<discards::mojom::DetailsProvider> receiver_;
DISALLOW_COPY_AND_ASSIGN(DiscardsDetailsProviderImpl);
};
@@ -344,8 +346,8 @@ void DiscardsDetailsProviderImpl::GetSiteCharacteristicsDatabase(
}
}
- mojom::SiteCharacteristicsDatabasePtr result =
- mojom::SiteCharacteristicsDatabase::New();
+ discards::mojom::SiteCharacteristicsDatabasePtr result =
+ discards::mojom::SiteCharacteristicsDatabase::New();
std::vector<url::Origin> in_memory_origins =
data_store_inspector_->GetAllInMemoryOrigins();
for (const url::Origin& origin : in_memory_origins) {
@@ -378,8 +380,8 @@ void DiscardsDetailsProviderImpl::GetSiteCharacteristicsDatabaseSize(
[](GetSiteCharacteristicsDatabaseSizeCallback callback,
base::Optional<int64_t> num_rows,
base::Optional<int64_t> on_disk_size_kb) {
- mojom::SiteCharacteristicsDatabaseSizePtr result =
- mojom::SiteCharacteristicsDatabaseSize::New();
+ discards::mojom::SiteCharacteristicsDatabaseSizePtr result =
+ discards::mojom::SiteCharacteristicsDatabaseSize::New();
result->num_rows = num_rows.has_value() ? num_rows.value() : -1;
result->on_disk_size_kb =
on_disk_size_kb.has_value() ? on_disk_size_kb.value() : -1;
@@ -425,8 +427,6 @@ DiscardsUI::DiscardsUI(content::WebUI* web_ui)
source->AddResourcePath(
"chrome/browser/resource_coordinator/lifecycle_unit_state.mojom-lite.js",
IDR_DISCARDS_LIFECYCLE_UNIT_STATE_MOJOM_LITE_JS);
- source->AddResourcePath("mojom/webui_graph_dump.mojom-lite.js",
- IDR_DISCARDS_WEBUI_GRAPH_DUMP_MOJOM_LITE_JS);
// Add the mojo base dependency for the WebUI Graph Dump.
source->AddResourcePath(
@@ -445,7 +445,7 @@ DiscardsUI::DiscardsUI(content::WebUI* web_ui)
AddHandlerToRegistry(base::BindRepeating(
&DiscardsUI::BindDiscardsDetailsProvider, base::Unretained(this)));
AddHandlerToRegistry(base::BindRepeating(
- &DiscardsUI::BindWebUIGraphDumpProvider, base::Unretained(this)));
+ &DiscardsUI::BindDiscardsGraphDumpProvider, base::Unretained(this)));
data_store_inspector_ = resource_coordinator::
LocalSiteCharacteristicsDataStoreInspector::GetForProfile(profile);
@@ -454,20 +454,17 @@ DiscardsUI::DiscardsUI(content::WebUI* web_ui)
DiscardsUI::~DiscardsUI() {}
void DiscardsUI::BindDiscardsDetailsProvider(
- mojom::DiscardsDetailsProviderRequest request) {
+ mojo::PendingReceiver<discards::mojom::DetailsProvider> receiver) {
ui_handler_ = std::make_unique<DiscardsDetailsProviderImpl>(
- data_store_inspector_, std::move(request));
+ data_store_inspector_, std::move(receiver));
}
-void DiscardsUI::BindWebUIGraphDumpProvider(
- performance_manager::mojom::WebUIGraphDumpRequest request) {
- performance_manager::PerformanceManager* performance_manager =
- performance_manager::PerformanceManager::GetInstance();
- if (performance_manager) {
- // Forward the interface request directly to the service.
- performance_manager->CallOnGraph(
- FROM_HERE,
- base::BindOnce(&performance_manager::WebUIGraphDumpImpl::CreateAndBind,
- std::move(request)));
+void DiscardsUI::BindDiscardsGraphDumpProvider(
+ mojo::PendingReceiver<discards::mojom::GraphDump> receiver) {
+ if (performance_manager::PerformanceManager::IsAvailable()) {
+ // Forward the interface receiver directly to the service.
+ performance_manager::PerformanceManager::CallOnGraph(
+ FROM_HERE, base::BindOnce(&DiscardsGraphDumpImpl::CreateAndBind,
+ std::move(receiver)));
}
}