Commit c2b444e0 authored by brucedawson's avatar brucedawson Committed by Commit bot

Revert of ppapi: PPB_VpnProvider: Implement Resource Host (patchset #32...

Revert of ppapi: PPB_VpnProvider: Implement Resource Host (patchset #32 id:620001 of https://codereview.chromium.org/1735473002/ )

Reason for revert:
Speculative revert to try to fix failing Android tests.

https://build.chromium.org/p/chromium.linux/builders/Android%20Tests/builds/28629

android_webview_test_apk on Android android_webview_test_apk on Android failed 22
failures:
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllDouble with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextForward with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testClearMatches with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllFinds
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testClearFindNext
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllEmptyNext
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllDoubleNext with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextForward
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextBig
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextBig with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllDouble
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextBackward
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testClearFindNext with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllDoubleNext
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllEmptyNext with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextFirst
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindEmptyNext
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextFirst with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindNextBackward with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindEmptyNext with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testFindAllFinds with {--webview-sandboxed-renderer}
org.chromium.android_webview.test.WebViewAsynchronousFindApisTest#testClearMatches

Original issue's description:
> ppapi: PPB_VpnProvider: Implement Resource Host
>
> BUG=506490
>
> Committed: https://crrev.com/8a1558d86fa478c65aba0b268129a9d8f2d3a7af
> Cr-Commit-Position: refs/heads/master@{#403909}

TBR=dcheng@chromium.org,bartfab@chromium.org,bbudge@chromium.org,dskaram@chromium.org,robert.bradford@intel.com,cernekee@chromium.org,emaxx@chromium.org,adrian.belgun@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=506490

Review-Url: https://codereview.chromium.org/2129653002
Cr-Commit-Position: refs/heads/master@{#403931}
parent 78e5449e
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <stddef.h> #include <stddef.h>
#include <utility> #include <utility>
#include "base/memory/ptr_util.h"
#include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h" #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
#include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.h" #include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.h"
#include "content/browser/renderer_host/pepper/pepper_file_io_host.h" #include "content/browser/renderer_host/pepper/pepper_file_io_host.h"
...@@ -31,10 +30,6 @@ ...@@ -31,10 +30,6 @@
#include "ppapi/proxy/ppapi_messages.h" #include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/shared_impl/ppapi_permissions.h" #include "ppapi/shared_impl/ppapi_permissions.h"
#if defined(OS_CHROMEOS)
#include "content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.h"
#endif
using ppapi::host::MessageFilterHost; using ppapi::host::MessageFilterHost;
using ppapi::host::ResourceHost; using ppapi::host::ResourceHost;
using ppapi::host::ResourceMessageFilter; using ppapi::host::ResourceMessageFilter;
...@@ -163,14 +158,6 @@ ContentBrowserPepperHostFactory::CreateResourceHost( ...@@ -163,14 +158,6 @@ ContentBrowserPepperHostFactory::CreateResourceHost(
return std::unique_ptr<ResourceHost>( return std::unique_ptr<ResourceHost>(
new PepperTrueTypeFontListHost(host_, instance, resource)); new PepperTrueTypeFontListHost(host_, instance, resource));
} }
#if defined(OS_CHROMEOS)
case PpapiHostMsg_VpnProvider_Create::ID: {
scoped_refptr<PepperVpnProviderMessageFilter> vpn_provider(
new PepperVpnProviderMessageFilter(host_, instance));
return base::MakeUnique<MessageFilterHost>(
host_->GetPpapiHost(), instance, resource, std::move(vpn_provider));
}
#endif
} }
} }
......
// Copyright 2016 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.
#ifndef CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_VPN_PROVIDER_MESSAGE_FILTER_CHROMEOS_H_
#define CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_VPN_PROVIDER_MESSAGE_FILTER_CHROMEOS_H_
#include <stdint.h>
#include <memory>
#include <queue>
#include <string>
#include <vector>
#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/task_runner.h"
#include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
#include "content/common/content_export.h"
#include "content/public/browser/vpn_service_proxy.h"
#include "ipc/ipc_message.h"
#include "ppapi/c/pp_instance.h"
#include "ppapi/c/ppb_vpn_provider.h"
#include "ppapi/host/host_message_context.h"
#include "ppapi/host/resource_host.h"
#include "ppapi/host/resource_message_filter.h"
#include "ppapi/shared_impl/vpn_provider_util.h"
#include "url/gurl.h"
namespace content {
class BrowserContext;
// The host for PPB_VpnProvider.
// Important: The PPB_VpnProvider API is available only on Chrome OS.
class CONTENT_EXPORT PepperVpnProviderMessageFilter
: public ppapi::host::ResourceMessageFilter {
public:
PepperVpnProviderMessageFilter(BrowserPpapiHostImpl* host,
PP_Instance instance);
// ppapi::host::ResourceMessageFilter overrides.
scoped_refptr<base::TaskRunner> OverrideTaskRunnerForMessage(
const IPC::Message& message) override;
int32_t OnResourceMessageReceived(
const IPC::Message& msg,
ppapi::host::HostMessageContext* context) override;
// PepperVpnProviderResourceHostProxyImpl entry points.
void SendOnPacketReceived(const std::vector<char>& packet);
void SendOnUnbind();
private:
using SuccessCallback = base::Closure;
using FailureCallback =
base::Callback<void(const std::string& error_name,
const std::string& error_message)>;
~PepperVpnProviderMessageFilter() override;
// Message handlers
int32_t OnBind(ppapi::host::HostMessageContext* context,
const std::string& configuration_id,
const std::string& configuration_name);
int32_t OnSendPacket(ppapi::host::HostMessageContext* context,
uint32_t packet_size,
uint32_t id);
int32_t OnPacketReceivedReply(ppapi::host::HostMessageContext* context,
uint32_t id);
// OnBind helpers
int32_t DoBind(SuccessCallback success_callback,
FailureCallback failure_callback);
void OnBindSuccess(const ppapi::host::ReplyMessageContext& context);
void OnBindFailure(const ppapi::host::ReplyMessageContext& context,
const std::string& error_name,
const std::string& error_message);
void OnBindReply(const ppapi::host::ReplyMessageContext& context,
int32_t reply);
// OnSendPacket helpers
int32_t DoSendPacket(const std::vector<char>& packet,
SuccessCallback success_callback,
FailureCallback failure_callback);
void OnSendPacketSuccess(const ppapi::host::ReplyMessageContext& context,
uint32_t id);
void OnSendPacketFailure(const ppapi::host::ReplyMessageContext& context,
uint32_t id,
const std::string& error_name,
const std::string& error_message);
void OnSendPacketReply(const ppapi::host::ReplyMessageContext& context,
uint32_t id);
// OnPacketReceived helper
void DoPacketReceived(const std::vector<char>& packet, uint32_t id);
GURL document_url_;
std::string configuration_id_;
std::string configuration_name_;
BrowserContext* browser_context_;
std::unique_ptr<VpnServiceProxy> vpn_service_proxy_;
bool bound_;
std::unique_ptr<ppapi::VpnProviderSharedBuffer> send_packet_buffer_;
std::unique_ptr<ppapi::VpnProviderSharedBuffer> recv_packet_buffer_;
std::queue<std::vector<char>> received_packets_;
base::WeakPtrFactory<PepperVpnProviderMessageFilter> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(PepperVpnProviderMessageFilter);
};
} // namespace content
#endif // CONTENT_BROWSER_RENDERER_HOST_PEPPER_PEPPER_VPN_PROVIDER_MESSAGE_FILTER_CHROMEOS_H_
...@@ -1849,8 +1849,6 @@ ...@@ -1849,8 +1849,6 @@
'browser/renderer_host/pepper/pepper_truetype_font_win.cc', 'browser/renderer_host/pepper/pepper_truetype_font_win.cc',
'browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc', 'browser/renderer_host/pepper/pepper_udp_socket_message_filter.cc',
'browser/renderer_host/pepper/pepper_udp_socket_message_filter.h', 'browser/renderer_host/pepper/pepper_udp_socket_message_filter.h',
'browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc',
'browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.h',
'browser/renderer_host/pepper/quota_reservation.cc', 'browser/renderer_host/pepper/quota_reservation.cc',
'browser/renderer_host/pepper/quota_reservation.h', 'browser/renderer_host/pepper/quota_reservation.h',
'browser/renderer_host/pepper/ssl_context_helper.cc', 'browser/renderer_host/pepper/ssl_context_helper.cc',
......
...@@ -2028,33 +2028,6 @@ IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoSource_GetFrameReply, ...@@ -2028,33 +2028,6 @@ IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoSource_GetFrameReply,
PP_TimeTicks /* timestamp */) PP_TimeTicks /* timestamp */)
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoSource_Close) IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoSource_Close)
// VpnProvider ----------------------------------------------------------------
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VpnProvider_Create)
// VpnProvider plugin -> host -> plugin
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VpnProvider_Bind,
std::string /* configuration_id */,
std::string /* configuration_name */)
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VpnProvider_BindReply,
uint32_t /* queue_size */,
uint32_t /* max_packet_size */,
int32_t /* status */)
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VpnProvider_SendPacket,
uint32_t /* packet_size */,
uint32_t /* id */)
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VpnProvider_SendPacketReply,
uint32_t /* id */)
// VpnProvider host -> plugin
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VpnProvider_OnUnbind)
// VpnProvider host -> plugin -> host
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_VpnProvider_OnPacketReceived,
uint32_t /* packet_size */,
uint32_t /* id */)
IPC_MESSAGE_CONTROL1(PpapiHostMsg_VpnProvider_OnPacketReceivedReply,
uint32_t /* id */)
// WebSocket ------------------------------------------------------------------- // WebSocket -------------------------------------------------------------------
IPC_MESSAGE_CONTROL0(PpapiHostMsg_WebSocket_Create) IPC_MESSAGE_CONTROL0(PpapiHostMsg_WebSocket_Create)
......
...@@ -23,9 +23,7 @@ VpnProviderResource::VpnProviderResource(Connection connection, ...@@ -23,9 +23,7 @@ VpnProviderResource::VpnProviderResource(Connection connection,
send_packet_callback_(nullptr), send_packet_callback_(nullptr),
receive_packet_callback_(nullptr), receive_packet_callback_(nullptr),
receive_packet_callback_var_(nullptr), receive_packet_callback_var_(nullptr),
bound_(false) { bound_(false) {}
SendCreate(BROWSER, PpapiHostMsg_VpnProvider_Create());
}
VpnProviderResource::~VpnProviderResource() {} VpnProviderResource::~VpnProviderResource() {}
...@@ -36,15 +34,7 @@ thunk::PPB_VpnProvider_API* VpnProviderResource::AsPPB_VpnProvider_API() { ...@@ -36,15 +34,7 @@ thunk::PPB_VpnProvider_API* VpnProviderResource::AsPPB_VpnProvider_API() {
void VpnProviderResource::OnReplyReceived( void VpnProviderResource::OnReplyReceived(
const ResourceMessageReplyParams& params, const ResourceMessageReplyParams& params,
const IPC::Message& msg) { const IPC::Message& msg) {
PPAPI_BEGIN_MESSAGE_MAP(VpnProviderResource, msg) PluginResource::OnReplyReceived(params, msg);
PPAPI_DISPATCH_PLUGIN_RESOURCE_CALL(PpapiPluginMsg_VpnProvider_OnUnbind,
OnPluginMsgOnUnbindReceived)
PPAPI_DISPATCH_PLUGIN_RESOURCE_CALL(
PpapiPluginMsg_VpnProvider_OnPacketReceived,
OnPluginMsgOnPacketReceived)
PPAPI_DISPATCH_PLUGIN_RESOURCE_CALL_UNHANDLED(
PluginResource::OnReplyReceived(params, msg))
PPAPI_END_MESSAGE_MAP()
} }
int32_t VpnProviderResource::Bind( int32_t VpnProviderResource::Bind(
...@@ -61,14 +51,7 @@ int32_t VpnProviderResource::Bind( ...@@ -61,14 +51,7 @@ int32_t VpnProviderResource::Bind(
if (!configuration_name_var) if (!configuration_name_var)
return PP_ERROR_BADARGUMENT; return PP_ERROR_BADARGUMENT;
bind_callback_ = callback; return PP_ERROR_NOTSUPPORTED;
Call<PpapiPluginMsg_VpnProvider_BindReply>(
BROWSER, PpapiHostMsg_VpnProvider_Bind(configuration_id_var->value(),
configuration_name_var->value()),
base::Bind(&VpnProviderResource::OnPluginMsgBindReply, this));
return PP_OK_COMPLETIONPENDING;
} }
int32_t VpnProviderResource::SendPacket( int32_t VpnProviderResource::SendPacket(
...@@ -103,18 +86,11 @@ int32_t VpnProviderResource::DoSendPacket(const PP_Var& packet, uint32_t id) { ...@@ -103,18 +86,11 @@ int32_t VpnProviderResource::DoSendPacket(const PP_Var& packet, uint32_t id) {
if (!packet_arraybuffer.get()) if (!packet_arraybuffer.get())
return PP_ERROR_BADARGUMENT; return PP_ERROR_BADARGUMENT;
uint32_t packet_size = packet_arraybuffer->ByteLength();
if (packet_size > send_packet_buffer_->max_packet_size())
return PP_ERROR_MESSAGE_TOO_BIG;
char* packet_pointer = static_cast<char*>(packet_arraybuffer->Map()); char* packet_pointer = static_cast<char*>(packet_arraybuffer->Map());
uint32_t packet_size = packet_arraybuffer->ByteLength();
memcpy(send_packet_buffer_->GetBuffer(id), packet_pointer, packet_size); memcpy(send_packet_buffer_->GetBuffer(id), packet_pointer, packet_size);
packet_arraybuffer->Unmap(); packet_arraybuffer->Unmap();
Call<PpapiPluginMsg_VpnProvider_SendPacketReply>(
BROWSER, PpapiHostMsg_VpnProvider_SendPacket(packet_size, id),
base::Bind(&VpnProviderResource::OnPluginMsgSendPacketReply, this));
return PP_OK; return PP_OK;
} }
...@@ -150,32 +126,23 @@ void VpnProviderResource::OnPluginMsgOnUnbindReceived( ...@@ -150,32 +126,23 @@ void VpnProviderResource::OnPluginMsgOnUnbindReceived(
PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(send_packets_.front()); PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(send_packets_.front());
send_packets_.pop(); send_packets_.pop();
} }
send_packet_buffer_.reset();
recv_packet_buffer_.reset();
} }
void VpnProviderResource::OnPluginMsgOnPacketReceived( void VpnProviderResource::OnPluginMsgOnPacketReceived(
const ResourceMessageReplyParams& params, const ResourceMessageReplyParams& params,
uint32_t packet_size, uint32_t packet_size,
uint32_t id) { uint32_t id) {
DCHECK_LE(packet_size, recv_packet_buffer_->max_packet_size());
if (!bound_) { if (!bound_) {
// Ignore packet and mark shared memory as available
Post(BROWSER, PpapiHostMsg_VpnProvider_OnPacketReceivedReply(id));
return; return;
} }
// Append received packet to queue. // Append received packet to queue.
void* packet_pointer = recv_packet_buffer_->GetBuffer(id); void* packet_pointer = receive_packet_buffer_->GetBuffer(id);
scoped_refptr<Var> packet_var( scoped_refptr<Var> packet_var(
PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferVar(packet_size, PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferVar(packet_size,
packet_pointer)); packet_pointer));
received_packets_.push(packet_var); received_packets_.push(packet_var);
// Mark shared memory as available for next packet
Post(BROWSER, PpapiHostMsg_VpnProvider_OnPacketReceivedReply(id));
if (!TrackedCallback::IsPending(receive_packet_callback_) || if (!TrackedCallback::IsPending(receive_packet_callback_) ||
TrackedCallback::IsScheduledToRun(receive_packet_callback_)) { TrackedCallback::IsScheduledToRun(receive_packet_callback_)) {
return; return;
...@@ -209,8 +176,9 @@ void VpnProviderResource::OnPluginMsgBindReply( ...@@ -209,8 +176,9 @@ void VpnProviderResource::OnPluginMsgBindReply(
} }
send_packet_buffer_ = base::WrapUnique(new ppapi::VpnProviderSharedBuffer( send_packet_buffer_ = base::WrapUnique(new ppapi::VpnProviderSharedBuffer(
queue_size, max_packet_size, std::move(send_shm))); queue_size, max_packet_size, std::move(send_shm)));
recv_packet_buffer_ = base::WrapUnique(new ppapi::VpnProviderSharedBuffer( receive_packet_buffer_ =
queue_size, max_packet_size, std::move(receive_shm))); base::WrapUnique(new ppapi::VpnProviderSharedBuffer(
queue_size, max_packet_size, std::move(receive_shm)));
bound_ = (result == PP_OK); bound_ = (result == PP_OK);
} }
...@@ -222,7 +190,7 @@ void VpnProviderResource::OnPluginMsgBindReply( ...@@ -222,7 +190,7 @@ void VpnProviderResource::OnPluginMsgBindReply(
void VpnProviderResource::OnPluginMsgSendPacketReply( void VpnProviderResource::OnPluginMsgSendPacketReply(
const ResourceMessageReplyParams& params, const ResourceMessageReplyParams& params,
uint32_t id) { int32_t id) {
if (!send_packets_.empty() && bound_) { if (!send_packets_.empty() && bound_) {
// Process remaining packets // Process remaining packets
DoSendPacket(send_packets_.front(), id); DoSendPacket(send_packets_.front(), id);
......
...@@ -49,7 +49,7 @@ class PPAPI_PROXY_EXPORT VpnProviderResource ...@@ -49,7 +49,7 @@ class PPAPI_PROXY_EXPORT VpnProviderResource
uint32_t max_packet_size, uint32_t max_packet_size,
int32_t result); int32_t result);
void OnPluginMsgSendPacketReply(const ResourceMessageReplyParams& params, void OnPluginMsgSendPacketReply(const ResourceMessageReplyParams& params,
uint32_t id); int32_t result);
// Browser callbacks // Browser callbacks
void OnPluginMsgOnUnbindReceived(const ResourceMessageReplyParams& params); void OnPluginMsgOnUnbindReceived(const ResourceMessageReplyParams& params);
...@@ -76,7 +76,7 @@ class PPAPI_PROXY_EXPORT VpnProviderResource ...@@ -76,7 +76,7 @@ class PPAPI_PROXY_EXPORT VpnProviderResource
PP_Var* receive_packet_callback_var_; PP_Var* receive_packet_callback_var_;
std::unique_ptr<ppapi::VpnProviderSharedBuffer> send_packet_buffer_; std::unique_ptr<ppapi::VpnProviderSharedBuffer> send_packet_buffer_;
std::unique_ptr<ppapi::VpnProviderSharedBuffer> recv_packet_buffer_; std::unique_ptr<ppapi::VpnProviderSharedBuffer> receive_packet_buffer_;
std::queue<PP_Var> send_packets_; std::queue<PP_Var> send_packets_;
std::queue<scoped_refptr<Var>> received_packets_; std::queue<scoped_refptr<Var>> received_packets_;
......
...@@ -11,7 +11,7 @@ VpnProviderSharedBuffer::VpnProviderSharedBuffer( ...@@ -11,7 +11,7 @@ VpnProviderSharedBuffer::VpnProviderSharedBuffer(
uint32_t packet_size, uint32_t packet_size,
std::unique_ptr<base::SharedMemory> shm) std::unique_ptr<base::SharedMemory> shm)
: capacity_(capacity), : capacity_(capacity),
max_packet_size_(packet_size), packet_size_(packet_size),
shm_(std::move(shm)), shm_(std::move(shm)),
available_(capacity, true) { available_(capacity, true) {
DCHECK(this->shm_); DCHECK(this->shm_);
...@@ -44,11 +44,11 @@ void* VpnProviderSharedBuffer::GetBuffer(uint32_t id) { ...@@ -44,11 +44,11 @@ void* VpnProviderSharedBuffer::GetBuffer(uint32_t id) {
NOTREACHED(); NOTREACHED();
return nullptr; return nullptr;
} }
return reinterpret_cast<char*>(shm_->memory()) + max_packet_size_ * id; return reinterpret_cast<char*>(shm_->memory()) + packet_size_ * id;
} }
base::SharedMemoryHandle VpnProviderSharedBuffer::GetHandle() { base::SharedMemoryHandle VpnProviderSharedBuffer::GetHandle() {
return shm_->handle(); return shm_->handle();
} }
} // namespace ppapi } // namespace ppapi
\ No newline at end of file
...@@ -23,17 +23,14 @@ class PPAPI_SHARED_EXPORT VpnProviderSharedBuffer { ...@@ -23,17 +23,14 @@ class PPAPI_SHARED_EXPORT VpnProviderSharedBuffer {
void SetAvailable(uint32_t id, bool value); void SetAvailable(uint32_t id, bool value);
void* GetBuffer(uint32_t id); void* GetBuffer(uint32_t id);
base::SharedMemoryHandle GetHandle(); base::SharedMemoryHandle GetHandle();
uint32_t max_packet_size() { return max_packet_size_; }
private: private:
uint32_t capacity_; uint32_t capacity_;
uint32_t max_packet_size_; uint32_t packet_size_;
std::unique_ptr<base::SharedMemory> shm_; std::unique_ptr<base::SharedMemory> shm_;
std::vector<bool> available_; std::vector<bool> available_;
DISALLOW_COPY_AND_ASSIGN(VpnProviderSharedBuffer);
}; };
} // namespace ppapi } // namespace ppapi
#endif // PPAPI_SHAERD_IMPL_VPN_PROVIDER_UTIL_H_ #endif // PPAPI_SHAERD_IMPL_VPN_PROVIDER_UTIL_H_
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment