Commit f9bf2f6f authored by Dylan Cutler's avatar Dylan Cutler Committed by Commit Bot

Instrument NavigatorDeviceMemory with web IDL bindings for identifiability study.

This reverts the manual instrumentation done in:

https://chromium-review.googlesource.com/c/chromium/src/+/2186997

In favor of bindings-based instrumentation introduced in:

https://chromium-review.googlesource.com/c/chromium/src/+/2245048

Bug: 973801
Change-Id: I0b562c6326689bd084f8a217aa805fa3495fae89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2267421Reviewed-by: default avatarAsanka Herath <asanka@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Dylan Cutler <dylancutler@google.com>
Cr-Commit-Position: refs/heads/master@{#784114}
parent 1755fa3e
...@@ -39,9 +39,8 @@ ...@@ -39,9 +39,8 @@
namespace blink { namespace blink {
Navigator::Navigator(LocalFrame* frame) Navigator::Navigator(LocalFrame* frame)
: ExecutionContextClient(frame), : NavigatorLanguage(frame ? frame->DomWindow() : nullptr),
NavigatorDeviceMemory(frame ? frame->GetDocument() : nullptr), ExecutionContextClient(frame) {}
NavigatorLanguage(frame ? frame->DomWindow() : nullptr) {}
String Navigator::productSub() const { String Navigator::productSub() const {
return "20030107"; return "20030107";
...@@ -120,7 +119,6 @@ void Navigator::Trace(Visitor* visitor) const { ...@@ -120,7 +119,6 @@ void Navigator::Trace(Visitor* visitor) const {
NavigatorLanguage::Trace(visitor); NavigatorLanguage::Trace(visitor);
ExecutionContextClient::Trace(visitor); ExecutionContextClient::Trace(visitor);
Supplementable<Navigator>::Trace(visitor); Supplementable<Navigator>::Trace(visitor);
NavigatorDeviceMemory::Trace(visitor);
} }
ExecutionContext* Navigator::GetUAExecutionContext() const { ExecutionContext* Navigator::GetUAExecutionContext() const {
......
...@@ -39,13 +39,13 @@ namespace blink { ...@@ -39,13 +39,13 @@ namespace blink {
class LocalFrame; class LocalFrame;
class CORE_EXPORT Navigator final : public ScriptWrappable, class CORE_EXPORT Navigator final : public ScriptWrappable,
public ExecutionContextClient,
public NavigatorConcurrentHardware, public NavigatorConcurrentHardware,
public NavigatorDeviceMemory, public NavigatorDeviceMemory,
public NavigatorID, public NavigatorID,
public NavigatorLanguage, public NavigatorLanguage,
public NavigatorOnLine, public NavigatorOnLine,
public NavigatorUA, public NavigatorUA,
public ExecutionContextClient,
public Supplementable<Navigator> { public Supplementable<Navigator> {
DEFINE_WRAPPERTYPEINFO(); DEFINE_WRAPPERTYPEINFO();
USING_GARBAGE_COLLECTED_MIXIN(Navigator); USING_GARBAGE_COLLECTED_MIXIN(Navigator);
......
...@@ -13,25 +13,8 @@ ...@@ -13,25 +13,8 @@
namespace blink { namespace blink {
NavigatorDeviceMemory::NavigatorDeviceMemory(Document* document)
: document_(document) {}
float NavigatorDeviceMemory::deviceMemory() const { float NavigatorDeviceMemory::deviceMemory() const {
float result = ApproximatedDeviceMemory::GetApproximatedDeviceMemory(); return ApproximatedDeviceMemory::GetApproximatedDeviceMemory();
if (document_) {
IdentifiabilityMetricBuilder(
base::UkmSourceId::FromInt64(document_->UkmSourceID()))
.Set(IdentifiableSurface::FromTypeAndInput(
IdentifiableSurface::Type::kWebFeature,
static_cast<uint64_t>(WebFeature::kNavigatorDeviceMemory)),
IdentifiabilityDigestHelper(result))
.Record(document_->UkmRecorder());
}
return result;
}
void NavigatorDeviceMemory::Trace(Visitor* visitor) const {
visitor->Trace(document_);
} }
} // namespace blink } // namespace blink
...@@ -6,19 +6,12 @@ ...@@ -6,19 +6,12 @@
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_NAVIGATOR_DEVICE_MEMORY_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_NAVIGATOR_DEVICE_MEMORY_H_
#include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/document.h"
namespace blink { namespace blink {
class CORE_EXPORT NavigatorDeviceMemory : public GarbageCollectedMixin { class CORE_EXPORT NavigatorDeviceMemory {
public: public:
explicit NavigatorDeviceMemory();
explicit NavigatorDeviceMemory(Document* document);
float deviceMemory() const; float deviceMemory() const;
void Trace(Visitor*) const override;
private:
WeakMember<Document> document_;
}; };
} // namespace blink } // namespace blink
......
...@@ -5,6 +5,6 @@ ...@@ -5,6 +5,6 @@
// https://github.com/w3c/device-memory#the-web-exposed-api // https://github.com/w3c/device-memory#the-web-exposed-api
interface mixin NavigatorDeviceMemory { interface mixin NavigatorDeviceMemory {
[HighEntropy,MeasureAs=NavigatorDeviceMemory,SecureContext] [HighEntropy=Direct,MeasureAs=NavigatorDeviceMemory,SecureContext]
readonly attribute float deviceMemory; readonly attribute float deviceMemory;
}; };
...@@ -40,7 +40,6 @@ WorkerNavigator::WorkerNavigator(const String& user_agent, ...@@ -40,7 +40,6 @@ WorkerNavigator::WorkerNavigator(const String& user_agent,
const UserAgentMetadata& ua_metadata, const UserAgentMetadata& ua_metadata,
ExecutionContext* execution_context) ExecutionContext* execution_context)
: ExecutionContextClient(execution_context), : ExecutionContextClient(execution_context),
NavigatorDeviceMemory(nullptr),
NavigatorLanguage(execution_context), NavigatorLanguage(execution_context),
user_agent_(user_agent), user_agent_(user_agent),
ua_metadata_(ua_metadata) {} ua_metadata_(ua_metadata) {}
...@@ -74,7 +73,6 @@ void WorkerNavigator::Trace(Visitor* visitor) const { ...@@ -74,7 +73,6 @@ void WorkerNavigator::Trace(Visitor* visitor) const {
ExecutionContextClient::Trace(visitor); ExecutionContextClient::Trace(visitor);
NavigatorLanguage::Trace(visitor); NavigatorLanguage::Trace(visitor);
Supplementable<WorkerNavigator>::Trace(visitor); Supplementable<WorkerNavigator>::Trace(visitor);
NavigatorDeviceMemory::Trace(visitor);
} }
} // namespace blink } // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment