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

Side by Side Diff: chrome/browser/chrome_plugin_host.cc

Issue 306032: Simplify threading in browser thread by making only ChromeThread deal with di... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: a few more simplifications Created 11 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/browser/chrome_plugin_host.h" 5 #include "chrome/browser/chrome_plugin_host.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 717 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 CPError STDCALL CPB_SendSyncMessage(CPID id, const void *data, uint32 data_len, 728 CPError STDCALL CPB_SendSyncMessage(CPID id, const void *data, uint32 data_len,
729 void **retval, uint32 *retval_len) { 729 void **retval, uint32 *retval_len) {
730 NOTREACHED() << "Sync messages should not be sent from the browser process."; 730 NOTREACHED() << "Sync messages should not be sent from the browser process.";
731 731
732 return CPERR_FAILURE; 732 return CPERR_FAILURE;
733 } 733 }
734 734
735 CPError STDCALL CPB_PluginThreadAsyncCall(CPID id, 735 CPError STDCALL CPB_PluginThreadAsyncCall(CPID id,
736 void (*func)(void *), 736 void (*func)(void *),
737 void *user_data) { 737 void *user_data) {
738 MessageLoop *message_loop = ChromeThread::GetMessageLoop(ChromeThread::IO); 738 bool posted = ChromeThread::PostTask(
739 if (!message_loop) { 739 ChromeThread::IO, FROM_HERE,
740 return CPERR_FAILURE; 740 NewRunnableFunction(func, user_data));
741 } 741 return posted ? CPERR_SUCCESS : CPERR_FAILURE;
742 message_loop->PostTask(FROM_HERE, NewRunnableFunction(func, user_data));
743
744 return CPERR_SUCCESS;
745 } 742 }
746 743
747 CPError STDCALL CPB_OpenFileDialog(CPID id, 744 CPError STDCALL CPB_OpenFileDialog(CPID id,
748 CPBrowsingContext context, 745 CPBrowsingContext context,
749 bool multiple_files, 746 bool multiple_files,
750 const char *title, 747 const char *title,
751 const char *filter, 748 const char *filter,
752 void *user_data) { 749 void *user_data) {
753 NOTREACHED() << 750 NOTREACHED() <<
754 "Open file dialog should only be called from the renderer process."; 751 "Open file dialog should only be called from the renderer process.";
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 void CPHandleCommand(int command, CPCommandInterface* data, 814 void CPHandleCommand(int command, CPCommandInterface* data,
818 CPBrowsingContext context) { 815 CPBrowsingContext context) {
819 // Sadly if we try and pass context through, we seem to break cl's little 816 // Sadly if we try and pass context through, we seem to break cl's little
820 // brain trying to compile the Tuple3 ctor. This cast works. 817 // brain trying to compile the Tuple3 ctor. This cast works.
821 int32 context_as_int32 = static_cast<int32>(context); 818 int32 context_as_int32 = static_cast<int32>(context);
822 // Plugins can only be accessed on the IO thread. 819 // Plugins can only be accessed on the IO thread.
823 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE, 820 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE,
824 NewRunnableFunction(PluginCommandHandler::HandleCommand, 821 NewRunnableFunction(PluginCommandHandler::HandleCommand,
825 command, data, context_as_int32)); 822 command, data, context_as_int32));
826 } 823 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698