Commit acd107f2 authored by Lexi Stavrakos's avatar Lexi Stavrakos Committed by Commit Bot

Quota: Make sure quota_host_ is bound before adding change listeners

Binds quota_host_ in AddedChangeListener() if not already bound so that StartObserving() can pass the listener back to the browser side.

Bug: 1116316
Change-Id: I43e5bed0dc6cb931c3f950faee05b1c1f3e60ea8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2356284Reviewed-by: default avatarJarryd Goodman <jarrydg@chromium.org>
Commit-Queue: Lexi Stavrakos <astavrakos@google.com>
Cr-Commit-Position: refs/heads/master@{#798169}
parent c193b7e1
...@@ -189,6 +189,10 @@ void StorageManager::OnQuotaChange() { ...@@ -189,6 +189,10 @@ void StorageManager::OnQuotaChange() {
void StorageManager::AddedEventListener( void StorageManager::AddedEventListener(
const AtomicString& event_type, const AtomicString& event_type,
RegisteredEventListener& registered_listener) { RegisteredEventListener& registered_listener) {
if (!quota_host_.is_bound()) {
// This method will bind quota_host_.
GetQuotaHost(GetExecutionContext());
}
EventTargetWithInlineData::AddedEventListener(event_type, EventTargetWithInlineData::AddedEventListener(event_type,
registered_listener); registered_listener);
StartObserving(); StartObserving();
...@@ -230,7 +234,7 @@ void StorageManager::PermissionRequestComplete(ScriptPromiseResolver* resolver, ...@@ -230,7 +234,7 @@ void StorageManager::PermissionRequestComplete(ScriptPromiseResolver* resolver,
} }
void StorageManager::StartObserving() { void StorageManager::StartObserving() {
if (change_listener_receiver_.is_bound() || quota_host_.is_bound()) if (change_listener_receiver_.is_bound())
return; return;
// Using kMiscPlatformAPI because the Storage specification does not // Using kMiscPlatformAPI because the Storage specification does not
......
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