diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-06 12:48:11 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:33:43 +0000 |
commit | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (patch) | |
tree | fa14ba0ca8d2683ba2efdabd246dc9b18a1229c6 /chromium/third_party/blink/renderer/modules/battery | |
parent | 79b4f909db1049fca459c07cca55af56a9b54fe3 (diff) | |
download | qtwebengine-chromium-7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3.tar.gz |
BASELINE: Update Chromium to 84.0.4147.141
Change-Id: Ib85eb4cfa1cbe2b2b81e5022c8cad5c493969535
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/battery')
4 files changed, 27 insertions, 16 deletions
diff --git a/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.cc b/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.cc index 4cba33d8750..72a894be8a4 100644 --- a/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.cc +++ b/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.cc @@ -19,7 +19,13 @@ BatteryDispatcher& BatteryDispatcher::Instance() { return *battery_dispatcher; } -BatteryDispatcher::BatteryDispatcher() : has_latest_data_(false) {} +BatteryDispatcher::BatteryDispatcher() + : monitor_(nullptr), has_latest_data_(false) {} + +void BatteryDispatcher::Trace(Visitor* visitor) { + visitor->Trace(monitor_); + PlatformEventDispatcher::Trace(visitor); +} void BatteryDispatcher::QueryNextStatus() { monitor_->QueryNextStatus( diff --git a/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.h b/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.h index 20a75a80ccd..2c8f740e689 100644 --- a/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.h +++ b/chromium/third_party/blink/renderer/modules/battery/battery_dispatcher.h @@ -6,12 +6,12 @@ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BATTERY_BATTERY_DISPATCHER_H_ #include "base/macros.h" -#include "mojo/public/cpp/bindings/remote.h" #include "services/device/public/mojom/battery_monitor.mojom-blink.h" #include "third_party/blink/renderer/core/frame/platform_event_dispatcher.h" #include "third_party/blink/renderer/modules/battery/battery_manager.h" #include "third_party/blink/renderer/modules/battery/battery_status.h" #include "third_party/blink/renderer/modules/modules_export.h" +#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h" namespace blink { @@ -29,6 +29,8 @@ class MODULES_EXPORT BatteryDispatcher final return has_latest_data_ ? &battery_status_ : nullptr; } + void Trace(Visitor*) override; + private: void QueryNextStatus(); void OnDidChange(device::mojom::blink::BatteryStatusPtr); @@ -38,7 +40,7 @@ class MODULES_EXPORT BatteryDispatcher final void StartListening(LocalFrame* frame) override; void StopListening() override; - mojo::Remote<device::mojom::blink::BatteryMonitor> monitor_; + HeapMojoRemote<device::mojom::blink::BatteryMonitor> monitor_; BatteryStatus battery_status_; bool has_latest_data_; diff --git a/chromium/third_party/blink/renderer/modules/battery/battery_manager.cc b/chromium/third_party/blink/renderer/modules/battery/battery_manager.cc index cd501889fcc..4c85ef6988f 100644 --- a/chromium/third_party/blink/renderer/modules/battery/battery_manager.cc +++ b/chromium/third_party/blink/renderer/modules/battery/battery_manager.cc @@ -5,10 +5,10 @@ #include "third_party/blink/renderer/modules/battery/battery_manager.h" #include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h" -#include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/dom/dom_exception.h" #include "third_party/blink/renderer/core/dom/events/event.h" #include "third_party/blink/renderer/core/execution_context/execution_context.h" +#include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/modules/battery/battery_dispatcher.h" #include "third_party/blink/renderer/platform/wtf/assertions.h" @@ -25,7 +25,7 @@ BatteryManager::~BatteryManager() = default; BatteryManager::BatteryManager(ExecutionContext* context) : ExecutionContextLifecycleStateObserver(context), - PlatformEventController(Document::From(context)) {} + PlatformEventController(*To<LocalDOMWindow>(context)) {} ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) { if (!battery_property_) { @@ -71,10 +71,11 @@ void BatteryManager::DidUpdateData() { return; } - Document* document = Document::From(GetExecutionContext()); - DCHECK(document); - if (document->IsContextPaused() || document->IsContextDestroyed()) + DCHECK(GetExecutionContext()); + if (GetExecutionContext()->IsContextPaused() || + GetExecutionContext()->IsContextDestroyed()) { return; + } if (battery_status_.Charging() != old_status.Charging()) DispatchEvent(*Event::Create(event_type_names::kChargingchange)); diff --git a/chromium/third_party/blink/renderer/modules/battery/navigator_battery.cc b/chromium/third_party/blink/renderer/modules/battery/navigator_battery.cc index 032db033a39..f6e060be625 100644 --- a/chromium/third_party/blink/renderer/modules/battery/navigator_battery.cc +++ b/chromium/third_party/blink/renderer/modules/battery/navigator_battery.cc @@ -4,8 +4,8 @@ #include "third_party/blink/renderer/modules/battery/navigator_battery.h" -#include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/execution_context/execution_context.h" +#include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/modules/battery/battery_manager.h" #include "third_party/blink/renderer/platform/instrumentation/use_counter.h" @@ -21,15 +21,17 @@ ScriptPromise NavigatorBattery::getBattery(ScriptState* script_state, } ScriptPromise NavigatorBattery::getBattery(ScriptState* script_state) { - ExecutionContext* context = ExecutionContext::From(script_state); + if (!script_state->ContextIsValid()) + return ScriptPromise(); + + LocalDOMWindow* window = LocalDOMWindow::From(script_state); // Check to see if this request would be blocked according to the Battery // Status API specification. - if (auto* document = Document::From(context)) { - LocalFrame* frame = document->GetFrame(); - if (frame) { - if (!context->IsSecureContext()) - UseCounter::Count(document, WebFeature::kBatteryStatusInsecureOrigin); + if (window) { + if (LocalFrame* frame = window->GetFrame()) { + if (!window->IsSecureContext()) + UseCounter::Count(window, WebFeature::kBatteryStatusInsecureOrigin); frame->CountUseIfFeatureWouldBeBlockedByFeaturePolicy( WebFeature::kBatteryStatusCrossOrigin, WebFeature::kBatteryStatusSameOriginABA); @@ -37,7 +39,7 @@ ScriptPromise NavigatorBattery::getBattery(ScriptState* script_state) { } if (!battery_manager_) - battery_manager_ = BatteryManager::Create(context); + battery_manager_ = BatteryManager::Create(window); return battery_manager_->StartRequest(script_state); } |