Chromium Code Reviews| Index: third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp |
| diff --git a/third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp b/third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp |
| index 07f62d09e25dbb2f4f04d22bc05b4cd1c9e24ca8..16982269ae73989fe27b9f8a4e33f90724bc8dbb 100644 |
| --- a/third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp |
| +++ b/third_party/WebKit/Source/modules/presentation/PresentationAvailability.cpp |
| @@ -12,6 +12,7 @@ |
| #include "modules/presentation/PresentationController.h" |
| #include "public/platform/Platform.h" |
| #include "public/platform/modules/presentation/WebPresentationClient.h" |
| +#include "wtf/Vector.h" |
| namespace blink { |
| @@ -31,23 +32,27 @@ WebPresentationClient* presentationClient(ExecutionContext* executionContext) |
| } // anonymous namespace |
| // static |
| -PresentationAvailability* PresentationAvailability::take(ScriptPromiseResolver* resolver, const KURL& url, bool value) |
| +PresentationAvailability* PresentationAvailability::take(ScriptPromiseResolver* resolver, const WTF::Vector<KURL>& urls, bool value) |
| { |
| - PresentationAvailability* presentationAvailability = new PresentationAvailability(resolver->getExecutionContext(), url, value); |
| + PresentationAvailability* presentationAvailability = new PresentationAvailability(resolver->getExecutionContext(), urls, value); |
| presentationAvailability->suspendIfNeeded(); |
| presentationAvailability->updateListening(); |
| return presentationAvailability; |
| } |
| -PresentationAvailability::PresentationAvailability(ExecutionContext* executionContext, const KURL& url, bool value) |
| +PresentationAvailability::PresentationAvailability(ExecutionContext* executionContext, const WTF::Vector<KURL>& urls, bool value) |
| : ActiveScriptWrappable(this) |
| , ActiveDOMObject(executionContext) |
| , PageVisibilityObserver(toDocument(executionContext)->page()) |
| - , m_url(url) |
| , m_value(value) |
| , m_state(State::Active) |
| { |
| ASSERT(executionContext->isDocument()); |
| + WebVector<WebURL> data(urls.size()); |
| + for (size_t i = 0; i < urls.size(); ++i) { |
| + data[i] = WebURL(urls[i]); |
| + } |
|
mlamouri (slow - plz ping)
2016/07/19 12:45:03
style: we don't use { } when not needed usually.
mark a. foltz
2016/07/19 17:38:47
Done.
|
| + m_urls.swap(data); |
|
mlamouri (slow - plz ping)
2016/07/19 12:45:03
nit: I am probably missing something but could you
mark a. foltz
2016/07/19 17:38:47
WebVector does not provide any method to resize it
mlamouri (slow - plz ping)
2016/07/20 13:02:10
I'm speechless :)
imcheng
2016/07/20 17:20:45
But you can initialize m_urls with a size param, r
|
| } |
| PresentationAvailability::~PresentationAvailability() |
| @@ -125,9 +130,9 @@ void PresentationAvailability::updateListening() |
| client->stopListening(this); |
| } |
| -const WebURL PresentationAvailability::url() const |
| +const WebVector<WebURL>& PresentationAvailability::urls() const |
| { |
| - return WebURL(m_url); |
| + return m_urls; |
| } |
| bool PresentationAvailability::value() const |