| Index: content/browser/renderer_host/java/java_bridge_channel_host.cc
|
| diff --git a/content/browser/renderer_host/java/java_bridge_channel_host.cc b/content/browser/renderer_host/java/java_bridge_channel_host.cc
|
| deleted file mode 100644
|
| index 8f53b9d99a866661a5807a1da126acd221692458..0000000000000000000000000000000000000000
|
| --- a/content/browser/renderer_host/java/java_bridge_channel_host.cc
|
| +++ /dev/null
|
| @@ -1,95 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/browser/renderer_host/java/java_bridge_channel_host.h"
|
| -
|
| -#include "base/atomicops.h"
|
| -#include "base/lazy_instance.h"
|
| -#include "base/strings/stringprintf.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| -#include "content/common/java_bridge_messages.h"
|
| -
|
| -using base::WaitableEvent;
|
| -
|
| -namespace content {
|
| -namespace {
|
| -struct WaitableEventLazyInstanceTraits
|
| - : public base::DefaultLazyInstanceTraits<WaitableEvent> {
|
| - static WaitableEvent* New(void* instance) {
|
| - // Use placement new to initialize our instance in our preallocated space.
|
| - // The parenthesis is very important here to force POD type initialization.
|
| - return new (instance) WaitableEvent(false, false);
|
| - }
|
| -};
|
| -base::LazyInstance<WaitableEvent, WaitableEventLazyInstanceTraits> dummy_event =
|
| - LAZY_INSTANCE_INITIALIZER;
|
| -
|
| -base::subtle::AtomicWord g_last_id = 0;
|
| -}
|
| -
|
| -JavaBridgeChannelHost::~JavaBridgeChannelHost() {
|
| -#if defined(OS_POSIX)
|
| - if (channel_handle_.socket.fd > 0) {
|
| - close(channel_handle_.socket.fd);
|
| - }
|
| -#endif
|
| -}
|
| -
|
| -JavaBridgeChannelHost* JavaBridgeChannelHost::GetJavaBridgeChannelHost(
|
| - int renderer_id,
|
| - base::MessageLoopProxy* ipc_message_loop) {
|
| - std::string channel_name(base::StringPrintf("r%d.javabridge", renderer_id));
|
| - // There's no need for a shutdown event here. If the browser is terminated
|
| - // while the JavaBridgeChannelHost is blocked on a synchronous IPC call, the
|
| - // renderer's shutdown event will cause the underlying channel to shut down,
|
| - // thus terminating the IPC call.
|
| - return static_cast<JavaBridgeChannelHost*>(NPChannelBase::GetChannel(
|
| - channel_name,
|
| - IPC::Channel::MODE_SERVER,
|
| - ClassFactory,
|
| - ipc_message_loop,
|
| - true,
|
| - dummy_event.Pointer()));
|
| -}
|
| -
|
| -int JavaBridgeChannelHost::ThreadsafeGenerateRouteID() {
|
| - return base::subtle::NoBarrier_AtomicIncrement(&g_last_id, 1);
|
| -}
|
| -
|
| -int JavaBridgeChannelHost::GenerateRouteID() {
|
| - return ThreadsafeGenerateRouteID();
|
| -}
|
| -
|
| -bool JavaBridgeChannelHost::Init(base::MessageLoopProxy* ipc_message_loop,
|
| - bool create_pipe_now,
|
| - WaitableEvent* shutdown_event) {
|
| - if (!NPChannelBase::Init(ipc_message_loop, create_pipe_now, shutdown_event)) {
|
| - return false;
|
| - }
|
| -
|
| - // Finish populating our ChannelHandle.
|
| -#if defined(OS_POSIX)
|
| - // We take control of the FD for all session between this host and
|
| - // the corresponding renderers. We keep it open until this object
|
| - // is deleted.
|
| - channel_handle_.socket.fd = channel_->TakeClientFileDescriptor();
|
| -#endif
|
| -
|
| - return true;
|
| -}
|
| -
|
| -bool JavaBridgeChannelHost::OnControlMessageReceived(
|
| - const IPC::Message& message) {
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(JavaBridgeChannelHost, message)
|
| - IPC_MESSAGE_HANDLER(JavaBridgeMsg_GenerateRouteID, OnGenerateRouteID)
|
| - IPC_END_MESSAGE_MAP()
|
| - return handled;
|
| -}
|
| -
|
| -void JavaBridgeChannelHost::OnGenerateRouteID(int* route_id) {
|
| - *route_id = GenerateRouteID();
|
| -}
|
| -
|
| -} // namespace content
|
|
|