Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: content/renderer/npapi/webplugin_delegate_proxy.cc

Issue 1154613006: Update pepper to not assume that SharedMemoryHandle is an int. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Another nits pass. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/npapi/webplugin_delegate_proxy.h" 5 #include "content/renderer/npapi/webplugin_delegate_proxy.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 if (render_view_) 491 if (render_view_)
492 render_view_->PluginFocusChanged(false, instance_id_); 492 render_view_->PluginFocusChanged(false, instance_id_);
493 #endif 493 #endif
494 } 494 }
495 495
496 static void CopySharedMemoryHandleForMessage( 496 static void CopySharedMemoryHandleForMessage(
497 const base::SharedMemoryHandle& handle_in, 497 const base::SharedMemoryHandle& handle_in,
498 base::SharedMemoryHandle* handle_out, 498 base::SharedMemoryHandle* handle_out,
499 base::ProcessId peer_pid) { 499 base::ProcessId peer_pid) {
500 #if defined(OS_POSIX) 500 #if defined(OS_POSIX)
501 // On POSIX, base::ShardMemoryHandle is typedef'ed to FileDescriptor, and 501 *handle_out = base::SharedMemory::DeepCopyHandle(handle_in, true);
502 // FileDescriptor message fields needs to remain valid until the message is
503 // sent or else the sendmsg() call will fail.
504 if ((handle_out->fd = HANDLE_EINTR(dup(handle_in.fd))) < 0) {
505 PLOG(ERROR) << "dup()";
506 return;
507 }
508 handle_out->auto_close = true;
509 #elif defined(OS_WIN) 502 #elif defined(OS_WIN)
510 // On Windows we need to duplicate the handle for the plugin process. 503 // On Windows we need to duplicate the handle for the plugin process.
511 *handle_out = NULL; 504 *handle_out = NULL;
512 BrokerDuplicateHandle(handle_in, peer_pid, handle_out, 505 BrokerDuplicateHandle(handle_in, peer_pid, handle_out,
513 FILE_MAP_READ | FILE_MAP_WRITE, 0); 506 FILE_MAP_READ | FILE_MAP_WRITE, 0);
514 DCHECK(*handle_out != NULL); 507 DCHECK(*handle_out != NULL);
515 #else 508 #else
516 #error Shared memory copy not implemented. 509 #error Shared memory copy not implemented.
517 #endif 510 #endif
518 } 511 }
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
1235 1228
1236 plugin_->URLRedirectResponse(allow, resource_id); 1229 plugin_->URLRedirectResponse(allow, resource_id);
1237 } 1230 }
1238 1231
1239 void WebPluginDelegateProxy::OnCheckIfRunInsecureContent(const GURL& url, 1232 void WebPluginDelegateProxy::OnCheckIfRunInsecureContent(const GURL& url,
1240 bool* result) { 1233 bool* result) {
1241 *result = plugin_->CheckIfRunInsecureContent(url); 1234 *result = plugin_->CheckIfRunInsecureContent(url);
1242 } 1235 }
1243 1236
1244 } // namespace content 1237 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698