Chromium Code Reviews| Index: webkit/glue/websocketstreamhandle_impl.cc |
| diff --git a/webkit/glue/websocketstreamhandle_impl.cc b/webkit/glue/websocketstreamhandle_impl.cc |
| index d1c7ba070f80c95584070282eaefc48f216610ab..62f62a5403a0b06179b2670ca81a07d31387525e 100644 |
| --- a/webkit/glue/websocketstreamhandle_impl.cc |
| +++ b/webkit/glue/websocketstreamhandle_impl.cc |
| @@ -12,9 +12,11 @@ |
| #include "base/logging.h" |
| #include "base/ref_counted.h" |
| #include "base/scoped_ptr.h" |
| +#include "net/base/net_errors.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebData.h" |
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebSocketStreamError.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebSocketStreamHandleClient.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" |
| #include "webkit/glue/websocketstreamhandle_bridge.h" |
| #include "webkit/glue/websocketstreamhandle_delegate.h" |
| @@ -47,6 +49,7 @@ class WebSocketStreamHandleImpl::Context |
| virtual void DidReceiveData( |
| WebKit::WebSocketStreamHandle*, const char*, int); |
| virtual void DidClose(WebKit::WebSocketStreamHandle*); |
| + virtual void DidFail(WebKit::WebSocketStreamHandle*, int); |
| private: |
| friend class base::RefCounted<Context>; |
| @@ -58,6 +61,7 @@ class WebSocketStreamHandleImpl::Context |
| WebSocketStreamHandleImpl* handle_; |
| WebKit::WebSocketStreamHandleClient* client_; |
| + WebKit::WebURL url_; |
| // |bridge_| is alive from Connect to DidClose, so Context must be alive |
| // in the time period. |
| scoped_refptr<WebSocketStreamHandleBridge> bridge_; |
| @@ -76,6 +80,7 @@ void WebSocketStreamHandleImpl::Context::Connect(const WebKit::WebURL& url) { |
| DCHECK(!bridge_); |
| bridge_ = WebSocketStreamHandleBridge::Create(handle_, this); |
| AddRef(); // Will be released by DidClose(). |
| + url_ = url; |
| bridge_->Connect(url); |
| } |
| @@ -136,6 +141,19 @@ void WebSocketStreamHandleImpl::Context::DidClose( |
| Release(); |
| } |
| +void WebSocketStreamHandleImpl::Context::DidFail( |
| + WebKit::WebSocketStreamHandle* web_handle, |
| + int error_code) { |
| + if (client_) { |
| + const char* error_description = net::ErrorToString(error_code); |
| + WebKit::WebSocketStreamError error( |
| + error_code, |
|
ukai
2011/05/10 08:10:39
when error_code is translated in WebKit's code?
we
Yuta Kitamura
2011/05/10 09:01:22
In WebKit, SocketStreamError's errorCode is consid
ukai
2011/05/10 10:00:29
Hmm. then I think we should refrain from using err
|
| + WebKit::WebString::fromUTF8(error_description), |
| + url_); |
| + client_->didFail(handle_, error); |
| + } |
| +} |
| + |
| // WebSocketStreamHandleImpl ------------------------------------------------ |
| WebSocketStreamHandleImpl::WebSocketStreamHandleImpl() |