diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 306559e857eacf..6a4f363ed08a2e 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -2239,7 +2239,7 @@ static_library("browser") { "//components/query_tiles", "//components/reading_list/core", "//components/reading_list/features:flags", - "//components/record_replay/services/auth_token:lib", + "//components/record_replay/services/record_replay:lib", "//components/reduce_accept_language/browser:browser", "//components/renderer_context_menu", "//components/reporting/client:report_queue", diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc index 91cfaaa9bc3775..4dbbbcd9102c22 100644 --- a/chrome/browser/chrome_browser_interface_binders.cc +++ b/chrome/browser/chrome_browser_interface_binders.cc @@ -71,8 +71,8 @@ #include "components/performance_manager/public/performance_manager.h" #include "components/prefs/pref_service.h" #include "components/reading_list/features/reading_list_switches.h" -#include "components/record_replay/services/auth_token/public/mojom/auth_token.mojom.h" -#include "components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h" +#include "components/record_replay/services/record_replay/public/mojom/record_replay.mojom.h" +#include "components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h" #include "components/safe_browsing/buildflags.h" #include "components/security_state/content/content_utils.h" #include "components/security_state/core/security_state.h" @@ -374,9 +374,9 @@ namespace internal { using content::RegisterWebUIControllerInterfaceBinder; -void BindRecordReplayAuthTokenStore( +void BindRecordReplayService( content::RenderFrameHost* frame_host, - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { // we only bind the receiver if the frame's origin is app.replay.io if (frame_host->GetLastCommittedOrigin().host() != "app.replay.io") { @@ -386,8 +386,8 @@ void BindRecordReplayAuthTokenStore( content::BrowserContext* browser_context = frame_host->GetProcess()->GetBrowserContext(); - auth_token::RecordReplayAuthTokenServiceFactory::GetForBrowserContext(browser_context) - ->BindAuthTokenStore(std::move(receiver)); + record_replay::RecordReplayServiceFactory::GetForBrowserContext(browser_context) + ->BindRecordReplayService(std::move(receiver)); } #if BUILDFLAG(ENABLE_UNHANDLED_TAP) @@ -696,8 +696,8 @@ void PopulateChromeFrameBinders( mojo::BinderMapWithContext* map, content::RenderFrameHost* render_frame_host) { - map->Add( - base::BindRepeating(&BindRecordReplayAuthTokenStore)); + map->Add( + base::BindRepeating(&BindRecordReplayService)); map->Add( base::BindRepeating(&BindImageAnnotator)); diff --git a/chrome/browser/ui/webui/record_replay/record_replay_manager_handler.cc b/chrome/browser/ui/webui/record_replay/record_replay_manager_handler.cc index ecb29a82b2e366..49ce702011cca5 100644 --- a/chrome/browser/ui/webui/record_replay/record_replay_manager_handler.cc +++ b/chrome/browser/ui/webui/record_replay/record_replay_manager_handler.cc @@ -4,7 +4,7 @@ #include "base/record_replay_driver.h" #include "chrome/browser/ui/webui/record_replay/record_replay_manager_handler.h" -#include "components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h" +#include "components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h" #include #include "base/bind.h" @@ -30,7 +30,7 @@ void RecordReplayManagerHandler::SetManager( void RecordReplayManagerHandler::HandleSignInButtonClicked() { fprintf(stderr, "RecordReplay [RUN-2866] ManagerHandler(%p)::HandleSignInButtonClicked()\n", this); manager_->HandleSignInButtonClicked(); - // auth_token::RecordReplayAuthTokenServiceFactory::GetForBrowserContext(profile_)->SetToken(api_key); + // record_replay::RecordReplayServiceFactory::GetForBrowserContext(profile_)->SetToken(api_key); } void RecordReplayManagerHandler::GetEnv(const std::string& key, GetEnvCallback callback) { diff --git a/components/record_replay/services/auth_token/public/cpp/auth_token_service.cc b/components/record_replay/services/auth_token/public/cpp/auth_token_service.cc deleted file mode 100644 index 80dbf6f642c13c..00000000000000 --- a/components/record_replay/services/auth_token/public/cpp/auth_token_service.cc +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2022 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/record_replay/services/auth_token/public/cpp/auth_token_service.h" -#include "content/public/browser/service_process_host.h" - -namespace auth_token { - -RecordReplayAuthTokenService::RecordReplayAuthTokenService() = default; -RecordReplayAuthTokenService::~RecordReplayAuthTokenService() = default; - -void RecordReplayAuthTokenService::BindAuthTokenStore( - mojo::PendingReceiver store) { - - auth_token_stores_.Add(this, std::move(store)); -} - -void RecordReplayAuthTokenService::SetToken(const std::string& token) { - token_ = token; - // TODO persist the token to browser prefs - NotifyObservers(); -} - -void RecordReplayAuthTokenService::ClearToken() { - token_.clear(); // not sure about this.. should we be sending a null? - NotifyObservers(); -} - -void RecordReplayAuthTokenService::SetUser(const std::string& user) { - // TODO persist the user to browser prefs -} - -void RecordReplayAuthTokenService::ClearUser() { - // TODO clear the user from browser prefs -} - -void RecordReplayAuthTokenService::Login() { -} - -void RecordReplayAuthTokenService::AddObserver(mojo::PendingRemote observer) { - observers_.Add(std::move(observer)); - NotifyObservers(); -} - -void RecordReplayAuthTokenService::NotifyObservers() { - for (auto& observer : observers_) { - observer->OnRecordReplayAuthTokenChanged(token_); - } -} - -} // namespace auth_token diff --git a/components/record_replay/services/auth_token/public/cpp/auth_token_service.h b/components/record_replay/services/auth_token/public/cpp/auth_token_service.h deleted file mode 100644 index df2994fb7f888f..00000000000000 --- a/components/record_replay/services/auth_token/public/cpp/auth_token_service.h +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2022 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_H_ -#define COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_H_ - -#include "components/keyed_service/core/keyed_service.h" -#include "components/record_replay/services/auth_token/public/mojom/auth_token.mojom.h" -#include "mojo/public/cpp/bindings/pending_receiver.h" -#include "mojo/public/cpp/bindings/pending_remote.h" -#include "mojo/public/cpp/bindings/receiver.h" -#include "mojo/public/cpp/bindings/receiver_set.h" -#include "mojo/public/cpp/bindings/remote_set.h" - -namespace auth_token { - -class RecordReplayAuthTokenService : public KeyedService, public mojom::RecordReplayAuthTokenStore { - public: - RecordReplayAuthTokenService(); - RecordReplayAuthTokenService(const RecordReplayAuthTokenService&) = delete; - RecordReplayAuthTokenService& operator=(const RecordReplayAuthTokenService&) = delete; - ~RecordReplayAuthTokenService() override; - - void BindAuthTokenStore( - mojo::PendingReceiver store); - - // mojom::RecordReplayAuthTokenStore: - void SetToken(const std::string& token) override; - void ClearToken() override; - - void SetUser(const std::string& user) override; - void ClearUser() override; - - void Login() override; - - void AddObserver(mojo::PendingRemote observer) override; - -private: - mojo::ReceiverSet auth_token_stores_; - - std::string token_; - - void NotifyObservers(); - - mojo::RemoteSet observers_; -}; - -} // namespace auth_token - -#endif // COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_H_ diff --git a/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.cc b/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.cc deleted file mode 100644 index ba4d2acdbea692..00000000000000 --- a/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.cc +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2022 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h" - -#include "components/keyed_service/content/browser_context_dependency_manager.h" -#include "content/public/browser/browser_context.h" - -namespace auth_token { - -// static -auth_token::RecordReplayAuthTokenService* -RecordReplayAuthTokenServiceFactory::GetForBrowserContext( - content::BrowserContext* context) { - return static_cast( - GetInstance()->GetServiceForBrowserContext(context, /*create=*/true)); -} - -// static -RecordReplayAuthTokenServiceFactory* RecordReplayAuthTokenServiceFactory::GetInstance() { - static base::NoDestructor instance; - return instance.get(); -} - -RecordReplayAuthTokenServiceFactory::RecordReplayAuthTokenServiceFactory() - : BrowserContextKeyedServiceFactory( - "RecordReplayAuthTokenService", - BrowserContextDependencyManager::GetInstance()) {} - -RecordReplayAuthTokenServiceFactory::~RecordReplayAuthTokenServiceFactory() = default; - -KeyedService* RecordReplayAuthTokenServiceFactory::BuildServiceInstanceFor( - content::BrowserContext* /*context*/) const { - return new auth_token::RecordReplayAuthTokenService(); -} - -// Incognito profiles should use their own instance. -content::BrowserContext* RecordReplayAuthTokenServiceFactory::GetBrowserContextToUse( - content::BrowserContext* context) const { - return context; -} - -} // namespace auth_token diff --git a/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h b/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h deleted file mode 100644 index 8ea1abbe7c1893..00000000000000 --- a/components/record_replay/services/auth_token/public/cpp/auth_token_service_factory.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_FACTORY_H_ -#define COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_FACTORY_H_ - -#include "base/no_destructor.h" -#include "components/keyed_service/content/browser_context_keyed_service_factory.h" -#include "components/record_replay/services/auth_token/public/cpp/auth_token_service.h" - -namespace content { -class BrowserContext; -} - -namespace auth_token { - -class RecordReplayAuthTokenService; - -// Factory to get or create an instance of RecordReplayAuthTokenService for a -// BrowserContext. -class RecordReplayAuthTokenServiceFactory : public BrowserContextKeyedServiceFactory { - public: - static RecordReplayAuthTokenService* GetForBrowserContext( - content::BrowserContext* context); - - private: - friend class base::NoDestructor; - static RecordReplayAuthTokenServiceFactory* GetInstance(); - - RecordReplayAuthTokenServiceFactory(); - ~RecordReplayAuthTokenServiceFactory() override; - - // BrowserContextKeyedServiceFactory: - KeyedService* BuildServiceInstanceFor( - content::BrowserContext* context) const override; - content::BrowserContext* GetBrowserContextToUse( - content::BrowserContext* context) const override; -}; - -} // namespace auth_token - -#endif // COMPONENTS_RECORD_REPLAY_SERVICES_AUTH_TOKEN_PUBLIC_CPP_AUTH_TOKEN_SERVICE_FACTORY_H_ diff --git a/components/record_replay/services/auth_token/public/mojom/auth_token.mojom b/components/record_replay/services/auth_token/public/mojom/auth_token.mojom deleted file mode 100644 index 250ed808fb2f38..00000000000000 --- a/components/record_replay/services/auth_token/public/mojom/auth_token.mojom +++ /dev/null @@ -1,20 +0,0 @@ -module auth_token.mojom; - -// Interface to passing updated token around -interface RecordReplayAuthTokenStore { - SetToken(string token); - ClearToken(); - - SetUser (string user); - ClearUser(); - - // Opens an external browser to log the user in - Login(); - - AddObserver(pending_remote observer); - // how do we remove? -}; - -interface RecordReplayAuthTokenStoreObserver { - OnRecordReplayAuthTokenChanged(string token); -}; diff --git a/components/record_replay/services/auth_token/BUILD.gn b/components/record_replay/services/record_replay/BUILD.gn similarity index 56% rename from components/record_replay/services/auth_token/BUILD.gn rename to components/record_replay/services/record_replay/BUILD.gn index c3bbd9f4b2e06d..c683d47e6c269c 100644 --- a/components/record_replay/services/auth_token/BUILD.gn +++ b/components/record_replay/services/record_replay/BUILD.gn @@ -6,10 +6,10 @@ assert(!is_android && !is_ios) source_set("lib") { sources = [ - "public/cpp/auth_token_service.cc", - "public/cpp/auth_token_service.h", - "public/cpp/auth_token_service_factory.cc", - "public/cpp/auth_token_service_factory.h", + "public/cpp/record_replay_service.cc", + "public/cpp/record_replay_service.h", + "public/cpp/record_replay_service_factory.cc", + "public/cpp/record_replay_service_factory.h", ] deps = [ @@ -19,6 +19,6 @@ source_set("lib") { ] public_deps = [ - "//components/record_replay/services/auth_token/public/mojom", + "//components/record_replay/services/record_replay/public/mojom", ] -} \ No newline at end of file +} diff --git a/components/record_replay/services/record_replay/public/cpp/record_replay_service.cc b/components/record_replay/services/record_replay/public/cpp/record_replay_service.cc new file mode 100644 index 00000000000000..f363c277c33e63 --- /dev/null +++ b/components/record_replay/services/record_replay/public/cpp/record_replay_service.cc @@ -0,0 +1,52 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/record_replay/services/record_replay/public/cpp/record_replay_service.h" +#include "content/public/browser/service_process_host.h" + +namespace record_replay { + +RecordReplayService::RecordReplayService() = default; +RecordReplayService::~RecordReplayService() = default; + +void RecordReplayService::BindRecordReplayService( + mojo::PendingReceiver store) { + + services_.Add(this, std::move(store)); +} + +void RecordReplayService::SetToken(const std::string& token) { + token_ = token; + // TODO persist the token to browser prefs + NotifyObservers(); +} + +void RecordReplayService::ClearToken() { + token_.clear(); // not sure about this.. should we be sending a null? + NotifyObservers(); +} + +void RecordReplayService::SetUser(const std::string& user) { + // TODO persist the user to browser prefs +} + +void RecordReplayService::ClearUser() { + // TODO clear the user from browser prefs +} + +void RecordReplayService::Login() { +} + +void RecordReplayService::AddObserver(mojo::PendingRemote observer) { + observers_.Add(std::move(observer)); + NotifyObservers(); +} + +void RecordReplayService::NotifyObservers() { + for (auto& observer : observers_) { + observer->OnRecordReplayAuthTokenChanged(token_); + } +} + +} // namespace record_replay diff --git a/components/record_replay/services/record_replay/public/cpp/record_replay_service.h b/components/record_replay/services/record_replay/public/cpp/record_replay_service.h new file mode 100644 index 00000000000000..35b288855dafc9 --- /dev/null +++ b/components/record_replay/services/record_replay/public/cpp/record_replay_service.h @@ -0,0 +1,51 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_H_ +#define COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_H_ + +#include "components/keyed_service/core/keyed_service.h" +#include "components/record_replay/services/record_replay/public/mojom/record_replay.mojom.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver.h" +#include "mojo/public/cpp/bindings/receiver_set.h" +#include "mojo/public/cpp/bindings/remote_set.h" + +namespace record_replay { + +class RecordReplayService : public KeyedService, public mojom::RecordReplayService { + public: + RecordReplayService(); + RecordReplayService(const RecordReplayService&) = delete; + RecordReplayService& operator=(const RecordReplayService&) = delete; + ~RecordReplayService() override; + + void BindRecordReplayService( + mojo::PendingReceiver store); + + // mojom::RecordReplayService: + void SetToken(const std::string& token) override; + void ClearToken() override; + + void SetUser(const std::string& user) override; + void ClearUser() override; + + void Login() override; + + void AddObserver(mojo::PendingRemote observer) override; + +private: + mojo::ReceiverSet services_; + + std::string token_; + + void NotifyObservers(); + + mojo::RemoteSet observers_; +}; + +} // namespace record_replay + +#endif // COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_H_ diff --git a/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.cc b/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.cc new file mode 100644 index 00000000000000..f78e76f8f8c2a0 --- /dev/null +++ b/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.cc @@ -0,0 +1,44 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h" + +#include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "content/public/browser/browser_context.h" + +namespace record_replay { + +// static +record_replay::RecordReplayService* +RecordReplayServiceFactory::GetForBrowserContext( + content::BrowserContext* context) { + return static_cast( + GetInstance()->GetServiceForBrowserContext(context, /*create=*/true)); +} + +// static +RecordReplayServiceFactory* RecordReplayServiceFactory::GetInstance() { + static base::NoDestructor instance; + return instance.get(); +} + +RecordReplayServiceFactory::RecordReplayServiceFactory() + : BrowserContextKeyedServiceFactory( + "RecordReplayService", + BrowserContextDependencyManager::GetInstance()) {} + +RecordReplayServiceFactory::~RecordReplayServiceFactory() = default; + +KeyedService* RecordReplayServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* /*context*/) const { + return new record_replay::RecordReplayService(); +} + +// Incognito profiles should use their own instance. +content::BrowserContext* RecordReplayServiceFactory::GetBrowserContextToUse( + content::BrowserContext* context) const { + return context; +} + +} // namespace record_replay diff --git a/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h b/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h new file mode 100644 index 00000000000000..0df72ef4f85efd --- /dev/null +++ b/components/record_replay/services/record_replay/public/cpp/record_replay_service_factory.h @@ -0,0 +1,43 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_FACTORY_H_ +#define COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_FACTORY_H_ + +#include "base/no_destructor.h" +#include "components/keyed_service/content/browser_context_keyed_service_factory.h" +#include "components/record_replay/services/record_replay/public/cpp/record_replay_service.h" + +namespace content { +class BrowserContext; +} + +namespace record_replay { + +class RecordReplayService; + +// Factory to get or create an instance of RecordReplayService for a +// BrowserContext. +class RecordReplayServiceFactory : public BrowserContextKeyedServiceFactory { + public: + static RecordReplayService* GetForBrowserContext( + content::BrowserContext* context); + + private: + friend class base::NoDestructor; + static RecordReplayServiceFactory* GetInstance(); + + RecordReplayServiceFactory(); + ~RecordReplayServiceFactory() override; + + // BrowserContextKeyedServiceFactory: + KeyedService* BuildServiceInstanceFor( + content::BrowserContext* context) const override; + content::BrowserContext* GetBrowserContextToUse( + content::BrowserContext* context) const override; +}; + +} // namespace record_replay + +#endif // COMPONENTS_RECORD_REPLAY_SERVICES_RECORD_REPLAY_PUBLIC_CPP_RECORD_REPLAY_SERVICE_FACTORY_H_ diff --git a/components/record_replay/services/auth_token/public/mojom/BUILD.gn b/components/record_replay/services/record_replay/public/mojom/BUILD.gn similarity index 96% rename from components/record_replay/services/auth_token/public/mojom/BUILD.gn rename to components/record_replay/services/record_replay/public/mojom/BUILD.gn index 71527d65cf1af3..927ec90407ca83 100644 --- a/components/record_replay/services/auth_token/public/mojom/BUILD.gn +++ b/components/record_replay/services/record_replay/public/mojom/BUILD.gn @@ -5,7 +5,7 @@ import("//mojo/public/tools/bindings/mojom.gni") mojom("mojom") { - sources = [ "auth_token.mojom" ] + sources = [ "record_replay.mojom" ] # public_deps = [ "//sandbox/policy/mojom" ] diff --git a/components/record_replay/services/record_replay/public/mojom/record_replay.mojom b/components/record_replay/services/record_replay/public/mojom/record_replay.mojom new file mode 100644 index 00000000000000..8482e8cf16f0b2 --- /dev/null +++ b/components/record_replay/services/record_replay/public/mojom/record_replay.mojom @@ -0,0 +1,20 @@ +module record_replay.mojom; + +// Provides access to the browser-side record/replay service. +interface RecordReplayService { + SetToken(string token); + ClearToken(); + + SetUser (string user); + ClearUser(); + + // Opens an external browser to log the user in + Login(); + + AddObserver(pending_remote observer); + // how do we remove? +}; + +interface RecordReplayAuthTokenObserver { + OnRecordReplayAuthTokenChanged(string token); +}; diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc index 756a4b74ab1f2c..328f1a7576fb5c 100644 --- a/content/browser/browser_interface_binders.cc +++ b/content/browser/browser_interface_binders.cc @@ -13,7 +13,7 @@ #include "build/branding_buildflags.h" #include "build/build_config.h" #include "cc/base/switches.h" -#include "components/record_replay/services/auth_token/public/mojom/auth_token.mojom-blink.h" +#include "components/record_replay/services/record_replay/public/mojom/record_replay.mojom-blink.h" #include "content/browser/aggregation_service/aggregation_service_internals.mojom.h" #include "content/browser/aggregation_service/aggregation_service_internals_ui.h" #include "content/browser/attribution_reporting/attribution_internals.mojom.h" @@ -979,9 +979,9 @@ void PopulateBinderMapWithContext( // by blink. // This avoids renderer kills when no binder is found in the absence of the // production embedder (such as in tests). - map->Add( + map->Add( base::BindRepeating(&EmptyBinderForFrame< - auth_token::mojom::blink::RecordReplayAuthTokenStore>)); + record_replay::mojom::blink::RecordReplayService>)); map->Add(base::BindRepeating( &EmptyBinderForFrame)); map->Add(base::BindRepeating( diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn index a659db06cb844a..bfb527d06b17fa 100644 --- a/third_party/blink/public/mojom/BUILD.gn +++ b/third_party/blink/public/mojom/BUILD.gn @@ -249,7 +249,7 @@ mojom("mojom_platform") { ":web_feature_mojo_bindings", "//cc/mojom", "//components/payments/mojom", - "//components/record_replay/services/auth_token/public/mojom", + "//components/record_replay/services/record_replay/public/mojom", "//components/schema_org/common:mojom", "//components/services/filesystem/public/mojom", "//mojo/public/mojom/base", diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h index f00cd819c9248f..ebd447e53d60d5 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h @@ -39,7 +39,6 @@ #include "third_party/blink/renderer/platform/wtf/casting.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h" #include "v8/include/v8.h" -#include "components/record_replay/services/auth_token/public/mojom/auth_token.mojom.h" namespace blink { @@ -114,8 +113,6 @@ class LocalWindowProxy final : public WindowProxy { return To(WindowProxy::GetFrame()); } - mojo::Remote auth_token_store_; - Member record_replay_listener_; Member script_state_; bool context_was_created_from_snapshot_ = false; diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc index ed662381000bd4..ccfc3558c698ad 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc @@ -419,7 +419,7 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame) &LocalFrameMojoHandler::BindFullscreenVideoElementReceiver, WrapWeakPersistent(this))); registry->AddInterface(WTF::BindRepeating( - &LocalFrameMojoHandler::BindRecordReplayAuthTokenStoreObserver, + &LocalFrameMojoHandler::BindRecordReplayAuthTokenObserver, WrapWeakPersistent(this))); } @@ -437,7 +437,7 @@ void LocalFrameMojoHandler::Trace(Visitor* visitor) const { visitor->Trace(high_priority_frame_receiver_); visitor->Trace(fullscreen_video_receiver_); visitor->Trace(device_posture_receiver_); - visitor->Trace(record_replay_auth_token_store_); + visitor->Trace(record_replay_service_); visitor->Trace(record_replay_observer_receiver_); } @@ -508,13 +508,13 @@ LocalFrameMojoHandler::GetDevicePosture() { } void LocalFrameMojoHandler::RecordReplayEnsureAuthTokenStore() { - if (record_replay_auth_token_store_.is_bound()) { + if (record_replay_service_.is_bound()) { return; } auto task_runner = frame_->GetTaskRunner(TaskType::kInternalDefault); frame_->GetBrowserInterfaceBroker().GetInterface( - record_replay_auth_token_store_.BindNewPipeAndPassReceiver(task_runner)); + record_replay_service_.BindNewPipeAndPassReceiver(task_runner)); } void LocalFrameMojoHandler::RecordReplayRegisterAuthTokenObserver() { @@ -524,33 +524,33 @@ void LocalFrameMojoHandler::RecordReplayRegisterAuthTokenObserver() { RecordReplayEnsureAuthTokenStore(); auto task_runner = frame_->GetTaskRunner(TaskType::kInternalDefault); - record_replay_auth_token_store_->AddObserver( + record_replay_service_->AddObserver( record_replay_observer_receiver_.BindNewPipeAndPassRemote(task_runner)); } void LocalFrameMojoHandler::RecordReplayLogin() { RecordReplayEnsureAuthTokenStore(); - record_replay_auth_token_store_->Login(); + record_replay_service_->Login(); } void LocalFrameMojoHandler::RecordReplaySetToken(const WTF::String& token) { RecordReplayEnsureAuthTokenStore(); - record_replay_auth_token_store_->SetToken(token); + record_replay_service_->SetToken(token); } void LocalFrameMojoHandler::RecordReplayClearToken() { RecordReplayEnsureAuthTokenStore(); - record_replay_auth_token_store_->ClearToken(); + record_replay_service_->ClearToken(); } void LocalFrameMojoHandler::RecordReplaySetUser(const WTF::String& token) { RecordReplayEnsureAuthTokenStore(); - record_replay_auth_token_store_->SetUser(token); + record_replay_service_->SetUser(token); } void LocalFrameMojoHandler::RecordReplayClearUser() { RecordReplayEnsureAuthTokenStore(); - record_replay_auth_token_store_->ClearUser(); + record_replay_service_->ClearUser(); } Page* LocalFrameMojoHandler::GetPage() const { @@ -599,9 +599,9 @@ void LocalFrameMojoHandler::BindToHighPriorityReceiver( std::make_unique(frame_)); } -void LocalFrameMojoHandler::BindRecordReplayAuthTokenStoreObserver( +void LocalFrameMojoHandler::BindRecordReplayAuthTokenObserver( mojo::PendingReceiver< - auth_token::mojom::blink::RecordReplayAuthTokenStoreObserver> receiver) { + record_replay::mojom::blink::RecordReplayAuthTokenObserver> receiver) { if (frame_->IsDetached()) return; diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h index 34183d32f6ea49..597890e3cba552 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h @@ -9,7 +9,7 @@ #include "build/build_config.h" #include "components/power_scheduler/power_mode_voter.h" #include "services/device/public/mojom/device_posture_provider.mojom-blink.h" -#include "components/record_replay/services/auth_token/public/mojom/auth_token.mojom-blink.h" +#include "components/record_replay/services/record_replay/public/mojom/record_replay.mojom-blink.h" #include "third_party/blink/public/mojom/frame/back_forward_cache_controller.mojom-blink.h" #include "third_party/blink/public/mojom/frame/frame.mojom-blink.h" #include "third_party/blink/public/mojom/media/fullscreen_video_element.mojom-blink.h" @@ -49,7 +49,7 @@ class LocalFrameMojoHandler public mojom::blink::HighPriorityLocalFrame, public mojom::blink::FullscreenVideoElementHandler, public device::mojom::blink::DevicePostureProviderClient, - public auth_token::mojom::blink::RecordReplayAuthTokenStoreObserver { + public record_replay::mojom::blink::RecordReplayAuthTokenObserver { public: explicit LocalFrameMojoHandler(blink::LocalFrame& frame); void Trace(Visitor* visitor) const; @@ -97,9 +97,9 @@ class LocalFrameMojoHandler void BindFullscreenVideoElementReceiver( mojo::PendingAssociatedReceiver< mojom::blink::FullscreenVideoElementHandler> receiver); - void BindRecordReplayAuthTokenStoreObserver( + void BindRecordReplayAuthTokenObserver( mojo::PendingReceiver< - auth_token::mojom::blink::RecordReplayAuthTokenStoreObserver> receiver); + record_replay::mojom::blink::RecordReplayAuthTokenObserver> receiver); // blink::mojom::LocalFrame overrides: void GetTextSurroundingSelection( @@ -256,7 +256,7 @@ class LocalFrameMojoHandler // DevicePostureServiceClient implementation: void OnPostureChanged(device::mojom::blink::DevicePostureType posture) final; - // RecordReplayAuthTokenStoreObserver implementation: + // RecordReplayAuthTokenObserver implementation: void OnRecordReplayAuthTokenChanged(const WTF::String& token) final; Member frame_; @@ -277,8 +277,8 @@ class LocalFrameMojoHandler HeapMojoAssociatedRemote local_frame_host_remote_{nullptr}; - HeapMojoRemote - record_replay_auth_token_store_{nullptr}; + HeapMojoRemote + record_replay_service_{nullptr}; // LocalFrameMojoHandler can be reused by multiple ExecutionContext. HeapMojoAssociatedReceiver @@ -295,7 +295,7 @@ class LocalFrameMojoHandler LocalFrameMojoHandler> fullscreen_video_receiver_{this, nullptr}; // LocalFrameMojoHandler can be reused by multiple ExecutionContext. - HeapMojoReceiver record_replay_observer_receiver_{this, nullptr};