Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp |
| diff --git a/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp b/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp |
| index 382e6b49e5437f0e6933ac0c52742947672b0135..6232695e2d45dc0d3dc1d3fff6b080c5c0d1b5d4 100644 |
| --- a/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp |
| +++ b/third_party/WebKit/Source/modules/webshare/NavigatorShare.cpp |
| @@ -17,12 +17,34 @@ |
| namespace blink { |
| +namespace { |
| + |
| +// Gets the human-friendly error message for a ShareError. |error| must not be |
| +// ShareError::OK. |
| +String errorToString(mojom::blink::ShareError error) { |
| + switch (error) { |
| + case mojom::blink::ShareError::OK: |
| + NOTREACHED(); |
| + break; |
| + case mojom::blink::ShareError::INTERNAL_ERROR: |
| + return "Share failed"; |
| + case mojom::blink::ShareError::CANCELED: |
| + return "Share canceled"; |
| + case mojom::blink::ShareError::INVALID_TEMPLATE: |
| + return "The target's url_template was invalid"; |
| + } |
| + NOTREACHED(); |
| + return String(); |
| +} |
| + |
| +} // namespace |
| + |
| class NavigatorShare::ShareClientImpl final |
| : public GarbageCollected<ShareClientImpl> { |
| public: |
| ShareClientImpl(NavigatorShare*, ScriptPromiseResolver*); |
| - void callback(const String& error); |
| + void callback(mojom::blink::ShareError); |
| void onConnectionError(); |
| @@ -41,15 +63,15 @@ NavigatorShare::ShareClientImpl::ShareClientImpl( |
| ScriptPromiseResolver* resolver) |
| : m_navigator(navigator_share), m_resolver(resolver) {} |
| -void NavigatorShare::ShareClientImpl::callback(const String& error) { |
| +void NavigatorShare::ShareClientImpl::callback(mojom::blink::ShareError error) { |
| if (m_navigator) |
| m_navigator->m_clients.erase(this); |
| - if (error.isNull()) { |
| + if (error == mojom::blink::ShareError::OK) { |
| m_resolver->resolve(); |
| } else { |
| // TODO(mgiuca): Work out which error type to use. |
|
Sam McNally
2017/02/21 23:02:40
Maybe it's time for this?
Matt Giuca
2017/02/23 04:18:37
Hmm, it's kind of a spec issue. What types would y
|
| - m_resolver->reject(DOMException::create(AbortError, error)); |
| + m_resolver->reject(DOMException::create(AbortError, errorToString(error))); |
| } |
| } |