dbus: move DebugDaemonClient to debug_daemon subfolder
This refactors DebugDaemonClient by moving the the client to debug_daemon subfolder under //chromeos/dbus. metrics::DebugdClientProvider is also moved to the subfolder and renamed to to chromeos::DebugDaemonClientProvider to be consistent with chromeos::DebugDaemonClient. Bug: 998364 Test: Build Change-Id: Icfe85f1c2b55146f0130c42ceff3e57f8b376922 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1794944 Commit-Queue: Chinglin Yu <chinglinyu@chromium.org> Reviewed-by: oysteine <oysteine@chromium.org> Reviewed-by: Ben Wells <benwells@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: Gabriel Marin <gmx@chromium.org> Cr-Commit-Position: refs/heads/master@{#701442}
This commit is contained in:
chrome/browser
chromeos
concierge_helper_service.ccconcierge_helper_service_unittest.cc
crostini
login
plugin_vm
printing
scheduler_configuration_manager.ccscheduler_configuration_manager_unittest.ccsystem_logs
debug_daemon_log_source.ccdebug_log_writer.ccsingle_debug_daemon_log_source.ccsingle_debug_daemon_log_source_unittest.cc
u2f_notification.ccmetrics
perf
resource_coordinator
ui
chromeos/dbus
components/arc
content/browser/tracing
extensions/browser/api/diagnostics
rlz
@ -9,7 +9,7 @@
|
||||
#include "chromeos/dbus/concierge/service.pb.h"
|
||||
#include "chromeos/dbus/concierge_client.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/keyed_service/content/browser_context_dependency_manager.h"
|
||||
#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
|
||||
#include "content/public/browser/browser_context.h"
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "chromeos/dbus/concierge/service.pb.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/fake_concierge_client.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "dbus/bus.h"
|
||||
#include "dbus/object_proxy.h"
|
||||
|
@ -39,7 +39,7 @@
|
||||
#include "chromeos/dbus/concierge_client.h"
|
||||
#include "chromeos/dbus/cros_disks_client.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/image_loader_client.h"
|
||||
#include "chromeos/disks/disk_mount_manager.h"
|
||||
#include "components/component_updater/component_updater_service.h"
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chromeos/constants/chromeos_switches.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/fake_update_engine_client.h"
|
||||
#include "chromeos/dbus/power/fake_power_manager_client.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "chrome/browser/download/download_service_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/download/public/background_service/download_metadata.h"
|
||||
#include "components/download/public/background_service/download_service.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "chrome/browser/ui/ash/launcher/shelf_spinner_item_controller.h"
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/keyed_service/content/browser_context_dependency_manager.h"
|
||||
#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/printing/ppd_provider.h"
|
||||
#include "chromeos/printing/printer_configuration.h"
|
||||
#include "components/device_event_log/device_event_log.h"
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "chrome/browser/chromeos/printing/synced_printers_manager_factory.h"
|
||||
#include "chrome/browser/chromeos/printing/usb_printer_util.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/printing/ppd_provider.h"
|
||||
#include "chromeos/printing/usb_printer_id.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "base/metrics/field_trial_params.h"
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/prefs/pref_registry_simple.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "third_party/cros_system_api/dbus/debugd/dbus-constants.h"
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "base/test/task_environment.h"
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "components/prefs/testing_pref_service.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/cros_system_api/dbus/debugd/dbus-constants.h"
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include "chrome/browser/chromeos/profiles/profile_helper.h"
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/user_manager/user.h"
|
||||
#include "components/user_manager/user_manager.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "base/task/post_task.h"
|
||||
#include "chrome/common/logging_chrome.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
|
||||
namespace system_logs {
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include "base/macros.h"
|
||||
#include "base/run_loop.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "chrome/browser/ui/browser_navigator_params.h"
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/policy/proto/chrome_device_policy.pb.h"
|
||||
#include "components/strings/grit/components_strings.h"
|
||||
#include "third_party/cros_system_api/dbus/debugd/dbus-constants.h"
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "chrome/browser/metrics/perf/process_type_collector.h"
|
||||
#include "chrome/browser/metrics/perf/windowed_incognito_observer.h"
|
||||
#include "chrome/browser/ui/browser_list.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client_provider.h"
|
||||
#include "components/variations/variations_associated_data.h"
|
||||
#include "third_party/metrics_proto/sampled_profile.pb.h"
|
||||
|
||||
@ -256,7 +257,8 @@ void PerfCollector::SetUp() {
|
||||
|
||||
// Create DebugdClientProvider to bind its private DBus connection to the
|
||||
// current sequence.
|
||||
debugd_client_provider_ = std::make_unique<DebugdClientProvider>();
|
||||
debugd_client_provider_ =
|
||||
std::make_unique<chromeos::DebugDaemonClientProvider>();
|
||||
|
||||
auto task_runner = base::SequencedTaskRunnerHandle::Get();
|
||||
base::PostTask(
|
||||
|
@ -19,10 +19,13 @@ namespace base {
|
||||
class SequencedTaskRunner;
|
||||
}
|
||||
|
||||
namespace chromeos {
|
||||
class DebugDaemonClientProvider;
|
||||
} // namespace chromeos
|
||||
|
||||
namespace metrics {
|
||||
|
||||
struct CPUIdentity;
|
||||
class DebugdClientProvider;
|
||||
class WindowedIncognitoObserver;
|
||||
|
||||
// Enables collection of perf events profile data. perf aka "perf events" is a
|
||||
@ -112,7 +115,7 @@ class PerfCollector : public internal::MetricCollector {
|
||||
RandomSelector command_selector_;
|
||||
|
||||
// |debugd_client_provider_| hosts the private DBus connection to debugd.
|
||||
std::unique_ptr<DebugdClientProvider> debugd_client_provider_;
|
||||
std::unique_ptr<chromeos::DebugDaemonClientProvider> debugd_client_provider_;
|
||||
|
||||
// An active call to perf/quipper, if set.
|
||||
std::unique_ptr<PerfOutputCall> perf_output_call_;
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "base/bind.h"
|
||||
#include "base/bind_helpers.h"
|
||||
#include "base/task/post_task.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "dbus/bus.h"
|
||||
#include "dbus/message.h"
|
||||
#include "dbus/object_path.h"
|
||||
@ -16,29 +16,6 @@
|
||||
|
||||
namespace metrics {
|
||||
|
||||
DebugdClientProvider::DebugdClientProvider()
|
||||
: dbus_task_runner_(base::CreateSingleThreadTaskRunner(
|
||||
{base::ThreadPool(), base::TaskPriority::BEST_EFFORT,
|
||||
base::MayBlock()})),
|
||||
debug_daemon_client_(chromeos::DebugDaemonClient::Create()) {
|
||||
dbus::Bus::Options dbus_options;
|
||||
dbus_options.bus_type = dbus::Bus::SYSTEM;
|
||||
dbus_options.connection_type = dbus::Bus::PRIVATE;
|
||||
dbus_options.dbus_task_runner = dbus_task_runner_;
|
||||
dbus_bus_ = base::MakeRefCounted<dbus::Bus>(dbus_options);
|
||||
|
||||
debug_daemon_client_->Init(dbus_bus_.get());
|
||||
}
|
||||
|
||||
DebugdClientProvider::~DebugdClientProvider() {
|
||||
DCHECK(debug_daemon_client_);
|
||||
DCHECK(dbus_bus_);
|
||||
|
||||
debug_daemon_client_ = nullptr;
|
||||
dbus_task_runner_->PostTask(
|
||||
FROM_HERE, base::BindOnce(&dbus::Bus::ShutdownAndBlock, dbus_bus_));
|
||||
}
|
||||
|
||||
PerfOutputCall::PerfOutputCall(chromeos::DebugDaemonClient* debug_daemon_client,
|
||||
base::TimeDelta duration,
|
||||
const std::vector<std::string>& perf_args,
|
||||
|
@ -21,32 +21,8 @@ namespace chromeos {
|
||||
class DebugDaemonClient;
|
||||
} // namespace chromeos
|
||||
|
||||
namespace dbus {
|
||||
class Bus;
|
||||
} // namespace dbus
|
||||
|
||||
namespace metrics {
|
||||
|
||||
// This class hosts a private DBus connection for perf collection. The collector
|
||||
// sequence acts as the origin thread of the DBus Bus and ObjectProxy objects.
|
||||
class DebugdClientProvider {
|
||||
public:
|
||||
DebugdClientProvider();
|
||||
~DebugdClientProvider();
|
||||
|
||||
chromeos::DebugDaemonClient* debug_daemon_client() const {
|
||||
return debug_daemon_client_.get();
|
||||
}
|
||||
|
||||
private:
|
||||
// The private bus.
|
||||
scoped_refptr<dbus::Bus> dbus_bus_;
|
||||
scoped_refptr<base::SequencedTaskRunner> dbus_task_runner_;
|
||||
std::unique_ptr<chromeos::DebugDaemonClient> debug_daemon_client_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(DebugdClientProvider);
|
||||
};
|
||||
|
||||
// Class for handling getting output from perf over DBus. Manages the
|
||||
// asynchronous DBus call and retrieving data from quipper over a pipe.
|
||||
class PerfOutputCall {
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/threading/sequenced_task_runner_handle.h"
|
||||
#include "base/threading/thread_restrictions.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "third_party/metrics_proto/sampled_profile.pb.h"
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "chrome/browser/resource_coordinator/lifecycle_unit_state.mojom.h"
|
||||
#include "chrome/browser/resource_coordinator/tab_manager.h"
|
||||
#include "chrome/browser/ui/browser_list_observer.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "components/arc/mojom/process.mojom.h"
|
||||
#include "content/public/browser/notification_observer.h"
|
||||
#include "content/public/browser/notification_registrar.h"
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include "base/time/time.h"
|
||||
#include "chrome/browser/resource_coordinator/test_lifecycle_unit.h"
|
||||
#include "chrome/browser/resource_coordinator/time.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
|
@ -23,8 +23,8 @@
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/fake_concierge_client.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/tpm/stub_install_attributes.h"
|
||||
#include "components/account_id/account_id.h"
|
||||
#include "components/download/public/background_service/download_metadata.h"
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "chromeos/constants/chromeos_switches.h"
|
||||
#include "chromeos/dbus/cryptohome/cryptohome_client.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/power/power_manager_client.h"
|
||||
#include "components/login/localized_values_builder.h"
|
||||
#include "components/prefs/pref_registry_simple.h"
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
#if defined(OS_CHROMEOS)
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#endif
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
|
@ -44,7 +44,7 @@
|
||||
#include "chrome/browser/policy/policy_conversions.h"
|
||||
#include "chrome/common/logging_chrome.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/network/onc/onc_certificate_importer_impl.h"
|
||||
#include "chromeos/network/onc/onc_parsed_certificates.h"
|
||||
#include "chromeos/network/onc/onc_utils.h"
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "chrome/browser/ui/webui/print_preview/print_preview_utils.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/printing/printer_configuration.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/printing/browser/printer_capabilities.h"
|
||||
|
@ -36,7 +36,7 @@
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/printing/ppd_cache.h"
|
||||
#include "chromeos/printing/ppd_line_reader.h"
|
||||
#include "chromeos/printing/ppd_provider.h"
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "chrome/browser/chromeos/printing/printing_stubs.h"
|
||||
#include "chrome/test/base/testing_profile.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "content/public/test/test_web_ui.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
@ -18,6 +18,7 @@ component("dbus") {
|
||||
public_deps = [
|
||||
":common",
|
||||
"//chromeos/dbus/constants",
|
||||
"//chromeos/dbus/debug_daemon",
|
||||
"//chromeos/dbus/shill",
|
||||
"//dbus",
|
||||
]
|
||||
@ -61,14 +62,11 @@ component("dbus") {
|
||||
"concierge_client.h",
|
||||
"cros_disks_client.cc",
|
||||
"cros_disks_client.h",
|
||||
"dbus_client.h",
|
||||
"dbus_client_implementation_type.h",
|
||||
"dbus_clients_browser.cc",
|
||||
"dbus_clients_browser.h",
|
||||
"dbus_thread_manager.cc",
|
||||
"dbus_thread_manager.h",
|
||||
"debug_daemon_client.cc",
|
||||
"debug_daemon_client.h",
|
||||
"easy_unlock_client.cc",
|
||||
"easy_unlock_client.h",
|
||||
"fake_arc_appfuse_provider_client.cc",
|
||||
@ -91,8 +89,6 @@ component("dbus") {
|
||||
"fake_concierge_client.h",
|
||||
"fake_cros_disks_client.cc",
|
||||
"fake_cros_disks_client.h",
|
||||
"fake_debug_daemon_client.cc",
|
||||
"fake_debug_daemon_client.h",
|
||||
"fake_easy_unlock_client.cc",
|
||||
"fake_easy_unlock_client.h",
|
||||
"fake_gnubby_client.cc",
|
||||
@ -177,6 +173,7 @@ component("common") {
|
||||
sources = [
|
||||
"blocking_method_caller.cc",
|
||||
"blocking_method_caller.h",
|
||||
"dbus_client.h",
|
||||
"dbus_method_call_status.cc",
|
||||
"dbus_method_call_status.h",
|
||||
"initialize_dbus_client.h",
|
||||
|
@ -16,7 +16,8 @@
|
||||
#include "chromeos/dbus/cros_disks_client.h"
|
||||
#include "chromeos/dbus/dbus_client_implementation_type.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/easy_unlock_client.h"
|
||||
#include "chromeos/dbus/fake_arc_appfuse_provider_client.h"
|
||||
#include "chromeos/dbus/fake_arc_keymaster_client.h"
|
||||
@ -27,7 +28,6 @@
|
||||
#include "chromeos/dbus/fake_cicerone_client.h"
|
||||
#include "chromeos/dbus/fake_concierge_client.h"
|
||||
#include "chromeos/dbus/fake_cros_disks_client.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/fake_easy_unlock_client.h"
|
||||
#include "chromeos/dbus/fake_gnubby_client.h"
|
||||
#include "chromeos/dbus/fake_image_burner_client.h"
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "chromeos/dbus/cros_disks_client.h"
|
||||
#include "chromeos/dbus/dbus_client.h"
|
||||
#include "chromeos/dbus/dbus_clients_browser.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/easy_unlock_client.h"
|
||||
#include "chromeos/dbus/gnubby_client.h"
|
||||
#include "chromeos/dbus/image_burner_client.h"
|
||||
|
24
chromeos/dbus/debug_daemon/BUILD.gn
Normal file
24
chromeos/dbus/debug_daemon/BUILD.gn
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
assert(is_chromeos, "Non-ChromeOS builds cannot depend on //chromeos")
|
||||
|
||||
component("debug_daemon") {
|
||||
defines = [ "IS_DEBUG_DAEMON_IMPL" ]
|
||||
|
||||
deps = [
|
||||
"//base",
|
||||
"//chromeos/dbus:common",
|
||||
"//dbus",
|
||||
]
|
||||
|
||||
sources = [
|
||||
"debug_daemon_client.cc",
|
||||
"debug_daemon_client.h",
|
||||
"debug_daemon_client_provider.cc",
|
||||
"debug_daemon_client_provider.h",
|
||||
"fake_debug_daemon_client.cc",
|
||||
"fake_debug_daemon_client.h",
|
||||
]
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
|
||||
#include <dbus/dbus-protocol.h>
|
||||
#include <fcntl.h>
|
||||
@ -163,8 +163,7 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
bool numeric,
|
||||
bool ipv6,
|
||||
DBusMethodCallback<std::vector<std::string>> callback) override {
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface,
|
||||
debugd::kGetRoutes);
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface, debugd::kGetRoutes);
|
||||
dbus::MessageWriter writer(&method_call);
|
||||
dbus::MessageWriter sub_writer(NULL);
|
||||
writer.OpenArray("{sv}", &sub_writer);
|
||||
@ -255,8 +254,7 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
}
|
||||
|
||||
void GetAllLogs(GetLogsCallback callback) override {
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface,
|
||||
debugd::kGetAllLogs);
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface, debugd::kGetAllLogs);
|
||||
debugdaemon_proxy_->CallMethod(
|
||||
&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
|
||||
base::BindOnce(&DebugDaemonClientImpl::OnGetAllLogs,
|
||||
@ -280,9 +278,8 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
|
||||
void StartAgentTracing(const base::trace_event::TraceConfig& trace_config,
|
||||
StartAgentTracingCallback callback) override {
|
||||
dbus::MethodCall method_call(
|
||||
debugd::kDebugdInterface,
|
||||
debugd::kSystraceStart);
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface,
|
||||
debugd::kSystraceStart);
|
||||
dbus::MessageWriter writer(&method_call);
|
||||
if (trace_config.systrace_events().empty()) {
|
||||
writer.AppendString("all"); // TODO(sleffler) parameterize category list
|
||||
@ -341,8 +338,7 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
|
||||
void TestICMP(const std::string& ip_address,
|
||||
TestICMPCallback callback) override {
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface,
|
||||
debugd::kTestICMP);
|
||||
dbus::MethodCall method_call(debugd::kDebugdInterface, debugd::kTestICMP);
|
||||
dbus::MessageWriter writer(&method_call);
|
||||
writer.AppendString(ip_address);
|
||||
debugdaemon_proxy_->CallMethod(
|
||||
@ -630,9 +626,9 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
while (sub_reader.HasMoreData()) {
|
||||
dbus::MessageReader sub_sub_reader(NULL);
|
||||
std::string key, value;
|
||||
if (!sub_reader.PopDictEntry(&sub_sub_reader)
|
||||
|| !sub_sub_reader.PopString(&key)
|
||||
|| !sub_sub_reader.PopString(&value)) {
|
||||
if (!sub_reader.PopDictEntry(&sub_sub_reader) ||
|
||||
!sub_sub_reader.PopString(&key) ||
|
||||
!sub_sub_reader.PopString(&value)) {
|
||||
broken = true;
|
||||
break;
|
||||
}
|
||||
@ -699,18 +695,16 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
std::move(callback).Run(std::move(result));
|
||||
}
|
||||
|
||||
void OnEnableDebuggingFeatures(
|
||||
const EnableDebuggingCallback& callback,
|
||||
dbus::Response* response) {
|
||||
void OnEnableDebuggingFeatures(const EnableDebuggingCallback& callback,
|
||||
dbus::Response* response) {
|
||||
if (callback.is_null())
|
||||
return;
|
||||
|
||||
callback.Run(response != NULL);
|
||||
}
|
||||
|
||||
void OnQueryDebuggingFeatures(
|
||||
const QueryDevFeaturesCallback& callback,
|
||||
dbus::Response* response) {
|
||||
void OnQueryDebuggingFeatures(const QueryDevFeaturesCallback& callback,
|
||||
dbus::Response* response) {
|
||||
if (callback.is_null())
|
||||
return;
|
||||
|
||||
@ -723,9 +717,8 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
||||
callback.Run(true, feature_mask);
|
||||
}
|
||||
|
||||
void OnRemoveRootfsVerification(
|
||||
const EnableDebuggingCallback& callback,
|
||||
dbus::Response* response) {
|
||||
void OnRemoveRootfsVerification(const EnableDebuggingCallback& callback,
|
||||
dbus::Response* response) {
|
||||
if (callback.is_null())
|
||||
return;
|
||||
|
@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_
|
||||
#define CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_
|
||||
#ifndef CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_H_
|
||||
#define CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
@ -23,10 +23,6 @@
|
||||
#include "chromeos/dbus/dbus_method_call_status.h"
|
||||
#include "third_party/cros_system_api/dbus/service_constants.h"
|
||||
|
||||
namespace metrics {
|
||||
class DebugdClientProvider;
|
||||
} // namespace metrics
|
||||
|
||||
namespace chromeos {
|
||||
|
||||
// A DbusLibraryError represents an error response received from D-Bus.
|
||||
@ -37,7 +33,7 @@ enum DbusLibraryError {
|
||||
};
|
||||
|
||||
// DebugDaemonClient is used to communicate with the debug daemon.
|
||||
class COMPONENT_EXPORT(CHROMEOS_DBUS) DebugDaemonClient
|
||||
class COMPONENT_EXPORT(DEBUG_DAEMON) DebugDaemonClient
|
||||
: public DBusClient,
|
||||
public base::trace_event::TracingAgent {
|
||||
public:
|
||||
@ -153,8 +149,8 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) DebugDaemonClient
|
||||
// Called once QueryDebuggingFeatures() is complete. |succeeded| will be true
|
||||
// if debugging features have been successfully enabled. |feature_mask| is a
|
||||
// bitmask made out of DebuggingFeature enum values.
|
||||
typedef base::Callback<void(bool succeeded,
|
||||
int feature_mask)> QueryDevFeaturesCallback;
|
||||
typedef base::Callback<void(bool succeeded, int feature_mask)>
|
||||
QueryDevFeaturesCallback;
|
||||
// Checks which debugging features have been already enabled.
|
||||
virtual void QueryDebuggingFeatures(
|
||||
const QueryDevFeaturesCallback& callback) = 0;
|
||||
@ -274,7 +270,7 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) DebugDaemonClient
|
||||
protected:
|
||||
// For calling Init() in initiating a DebugDaemonClient instance for private
|
||||
// connections.
|
||||
friend class metrics::DebugdClientProvider;
|
||||
friend class DebugDaemonClientProvider;
|
||||
|
||||
// Create() should be used instead.
|
||||
DebugDaemonClient();
|
||||
@ -285,4 +281,4 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) DebugDaemonClient
|
||||
|
||||
} // namespace chromeos
|
||||
|
||||
#endif // CHROMEOS_DBUS_DEBUG_DAEMON_CLIENT_H_
|
||||
#endif // CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_H_
|
40
chromeos/dbus/debug_daemon/debug_daemon_client_provider.cc
Normal file
40
chromeos/dbus/debug_daemon/debug_daemon_client_provider.cc
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright (c) 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client_provider.h"
|
||||
|
||||
#include "base/task/post_task.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "dbus/bus.h"
|
||||
#include "dbus/message.h"
|
||||
#include "dbus/object_path.h"
|
||||
#include "dbus/object_proxy.h"
|
||||
#include "third_party/cros_system_api/dbus/service_constants.h"
|
||||
|
||||
namespace chromeos {
|
||||
|
||||
DebugDaemonClientProvider::DebugDaemonClientProvider()
|
||||
: dbus_task_runner_(base::CreateSingleThreadTaskRunner(
|
||||
{base::ThreadPool(), base::TaskPriority::BEST_EFFORT,
|
||||
base::MayBlock()})),
|
||||
debug_daemon_client_(DebugDaemonClient::Create()) {
|
||||
dbus::Bus::Options dbus_options;
|
||||
dbus_options.bus_type = dbus::Bus::SYSTEM;
|
||||
dbus_options.connection_type = dbus::Bus::PRIVATE;
|
||||
dbus_options.dbus_task_runner = dbus_task_runner_;
|
||||
dbus_bus_ = base::MakeRefCounted<dbus::Bus>(dbus_options);
|
||||
|
||||
debug_daemon_client_->Init(dbus_bus_.get());
|
||||
}
|
||||
|
||||
DebugDaemonClientProvider::~DebugDaemonClientProvider() {
|
||||
DCHECK(debug_daemon_client_);
|
||||
DCHECK(dbus_bus_);
|
||||
|
||||
debug_daemon_client_ = nullptr;
|
||||
dbus_task_runner_->PostTask(
|
||||
FROM_HERE, base::BindOnce(&dbus::Bus::ShutdownAndBlock, dbus_bus_));
|
||||
}
|
||||
|
||||
} // namespace chromeos
|
53
chromeos/dbus/debug_daemon/debug_daemon_client_provider.h
Normal file
53
chromeos/dbus/debug_daemon/debug_daemon_client_provider.h
Normal file
@ -0,0 +1,53 @@
|
||||
// Copyright (c) 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_PROVIDER_H_
|
||||
#define CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_PROVIDER_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "base/component_export.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
|
||||
namespace dbus {
|
||||
class Bus;
|
||||
} // namespace dbus
|
||||
|
||||
namespace chromeos {
|
||||
class DebugDaemonClient;
|
||||
|
||||
// This class hosts an instance of DebugDaemonClient used to connect to debugd
|
||||
// using a private DBus connection. The private connection uses the sequence
|
||||
// on which DebugDaemonClientProvider is instantiated as the origin thread. Use
|
||||
// this class if you need to connect to debugd from non-UI thread.
|
||||
//
|
||||
// Example:
|
||||
// // From non-UI thread. The private dbus::Bus binds the current sequence as
|
||||
// // its origin thread.
|
||||
// std::unique_ptr<DebugDaemonClientProvider> provider =
|
||||
// std::make_unique<DebugDaemonClientProvider>();
|
||||
// DebugDaemonClient* client = provider->debug_daemon_client();
|
||||
// client->GetPerfOutput(...);
|
||||
//
|
||||
class COMPONENT_EXPORT(DEBUG_DAEMON) DebugDaemonClientProvider {
|
||||
public:
|
||||
DebugDaemonClientProvider();
|
||||
~DebugDaemonClientProvider();
|
||||
|
||||
DebugDaemonClient* debug_daemon_client() const {
|
||||
return debug_daemon_client_.get();
|
||||
}
|
||||
|
||||
private:
|
||||
// The private bus.
|
||||
scoped_refptr<dbus::Bus> dbus_bus_;
|
||||
scoped_refptr<base::SequencedTaskRunner> dbus_task_runner_;
|
||||
std::unique_ptr<DebugDaemonClient> debug_daemon_client_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(DebugDaemonClientProvider);
|
||||
};
|
||||
|
||||
} // namespace chromeos
|
||||
|
||||
#endif // CHROMEOS_DBUS_DEBUG_DAEMON_DEBUG_DAEMON_CLIENT_PROVIDER_H_
|
8
chromeos/dbus/fake_debug_daemon_client.cc → chromeos/dbus/debug_daemon/fake_debug_daemon_client.cc
8
chromeos/dbus/fake_debug_daemon_client.cc → chromeos/dbus/debug_daemon/fake_debug_daemon_client.cc
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
@ -32,8 +32,7 @@ namespace chromeos {
|
||||
|
||||
FakeDebugDaemonClient::FakeDebugDaemonClient()
|
||||
: features_mask_(DebugDaemonClient::DEV_FEATURE_NONE),
|
||||
service_is_available_(true) {
|
||||
}
|
||||
service_is_available_(true) {}
|
||||
|
||||
FakeDebugDaemonClient::~FakeDebugDaemonClient() = default;
|
||||
|
||||
@ -140,8 +139,7 @@ void FakeDebugDaemonClient::TestICMPWithOptions(
|
||||
FROM_HERE, base::BindOnce(std::move(callback), base::nullopt));
|
||||
}
|
||||
|
||||
void FakeDebugDaemonClient::UploadCrashes() {
|
||||
}
|
||||
void FakeDebugDaemonClient::UploadCrashes() {}
|
||||
|
||||
void FakeDebugDaemonClient::EnableDebuggingFeatures(
|
||||
const std::string& password,
|
@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_
|
||||
#define CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_
|
||||
#ifndef CHROMEOS_DBUS_DEBUG_DAEMON_FAKE_DEBUG_DAEMON_CLIENT_H_
|
||||
#define CHROMEOS_DBUS_DEBUG_DAEMON_FAKE_DEBUG_DAEMON_CLIENT_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
@ -16,13 +16,13 @@
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/macros.h"
|
||||
#include "chromeos/dbus/dbus_method_call_status.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
|
||||
namespace chromeos {
|
||||
|
||||
// The DebugDaemonClient implementation used on Linux desktop,
|
||||
// which does nothing.
|
||||
class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeDebugDaemonClient
|
||||
class COMPONENT_EXPORT(DEBUG_DAEMON) FakeDebugDaemonClient
|
||||
: public DebugDaemonClient {
|
||||
public:
|
||||
FakeDebugDaemonClient();
|
||||
@ -125,4 +125,4 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeDebugDaemonClient
|
||||
|
||||
} // namespace chromeos
|
||||
|
||||
#endif // CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_
|
||||
#endif // CHROMEOS_DBUS_DEBUG_DAEMON_FAKE_DEBUG_DAEMON_CLIENT_H_
|
@ -15,7 +15,7 @@
|
||||
#include "chromeos/constants/chromeos_switches.h"
|
||||
#include "chromeos/dbus/concierge_client.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/session_manager/session_manager_client.h"
|
||||
#include "components/arc/arc_features.h"
|
||||
#include "components/exo/shell_surface_util.h"
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "base/callback_helpers.h"
|
||||
#include "base/logging.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/upstart/upstart_client.h"
|
||||
#include "components/arc/arc_prefs.h"
|
||||
#include "components/arc/arc_util.h"
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/trace_event/trace_config.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "services/service_manager/public/cpp/connector.h"
|
||||
#include "services/tracing/public/cpp/perfetto/perfetto_traced_process.h"
|
||||
|
@ -47,7 +47,7 @@
|
||||
|
||||
#if defined(OS_CHROMEOS)
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/system/statistics_provider.h"
|
||||
#include "content/browser/tracing/cros_tracing_agent.h"
|
||||
#endif
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
#include "base/values.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
|
||||
namespace extensions {
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/values.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
|
||||
#include "chromeos/system/factory_ping_embargo_check.h"
|
||||
#include "chromeos/system/statistics_provider.h"
|
||||
#include "dbus/bus.h"
|
||||
|
@ -53,7 +53,7 @@
|
||||
#include "base/files/important_file_writer.h"
|
||||
#include "base/stl_util.h"
|
||||
#include "chromeos/dbus/dbus_thread_manager.h"
|
||||
#include "chromeos/dbus/fake_debug_daemon_client.h"
|
||||
#include "chromeos/dbus/debug_daemon/fake_debug_daemon_client.h"
|
||||
#include "rlz/chromeos/lib/rlz_value_store_chromeos.h"
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user