| Index: webkit/plugins/ppapi/ppb_broker_impl.cc
|
| diff --git a/webkit/plugins/ppapi/ppb_broker_impl.cc b/webkit/plugins/ppapi/ppb_broker_impl.cc
|
| index d214c7bc038f09fac5f3e610b36a9d1417e3b0c2..45fe560c43513ea840a0eb09ede270f6b2b02ea9 100644
|
| --- a/webkit/plugins/ppapi/ppb_broker_impl.cc
|
| +++ b/webkit/plugins/ppapi/ppb_broker_impl.cc
|
| @@ -67,7 +67,7 @@ PPB_Broker_Impl::PPB_Broker_Impl(PluginInstance* instance)
|
| : Resource(instance),
|
| broker_(NULL),
|
| connect_callback_(),
|
| - pipe_handle_(0) {
|
| + pipe_handle_(base::kInvalidPlatformFileValue) {
|
| }
|
|
|
| PPB_Broker_Impl::~PPB_Broker_Impl() {
|
| @@ -76,8 +76,8 @@ PPB_Broker_Impl::~PPB_Broker_Impl() {
|
| broker_ = NULL;
|
| }
|
|
|
| - // TODO(ddorwin): Should the plugin or Chrome free the handle?
|
| - pipe_handle_ = 0;
|
| + // The plugin owns the handle.
|
| + pipe_handle_ = base::kInvalidPlatformFileValue;
|
| }
|
|
|
| const PPB_BrokerTrusted* PPB_Broker_Impl::GetTrustedInterface() {
|
| @@ -108,10 +108,6 @@ int32_t PPB_Broker_Impl::Connect(
|
|
|
| int32_t PPB_Broker_Impl::GetHandle(int32_t* handle) {
|
| *handle = pipe_handle_;
|
| -
|
| - if (!*handle)
|
| - return PP_ERROR_FAILED;
|
| -
|
| return PP_OK;
|
| }
|
|
|
| @@ -119,6 +115,7 @@ PPB_Broker_Impl* PPB_Broker_Impl::AsPPB_Broker_Impl() {
|
| return this;
|
| }
|
|
|
| +// Transfers ownership of the handle to the plugin.
|
| void PPB_Broker_Impl::BrokerConnected(int32_t handle) {
|
| DCHECK(handle);
|
| pipe_handle_ = handle;
|
| @@ -128,7 +125,7 @@ void PPB_Broker_Impl::BrokerConnected(int32_t handle) {
|
|
|
| scoped_refptr<TrackedCompletionCallback> callback;
|
| callback.swap(connect_callback_);
|
| - callback->Run(0); // Will complete abortively if necessary.
|
| + callback->Run(PP_OK); // Will complete abortively if necessary.
|
| }
|
|
|
| } // namespace ppapi
|
|
|