[cr144] NavigatorBase not Supplementable
This requires our `NavigatorBase` sumplementable classes to be forward declared, as a member. Chromium changes: https://chromium.googlesource.com/chromium/src/+/d99d033c31e934207e45cf88fc01a721e70b56e1 commit d99d033c31e934207e45cf88fc01a721e70b56e1 Author: Steinar H. Gunderson <sesse@chromium.org> Date: Tue Nov 18 04:56:31 2025 -0800 Make NavigatorBase not Supplementable. Part of Supplementable cleanup. Done with a script followed by human cleanup/review and git cl format. Bug: 460165754 Change-Id: If83aa5d85bf53d3c45eb5a02a01edfce2e55dab4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7157265 Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org> Commit-Queue: Steinar H Gunderson <sesse@chromium.org> Cr-Commit-Position: refs/heads/main@{#1546446}
This commit is contained in:
+4
@@ -8,6 +8,10 @@
|
||||
|
||||
#include "third_party/blink/renderer/core/frame/navigator_id.h"
|
||||
|
||||
namespace blink {
|
||||
class Brave;
|
||||
} // namespace blink
|
||||
|
||||
#define userAgent \
|
||||
userAgent_ChromiumImpl() const; \
|
||||
String userAgent
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/navigator_base.cc b/third_party/blink/renderer/core/execution_context/navigator_base.cc
|
||||
index 0910e68f91b9090655f054976e34bffc1dbdc549..dfaa5cca797427dc6719334d4424d706ed92be5a 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/navigator_base.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/navigator_base.cc
|
||||
@@ -94,6 +94,7 @@ void NavigatorBase::Trace(Visitor* visitor) const {
|
||||
visitor->Trace(storage_bucket_manager_);
|
||||
visitor->Trace(usb_);
|
||||
visitor->Trace(wake_lock_);
|
||||
+ visitor->Trace(brave_navigator_);
|
||||
}
|
||||
|
||||
unsigned int NavigatorBase::hardwareConcurrency() const {
|
||||
@@ -1,21 +1,22 @@
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/navigator_base.h b/third_party/blink/renderer/core/execution_context/navigator_base.h
|
||||
index 85b582e97a0d23fb66f4d4d2d28322519b200b0f..951a14666eb0719930bac91fa2e941cbe98a3881 100644
|
||||
index aed72d412ad8601a9de8a7f3ea31ccf42c279a8d..bb9a7675fd71114890602ca479251b6f5be4fe25 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/navigator_base.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/navigator_base.h
|
||||
@@ -49,7 +49,7 @@ class CORE_EXPORT NavigatorBase : public ScriptWrappable,
|
||||
public NavigatorOnLine,
|
||||
public NavigatorUA,
|
||||
public ExecutionContextClient,
|
||||
- public Supplementable<NavigatorBase, 15> {
|
||||
+ public Supplementable<NavigatorBase, 16> {
|
||||
public:
|
||||
enum class Supplements {
|
||||
kLockManager = 0,
|
||||
@@ -67,6 +67,7 @@ class CORE_EXPORT NavigatorBase : public ScriptWrappable,
|
||||
kNavigatorML = 12,
|
||||
kSerial = 13,
|
||||
kGeolocation = 14
|
||||
+ , kBraveNavigator,
|
||||
};
|
||||
@@ -181,6 +181,9 @@ class CORE_EXPORT NavigatorBase : public ScriptWrappable,
|
||||
wake_lock_ = wake_lock;
|
||||
}
|
||||
|
||||
explicit NavigatorBase(ExecutionContext* context);
|
||||
+ ForwardDeclaredMember<Brave> GetBraveNavigator() const { return brave_navigator_; }
|
||||
+ void SetBraveNavigator(ForwardDeclaredMember<Brave> brave_navigator) { brave_navigator_ = brave_navigator; }
|
||||
+
|
||||
protected:
|
||||
ExecutionContext* GetUAExecutionContext() const override;
|
||||
UserAgentMetadata GetUserAgentMetadata() const override;
|
||||
@@ -202,6 +205,7 @@ class CORE_EXPORT NavigatorBase : public ScriptWrappable,
|
||||
ForwardDeclaredMember<StorageBucketManager> storage_bucket_manager_;
|
||||
ForwardDeclaredMember<USB> usb_;
|
||||
ForwardDeclaredMember<WakeLock, ContextLifecycleObserver> wake_lock_;
|
||||
+ ForwardDeclaredMember<Brave> brave_navigator_;
|
||||
};
|
||||
|
||||
} // namespace blink
|
||||
|
||||
+4
-4
@@ -10,13 +10,13 @@
|
||||
|
||||
namespace blink {
|
||||
|
||||
Brave::Brave(NavigatorBase& navigator) : Supplement<NavigatorBase>(navigator) {}
|
||||
Brave::Brave(NavigatorBase& navigator) : navigator_base_(navigator) {}
|
||||
|
||||
Brave* Brave::brave(NavigatorBase& navigator) {
|
||||
auto* supplement = Supplement<NavigatorBase>::From<Brave>(navigator);
|
||||
auto supplement = navigator.GetBraveNavigator();
|
||||
if (!supplement) {
|
||||
supplement = MakeGarbageCollected<Brave>(navigator);
|
||||
Supplement<NavigatorBase>::ProvideTo(navigator, supplement);
|
||||
navigator.SetBraveNavigator(supplement);
|
||||
}
|
||||
return supplement;
|
||||
}
|
||||
@@ -31,7 +31,7 @@ ScriptPromise<IDLBoolean> Brave::isBrave(ScriptState* script_state) {
|
||||
|
||||
void Brave::Trace(Visitor* visitor) const {
|
||||
ScriptWrappable::Trace(visitor);
|
||||
Supplement<NavigatorBase>::Trace(visitor);
|
||||
visitor->Trace(navigator_base_);
|
||||
}
|
||||
|
||||
} // namespace blink
|
||||
|
||||
+4
-4
@@ -16,13 +16,10 @@ namespace blink {
|
||||
class ScriptState;
|
||||
|
||||
class MODULES_EXPORT Brave final : public ScriptWrappable,
|
||||
public Supplement<NavigatorBase> {
|
||||
public GarbageCollectedMixin {
|
||||
DEFINE_WRAPPERTYPEINFO();
|
||||
|
||||
public:
|
||||
static constexpr auto kSupplementIndex =
|
||||
NavigatorBase::Supplements::kBraveNavigator;
|
||||
|
||||
static Brave* brave(NavigatorBase& navigator);
|
||||
|
||||
explicit Brave(NavigatorBase& navigator);
|
||||
@@ -31,6 +28,9 @@ class MODULES_EXPORT Brave final : public ScriptWrappable,
|
||||
void Trace(Visitor*) const override;
|
||||
|
||||
ScriptPromise<IDLBoolean> isBrave(ScriptState*);
|
||||
|
||||
private:
|
||||
Member<NavigatorBase> navigator_base_;
|
||||
};
|
||||
|
||||
} // namespace blink
|
||||
|
||||
Reference in New Issue
Block a user